Red Hat blog
Earlier this year, Red Hat Process Automation subscribers gained access to Kogito-based capabilities. This release was the first version of Red Hat Process Automation to introduce components of Kogito, an open source community project that seeks to create the next generation of business automation technology. Red Hat Process Automation has continued to expand its Kogito offerings per the platform’s latest update.
As a Kubernetes-native business automation tool, Kogito is designed to deliver powerful capabilities for building process- and rules-based applications natively in the cloud on a modern container platform.
While Kogito draws on capabilities of traditional business process management (BPM) and business rules management (BRM) systems, there are significant differences in how Kogito implements them compared to earlier generations of business automation software.
Kogito is built for Kubernetes
Process- and decision-based applications have traditionally been built and deployed on BPM and BRM systems, which renders the applications invisible to the host platform. The BPM and BRM systems are responsible for scheduling instances of the applications for execution, managing the application lifecycle, and coordinating the communication between them. This approach can be advantageous for business analysts and other non-technical professionals; however, due to their size and complexity these systems are not well-suited to benefit from the capabilities that cloud-native platforms provide.
Fig. 1: An example of a traditional BPM system. (Source)
Kogito enables greater flexibility and scalability by packaging process- and decision-based applications as containerized microservices with specialized, optimized runtimes that can be managed by Kubernetes alongside other containers in the application environment.
Kubernetes has visibility into these applications and is responsible for managing their lifecycle. Coordination and communication between applications can be managed by a Kubernetes messaging service, such as Red Hat AMQ streams or Istio service mesh.
Fig. 2: An example of a Kogito-based BPM system
Like its traditional BPM and BRM counterparts, Kogito draws on capabilities from the upstream Drools, jBPM and OptaPlanner communities and takes advantage of leading cloud-native technologies, including:
Kubernetes, which provides automatic, elastic scaling to accommodate massive workloads with optimum use of compute resources.
Quarkus, a full-stack, Kubernetes-native Java framework that has been optimized for memory density and rapid startup time, enables developers to build intelligent applications by implementing core logic in a more business-driven way.
Users and external applications interact with applications hosted on traditional BPMs and BRMs via predefined application programming interfaces (APIs) provided by the BPM or BRM system. These systems may publish APIs in a variety of ways, such as language-specific bindings, web services APIs with simple access protocol (SOAP), or representational state transfer (REST) endpoints.
Kogito generates a REST API for each process and decision application from the business model that describes its logic. This means that the APIs are tailored for each application and reflect the specific business function that the application implements. Domain-specific APIs present the business functions available, rather than requiring the user to understand the terminology and inner workings of the system.
Created for developers
Unlike traditional BPM systems, Kogito is squarely focused on helping developers build modern business automation applications as efficiently as possible. Kogito’s authoring tools are available as plug-ins for popular integrated development environments (IDEs), like VSCode, so developers can easily incorporate Kogito-powered models into their application code. These authoring tools seek to improve the developer experience when working with business automation, allowing users to:
Create projects from scratch using Apache Maven archetypes, a standard build tool for Java
Create business automation assets, such as decision and process models expressed in Decision Model Notation (DMN) and Business Process Model Notation (BPMN)
Build projects with a variety of CI/CD pipelines
Deploy projects as containerized applications on Kubernetes platforms like Red Hat OpenShift
With the introduction of Kogito-based capabilities, Red Hat is delivering a more comprehensive business automation portfolio that enables customers to preserve existing knowledge, investments and business models while building capabilities for a cloud-native, digitally transformed future.
The latest version of Red Hat Process Automation is available now. Customers can get the latest updates from the Red Hat Customer Portal.
About the author
Phil Simpson is a Product Manager at Red Hat, responsible for roadmap, go-to-market strategy and positioning for Red Hat’s business rules and business process management products. Simpson has extensive experience with business rules and BPM, having held senior product management roles at an early business-rules pioneer and senior marketing roles at several leading enterprise technology companies.