If you work with projects like jBPM, Drools, OptaPlanner and Kogito, or enterprise products like Red Hat Process Automation Manager (a.k.a. RHPAM) and Red Hat Decision Manager (a.k.a. RHDM) there is a high probably that you saw “KIE” somewhere. Either in APIs, package names, communities, etc. So let’s take some time to clarify what is KIE.
Understanding what is KIE will unlock your understanding on how to mix and match these projects in a natural way and deliver reliable and production-ready solutions for several business automation scenarios.
Let’s define what KIE is and what it is not.
What KIE isn’t:
It’s not a project. Not an organization. Not a group of people. It isn’t owned by any specific company.
What KIE is:
KIE stands for Knowledge Is Everything.
- An umbrella, an ecosystem for open-source projects focused on business automation (process automation, decision automation, resource planning and optimization, and such).
- As of today (Apr, 2022), projects like jBPM, Drools, OptaPlanner and Kogito are all under this same umbrella. This allows them to fit well together with a good developer and user experience. This umbrella is called KIE.
- KIE projects are backed mainly by Red Hat, the biggest open source organization in the globe, who seeks to empower these projects open culture and capabilities.
Strengthened over more than ten years, this business automation ecosystem have nurtured a healthy group of active users and enthusiasts, the KIE Community.
The KIE Community
In the beginning, each project within KIE had its own separate communities and groups. With an increasing number of users, enthusiasts, contributors, experts and engineers working with these projects, there was a need for shared environment for these people. There was a need of a share space that should be safe, diverse and inclusive where everyone was welcome to ask questions, share knowledge, experiences and grow together.
The open culture nurtured the KIE community and shaped it. Today, people can be part of this open space through several communication channels:
- Zulip Chat: a real-time chat where the community is welcome to join and follow several discussions around the project development. According to our open culture, in 2020 we decided to switch IRC for another public and open platform to communicate and chat with the community;
- Mailing groups: each project has its mailing lists to address from simple to complex discussions with other community members from all over the world; You can find the addresses in each projects’ page.
- @KIECommunity Twitter: the most recent news are pushed out through this account. Be the first to know whenever a new project version is out there, new blog posts about things that are yet to come, videos, tutorials and much more.
- GitHub: every single line of code is currently open source. Check it out and feel free to contribute!
What type of content can you find within KIE?
Until this moment, Apr 2022, the KIE landscape is based in three main pillars:
- Process Automation and Case Management: covers business processes and case management. Allows for the automation of long-running processes, straight-through processes, flexible processes (ad-hoc) and much more. Full lifecycle for human tasks and support for complex process instance migration with increased flexibility. Allows creation of business dashboards with real-time data from the tracked KPIs.
- Business rules and Decision management: covers a set of tools that supports rules development either through code or graphical interfaces and an engine with special algorithms that can evaluate a huge number of rules really fast and with less resource consumption. Use cases like complex event processing are also part of this pillar.
- Resource planning and optimization: covers diverse way to adress and deliver the best possible solutions to planning problems that are (still today) impossible for one to identify the “best solution”. These are also known as np-complete types of problems. In simple terms, it covers use cases where there’s a need to optimize goals, with limited resources and under certain constraints. Examples of use cases are employee rostering, vehicle routing, maintenance scheduling and task assignment.
Within this landscape, you can find multiple technologies that have matured over the years and been used in production in multiple organizations:
For more information about each of these projects feel free to check out the respective project pages plus the content available across the multiple kie community channels mentioned previously.
The power of open source communities
Now, because all these projects are hosted under a same community, they have the opportunity to leverage capabilities from each other, allowing powerful technologies to be built for each individual use case. Let me give a couple of examples:
- Processes (traditional bpmn) can include business rules tasks on top of a highly performant and powerful rules engine to execute and run any business rules tasks; Such business rules can be deployed in the same project or completely independently;
- Every evolution of the drools engine can be leveraged by business processes including support for executing predictive models, DMN specification, explainability (XAI), and more;
- The constraint solver can offer along with other option, the possibility of using drools rules engine for a performant score calculation; Users can choose to write rules with multiple languages, including DRL;
- Business Processes frequently rely on human tasks that are assigned to groups. These type of tasks will generally wait for users to see the task in a task list and it. This is what is called task assignment problem, and it is a resource planning that we can easily address with OptaPlanner.
- Business rules can be developed in a sequenced manner when joining the processes capabilities of jBPM and drools. With this, rules can be triggered by a ruleflow, a business process diagram logically representing and executing the rule groups based on a domain-based organization paradigm.
Open-source communities are powerful in many ways, and the KIE Community represents this very well by being able to:
- Grow enterprise level open source projects over decades;
- Nurturing the engagement in multiple fields of knowledge (multiple business automation specialties);
- Multiple types of professional engagement (developers, architects, consultants, sales architects, business analysts, business experts and more)
- Allowing for knowledge exchange between everyone, everywhere, from beginners to experts;
If you want to learn more about this community, or even, learn about the interesting aspects of an open source community, feel free to reach out!