Data

SmartObjects are used to create the Data elements of a K2 Application. These SmartObjects allow your K2 Application to interact with SharePoint as well as other LOB systems.

Understanding SmartObjects

SmartObjects are a middle layer between SharePoint and consuming applications such as user interfaces and workflows. The purpose of the SmartObject component is to allow organizations to create re-usable objects, which can then be consumed by various technologies. Because SmartObjects are consistent and hide all the integration logic behind the scenes, it is very easy for designers and developers to interact with back-end systems without needing to know anything about those systems.

The SmartObject component acts like a translator, so that the consuming applications do not need to understand how to query a web service and a database to aggregate information about an employee, for example. Instead, these applications just ask the SmartObject to list information, and K2 will retrieve that information from the underlying systems using some technical integration points to access the external system. The communication is two-way: this means that SmartObjects can be used to read and write information to the underlying systems. Authentication and authorization mechanisms are in place to ensure that only authorized users are allowed to read or update data.

SmartObject Data Provider Options

SmartObjects can be created or generated from many different LOB systems and then used when designing forms and workflows. K2 provides a set of default SmartObjects during installation and when registering the K2 App on a Site, and Application designers can use tools like K2 Designer to create SmartObjects against any Service Instance that has been registered on the K2 environment.

In K2 blackpearl, it is even possible for developers to write custom SmartObject brokers to expose other systems that are not exposed by K2 out-of-the box, and these custom brokers can then be used just like any other service instance to create re-usable SmartObjects.

Examples of some of the SmartObject data sources that are supported by K2 out-of-the box include: