Drools is an open source rules expert engine and today the Drools co-founder and platform architect Mark Proctor from Red Hat gave an overview of the future of the KIE (Knowledge Is Everyhting) family. I'll cover only a subset of what Mark covered, be sure to check out his slide deck for more details.
UI and UX
With the recent addition of a dedicated User Experience and Design (UXD) team and full adoption of PatternFly for consistent and polished theming the UI is looking better than ever. The UXD team has been working on creating personas for different use cases ranging from developers to project managers. The latest release will be targeting GWT 2.8 which will continue to bring outstanding efficiency in designing the frontend to the primarily Java based team. The Errai framework built on top of GWT brings extended benefits to the ecosystem rounding out some of GWT's rough edges. Uberfire will continue to be used and enhanced to provide perspectives, screens, page composition, security, permissions and more on top of Errai to help Business Central provide a rich user interface and experience.
Bootstrap grid views for building custom forms brings responsiveness and consistent styling to your task forms. This allows for stylized user interfaces to be developed and maintained within the system and used for process and rule interaction.
Deployment
In the upcoming release of Drools you will be able to deploy applications directly to target environments such as OpenShift and WildFly. This allows your application with minimal code, which can now be comprised of just some Data Models and forms, to run directly on OpenShift or WildFly with no extra configuration! KIE will create all the glue code and use your custom forms to create and deploy a webapp. Look to more automatic application generation features coming in the future.
Engine Enhancments
The engine enhancement that Mark covered are numerous and broad in coverage, I won't try to enumerate them all here. Two that stood out to me are the aggregate decision tables and thread safety updates. A new decision table editing UI has been created that will infinitely scale and can even compose decision tables to represent more complex rules than ever before.
In previous versions of Drools, there existed a lot of synchronization code in many places and behavior was unreliable. To address this the team has re-factored the main engine and introduced a state machine at its core. This allowed one point of synchronization (a propagation queue) which simplifies the design and even added some performance benefits.
Rule Authoring
There are several new rule authoring languages that are under development to ease the creation and management of rule assets. OOPath is a way to infer and analyze conditions over object graphs! The Drools engine uses Java POJOs for its facts. Often rule authors find themselves writing boilerplate code to traverse the object graph in order to find the relevant field values. The new OOPath features provide an XPath like method of traversing a complicated object graph to ease rule authoring. POJO rules is another method being introduced that provides technical stakeholders a Java fluent API for creating rules. These rules will not even need to be compiled! Lastly, the team is looking at DRLX as an evolution and eventual replacement of DRL for general rule writing.
So many changes coming quickly from the Drools team, keep your eyes on the KIE family to take advantage of the latest and greatest in business rule and process management.
Last updated: January 22, 2024