K2 is a platform used for Digital Process Automation (Business Process Management) to automate business processes or workflows. For a long time, K2 has had a strong alignment to Microsoft’s products, especially SharePoint. Now K2 is no longer marketed as a product tied to Microsoft, but rather a business process automation platform for various industry niches: healthcare, finance, legal, public sector, manufacturing and much more.
K2 enables tech-savvy business users to automate and transform the business processes through building low-code applications and creating intuitive forms and workflows that accelerate your business processes, strategy and enhance efficiency.
K2 offers on-premise installations (K2 Five) and cloud-based (K2 Cloud) subscriptions with workflow, data and forms being the core of its benefits.
K2 process can be divided into 3 major components:
Major K2 business applications usually consist of three parts:
K2 SmartForms allow you to create line-of-businesses processes that capture data. For example, Leave Details in Leave Request.
The captured data should be stored in a database. K2 can interact with almost every data source like SQL, Oracle or web service.
A workflow is a logical representation of steps that need to be performed in the process. As with the example of the leave request, 1st step could be the approval by the manager and the 2nd step could be the approval by an HR.
K2 connects with other systems through Service Brokers. Service broker acts as a ‘translator’. You can register service instances and create SmartObjects from Service Broker. SQL Server is an example of K2 provided service broker, you can register service instances of databases using the SQL Server service broker and create SmartObject out of the tables or views or stored procedures.
SmartObject is an intermediate layer between Data provider and Data consumer.
As every organization out there has its own unique needs that can be critical to the business processes, out-of-the-box software might not deliver all the necessary capabilities. There will always be those missing critical business features, which might either force you to heavily customize whatever is available or get you thinking about custom software development.
A low code platform like K2 delivers the opportunities to develop business applications without in-depth programming knowledge.
“K2 Five (the on-premises deployment of K2) is ideal for enterprise customers that have the desire and resources to control their deployment. The on-prem nature of the deployment lends itself to integration with other on-prem software, so if you have a bunch of local services, databases, and/or custom solutions already behind your firewall, you’ll find it easier to connect everything and automate it using K2,” says Nathaniel Richards from Entrance Consulting.
K2 features connectors that allow to use the backend systems as SmartObjects and provide an option to write custom Service Brokers for your organization’s unique needs to connect to LOB systems that are not offered out-of-the-box by K2.
SQL Server is an example of K2 provided service broker: you can register service instances of databases using the SQL Server service broker and create SmartObject out of tables or views or stored procedures.
Service broker is a .dll file that has logic to interact with an external system that could be SuccessFactor, SAP, Mongo DB or Web Services. Service broker has logic that describes how to call the database or web service or any other system. A service needs to be registered for each entity using a service broker.
For example, the EndPoints WebService Service Broker allows K2 to interact with web services, while an Instance of the EndPoints Web Service must be configured to allow K2 to connect to a specific Web Service.
SmartObjects are created from Service Instance.
Some examples of Service Brokers provided by K2 out-of-the-box include:
‘The most powerful aspect of K2 is the service brokers. Aside from dozens of pre-built integrations, the ability to create your own brokers allows the platform to adapt to just about any situation. In a short amount of time, we were able to create a broker that integrated with the Alfresco REST API. Our K2 forms developers, who had never used Alfresco before, were able to upload documents to the document management system the same way they would interact with SQL Server.’ says Scott Thompson, CTO from Tricension, one of the leading software development companies based in Kansas City.
Custom service brokers are the best part of K2: you can extend or customize the K2 platform according to your needs. When there is the logic for the service broker, you can write your service broker and create SmartObject.
Service Brokers are written in C#.Net. You need to create a class library inheriting ServiceAssemblyBase class: write your logic and then build the class library that will provide the .dll file of your logic. Register the Service type using the service tester utility and the service instance.
SmartObjects mainly work as a data entity for SmartForms or workflows. SmartObjects have properties and methods to connect data providers and data consumers.
For example, an SQL table has an employee table with columns EmpID, EmpName, Email.
Using service tester utility we can create SmartObject of that table. The service broker will generate the columns as properties of the SmartObject.
SmartObjects can be called in SmartForm or workflow through K2 wizards. K2 wizards allow you to execute a SmartObject’s method and map the controls in SmartForm with SmartObjects property. Service broker then translates the methods and performs the action (insert data in the table, read data, or update the data).
You can create workflows using K2 designer. There are standard events available to create a task for user, integrate with SmartForm or another UI so that approver can open a task in web form. There are other events available like send email event to notify someone or user group, SmartObject event to execute a SmartObject method.
K2 is a versatile platform which delivers solutions to a wide range of organizations when it comes to BPA in a wide range of industries.
The on-premise deployment of K2 can integrate with the already existing data source, services, and technology you are currently using. For instance, your organization uses SharePoint library to upload files of a project, while maintaining other project related data in SAP. Moreover, you are using SuccessFactor to maintain HR-related employee details.
A K2 workflow can be created using all these three systems. For instance, a Key Account Manager wants to get some project related data modified in SAP with the approval of his manager. Then a workflow can be created which will get requester data (Name, email, ManagerName, Manager email) from SuccessFactor, and can get existing project-related data from SAP, add new details, attach a file that needs to be uploaded in SharePoint library and send it to the manager for approval.
‘One customer that we worked with used K2 Five to automate their purchase order request, review, approval, and receipt process. It integrated with their self-hosted accounting software and a custom ERP they had built. The end result of implementing forms and workflows to automate this process was a significant decrease in the time (both people hours and calendar days) from when project funding was requested to when materials were on the job site and when the firm was reimbursed. That means a more effective project team, a reduction in outstanding receivables, an increase in cash flow, and an increase in overall profit since fewer reimbursements fell through the cracks.’ says Nathaniel Richards from Entrance Consulting.
Although K2 can deliver plenty of benefits, consider the needs and goals that you are planning to address with K2 and what processes need the improvement. Consider if you have sufficient resources for the initial rollout. K2 will provide your company with a strong platform that will drive process improvement, innovation, and help you execute the most beneficial business and digital strategies.