Saturday, July 14, 2012

How to K2 - SmartObject and InfoPath Integration (part1)

This K2 blog series will explain how to leverage K2 Smart Objects technology to integrate with InfoPath 2010.

Part 1: explains the concept and idea behind the SmartObject technology
Part 2 and Part 3: demonstrate a simple Leave Request process using InfoPath and Smart Objects.

Understanding SmartObjects and ServiceObjects

A SmartObject is a virtual manifestation within the system of business entities that aggregate data across applications and Line-of-Business systems. SmartObjects are reusable objects that surface in K2 for Visual Studio, K2 Studio and K2 Workspace. SmartObjects are created in K2 Designer for Visual Studio and K2 Studio.

A smart object is a reusable component that can be used in he following components:
  • Workflows
  • Forms (e.g. InfoPath)
  • Reports (e.g. SSRS)
  • Information/Data

SmartObject Principles

In K2 a SmartObject is a realization of a class, representing a person, business unit or data silo that consists of data and the operations associated with that data.

The SmartObject consists of properties that define the object. For example an object would be an employee and the properties would be First Name, Last Name etc.
Properties are created manually when a user creates the SmartObject or they are retrieved via a service and the SmartObject is created to expose / surface the properties from the back end system.

SmartObject Methods

SmartObject methods are categorized into two types:
  • The Data Create / Save & Delete category. These method's are used to populate the K2 SmartObject with record instances
  • The Load / Get List category which retrieves record instances from the K2 SmartObject
Note: A SmartObject must have at least one method.

Service Objects

In today's IT environments enterprise information is never stored in one logical place but is rather stored in a combination of systems and applications.
K2 offers the tools to combine various business information accross different backend systems into a logical platform that maintains the business data. It utilizes services to expose an object and its methods.

These services are comprised of Service Instances and Service Objects. Service Instances represent the business object while the Service Objects represent the object's properties and methods.
Services allow business objects and methods available in the back end system to be manipulated by K2 blackpearl. K2 offers a set of services (APIs) that expose the definitions of SmartObjects stored in SmartBox for use in enterprise business applications and systems.
K2 SmartBox is the default back end system in K2 Blackpearls and stores business objects that do not exist in other backend systems

The next following diagram shows how multiple backend system data can be surfaced in a single logical entity and made accessible through the SmartObject API.

Source: K2 blackpearl 4.6.1 User Guide


In a nutshell the concept and idea behind a Smart Object is the realization and representation of a certain object where its properties can be located in different backend systems within an enterprise architecture. This distributed information can be surfaced in a single object which can then be used in a workflow, form or report. The object can be manipulated and the changes be pushed back via a set o services into the backend systems. Smart Objects offer an additional service layer that integrates into all K2 workflow tools and features.

The next part will explain how a smart object can be used in combination with an InfoPath form and a workflow.

We hope you enjoyed reading this article. If you have questions or further information please leave a comment.

No comments:

Post a Comment