Let's take a big picture look at the K2 server architecture and how it is exposed via interfaces and APIs.
The first group of items represent the K2 host server service:
K2 uses SQL server for its own internal data storage, this is commonly called the K2 database. K2 also interacts with various identity providers as the user data datastore. Most commonly this is Active Directory but could also be things like Azure Active Directory, an SQL database, other custom identity providers, etc. Behind the scenes, the K2 authentication service uses security labels to authenticate and resolve users against identity providers, using a component known as a Security Provider or a User Manager.
The K2 Server with Hosted Services, databases and integration with identity providers
K2 interacts with third-party providers through Service Brokers. This is the foundation of K2 SmartObjects. K2 ships with a number of standard service brokers, but you can extend K2 by creating your own. Think of this as an “outgoing” interface that allows K2 to interact with other systems. There is usually cross-machine communication since the data providers are often located on other machines.
K2 communicates with external data providers through SmartObjects
K2 exposes a number of interfaces that allow APIs to interact with the K2 service. These may be raw sockets such as the 5555 and 5252 ports which you can only interact with through one of the APIs. Or you can interact with SmartObjects via web services using standard protocols such as HTTP over standard ports.
There are a number of assemblies and services that K2 provides that allows external code (or even K2’s own code) to interact with the K2 server and the hosted services. These are typically the APIs/Services you would use in your custom code to programmatically interact with K2.
K2's exposed interfaces (sockets), APIs and Services
Video | Links | Learn | Support |
No videos found for this article K2 on YouTube
No Additional links found for this article
No self-learning content for this article Try some scenarios...
No relevant support links available for this article
|