Many things are changing for Drools 6.0. Along with the functional and feature changes we have restructured the Guvnor github repository to better reflect our new architecture. Guvnor has historically been the web application for Drools. It was a composition of editors specific to Drools, a back-end repository and a simplistic asset management system.
Things are now different.
For Drools 6.0 the web application has been extensively re-written to use
UberFire that provides a generic Workbench environment, a Metadata Engine, Security Framework, a VFS API and clustering support.
Guvnor has become a generic asset management framework providing common services for generic projects and their dependencies. Drools use of both UberFire and Guvnor has born the Drools Workbench.
A picture always helps:
UberFire is the foundation of all components for both Drools and jBPM. Every editor and service leverages UberFire. Components can be mixed and matched into either a full featured application of used in isolation.
Guvnor adds project services and dependency management to the mix.
At present Guvnor consists of few parts; being principally a port of common project services that existed in the old Guvnor. As things settle down and the module matures pluggable workflow will be supported allowing for sensitive operations to be controlled by jBPM processes and rules. Work is already underway to include this for 6.0.
Both Drools and jBPM editors and services share the need for a common set of re-usable screens, services and widgets.
Rather than pollute Guvnor with screens and services needed only by Drools and jBPM this module contains such common dependencies.
It is possible to just re-use the UberFire and Guvnor stack to create your own project-based workbench type application and take advantage of the underlying services.
Drools Workbench (drools-wb)
Drools Workbench is the end product for people looking for a web application that is composed of all Drools related editors, screens and services. It is equivalent to the old Guvnor.
Looking for the web application to accompany Drools Expert and Drools Fusion; an environment to author, test and deploy rules. This is what you’re looking for.
KIE Drools Workbench (kie-drools-wb)
KIE Drools Workbench (for want of a better name – it’s amazing how difficult names can be) is an extension of Drools Workbench including jBPM Designer to support Rule Flow.
jBPM Designer, now being an UberFire compatible component, does not need to be deployed as a separate web application. We bundle it here, along with Drools as a convenience for people looking to author Rule Flows along side their rules.
KIE Workbench (kie-wb)
This is the daddy of them all.
KIE Workbench is the composition of everything known to man; from both the Drools and jBPM worlds. It provides for authoring of projects, data models, guided rules, decision tables etc, test services, process authoring, a process run-time execution environment and human task interaction
KIE Workbench is the old Guvnor, jBPM Designer and jBPM Console applications combined. On steroids.
The World is not enough?
You may have noticed; KIE Drools Workbench and KIE Workbench are in the same repository. This highlights a great thing about the new module design we have with UberFire. Web applications are just a composition of dependencies.
You want your own web application that consists of just the Guided Rule Editor and jBPM Designer? You want your own web application that has the the Data Modeller and some of your own screens?
Pick your dependencies and add them to your own UberFire compliant web application and, as the saying goes, the world is your oyster.
Get ready to program in a whole new way!
Functional Programming in Java will help you quickly get on top of the new, essential Java 8 language features and the functional style that will change and improve your code. This short, targeted book will help you make the paradigm shift from the old imperative way to a less error-prone, more elegant, and concise coding style that’s also a breeze to parallelize. You’ll explore the syntax and semantics of lambda expressions, method and constructor references, and functional interfaces. You’ll design and write applications better using the new standards in Java 8 and the JDK.