K2 Hosted Services and APIs

Watch Video

The concepts in this diagram lay the foundation for the APIs and extension points that we will be covering in this course, and focuses more on the runtime aspects of the K2 platform and its APIs. This is not a comprehensive diagram of all available APIs or extension points available in the K2 platform.

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 database is not exposed for direct access, and any direct access or manipulation of this database is not supported, unless specifically instructed by K2 support.

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

K2 blackpearl Extensions2.2
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