Process Automation Platform, a (very) brief overview
This post aims at presenting a brief overview of our platform for process automation. After reading it, you will understand how we can help you boost the automation of processes in your company.
This post aims at presenting a brief overview of our platform for process automation. After reading it, you will understand how we can help you boost the automation of processes in your company.
What problem are we targeting?
In spite of the huge amount of money and effort that has been invested in IT solutions, the reality is that, for many companies, most of their critical business processes are still being conducted without the support of agile, modern, and user-friendly software systems. Have you ever heard about processes that are conducted through emails exchange, phone calls, and manual integration between systems?
This scenario may lead to several problems such as:
- Productivity: It is hard to understand how resources (humans and/or machines) are performing!
- Optimization: How can we improve processes if they are not explicit? It is hard to improve business operations without knowing bottlenecks, fail points, etc.
- Integration: executing system to system integrations via copy-paste, emails, text files, etc. is costly and error-prone.
- Accountability: it’s hard to pinpoint which resource (human/machine) is right when something wrong happened during the execution of a process.
I’ve just mentioned a few problems but I’m sure we can increase this list with many other issues and the most difficult should be to pick the one that affects your company the most. So, if you are facing problems like those in your company, you are not alone. It’s quite the opposite. We see these pains in almost every client that reaches us and we believe that the solution involves the automation and systematization of their processes.
How to solve such problems? Let’s build more KIPApps!
We believe that processes should be supported by specialized systems. In this context, a Process-Aware Information System (PAIS) fills this gap since it manages and executes operational processes involving people, applications, and information sources. PAIS requirements are described using process models such as BPMN, where activities, resources, decisions, events, and their relationships can be used to describe the flow of work. Thus, having the process model as a first-class citizen helps to solve natively most of the problems mentioned before. In our proposal, we took a step further and built a platform that supports the development of PAIS applications that execute on top of an open-source process engine. We name such a category of applications as KIPApp (which stands for Knowledge Intensive Process Application). Below you can see some views from a demo KIPApp named TravelPlan Application.
Our proposal for boosting the development KIPApps
We developed a platform, named Process Automation Platform (PAP), that allows us to build modern process-aware applications in a competitive way. Wait a minute, “modern process-aware application” and “competitive way”? Too good to be true right?! So let’s dive into this a little bit.
Modern Process-Aware Applications
Modern Process-Aware Applications are based on features (usually tasklist based) that allow authorized users to manage (execute, view, query, delegate, etc) their tasks and interact with the business processes seamlessly. It’s almost imperative that these applications should provide rich user interfaces (light, fast, and user-friendly) on top of a reliable and scalable software architecture focused on DevOps and cloud-native distribution, and easy integration with third-party applications.
Our KipApp is then based on one of the most modern tool stacks in the software industry: VueJS and Spring Boot.
Disclaimer: We don’t want to be too technical in this post. For that reason, we will only talk about two of the main technologies that compose our architecture.
VueJS is a front-end framework for building single-page applications that has many advantages such as: Simplicity, Component-based Architecture and Reusability, High performance, Vast Documentation, Cross-platform and Responsiveness, Vibrant Community, and Huge Ecosystem (there are many available components and libraries ready to use). Again, we don’t want to be too technical in this post (you can find a great article about VueJS here) but the message that we would like to give you here is that VueJS is such an amazing framework for building beautiful and modern web applications and that, along with Angular and React, VueJS represents almost the entire market share of solutions for this niche.
Spring Boot is a framework based on Java and Spring that is used to build the back-end layer of our applications and its benefits include: Fast and easy prototyping and development of backend services, Reduced amounts of source code, Many out-of-the-box functionalities, Simple setup and management, Large Ecosystem (since SpringBoot is ultimately a Java-based framework, there is almost certainly a library to do anything you might need one day. And if not, we can build it for you), Industry pattern and player, Easier to recruit and hire developers, Passionated community that supports the technology, and Many training programs focused on the technology. In case you are not familiar with Spring Boot and Java you can find a great article here.
Now that we talked about what we are developing (process-aware applications based on modern tools and frameworks) let me show you the best part: how we are building such applications in a competitive way.
In a competitive way: Kip4You Process Automation Platform (KIP4You PAP)
Our solution for building KIPApps is based on the AgileKIP Process Automation Platform, an open-source platform hosted by the AgileKIP Research Group. Our proposal extended the open-source platform and is composed of three components as depicted in the figure below:
- A Reference Architecture
- A Generator
- A Sofware Development Process
Reference Architecture
The reference architecture (RA) represents the backbone of a KIPApp and is composed of the following elements: Native Features, Extensions, and Connectors.
- Native Features are common features already provided by the reference architecture (that means you don’t have to repeat the code of these features in each KIPApp). Examples of native features include Advanced Task List, Start-Process, Process Instances Dashboard, Management of the deployed processes, User Management, etc.
- Extensions are components that allow seamless integration of the KIPApp with the Camunda process engine.
- Connectors are components that allow the application to quickly integrate with the external world. Examples of connectors include Email Connector used to automatically send email throughout the process execution, RestAPI Connector to integrate with other systems through Rest APIs, JMS Connector to carry out communication through messaging, AWS Connectors that allow integration with the main AWS services. The main idea behind these elements is to reuse the most common integration components through a sophisticated and highly configurable set of connectors.
Generator
The KIP4You Generator is a tool to quickly generate, develop, & deploy KIPApps. It’s an extension of the JHipster Generator (technically it’s a JHipster blueprint) that overrides many sub generators and provides its own templates and functionalities. The KIP4You Generator is a key tool in our solution because it accelerates the development process by scaffolding a huge amount of code that without the generator it would be coded manually.
SCRUB4PA
The SCRUB4PA (SCRUB for Process Automation) is a software development process that defines how we build a KIPApp. It is based on agile practices and encompasses Phases, Activities, Roles, Artifacts, Templates, and Tools used throughout the development of a KIPApp.
These three components together compose our Platform for Process Automation and allow us to build modern web applications in a competitive way.
PAP Timeline
The PAP was originally derived from an academic research agenda conducted by the AgileKIP Group that focuses on Knowledge Intensive Processes. In 2018, we released the first version of the platform (PAP 1.0) and in 2019 we conducted the first POC (Proof of Concept) in the industry. In 2020, we launched the second version of the platform (PAP 2.0) that has been used since then to automate dozens of processes. The third release of the platform (PAP 3.0) was just released and among the new features, we can mention the SCRUB4PU and support for modularization. But that’s a subject for another post.
Summary
The lack of proper systems to support the execution of organizational processes is still a problem present in many organizations and our mission at KIP4You is to help such companies by developing process-aware applications focused on their business. In this post, we presented a very brief overview of the KIP4You Process Automation Platform (PAP), a platform based on an open-source solution that boosts the development of a category of applications that we called KIPApp. Do not hesitate to contact us if you are interested in trying our platform for automating and systematizing your company’s critical processes. We are very excited about our solution and we look forward to having the opportunity to talk a little more about it.