jBPM: Run it anywhere!
In this post we will discuss a bit of the BPM Suite from JBoss, the KIE Workbench, and its Remote API. This API allows for people to access the preconfigured, user managed runtime in the workbench to outside applications, through REST and JMS based APIs. It provides a great point of connection for any kind of application. But before we go into detail about how it is exposed, let’s discuss a bit about the KIE Workbench tool and what it provides to us
Managing BPM (and beyond) with the KIE Workbench
The KIE Workbench gets its name from the phrase “Knowledge Is Everything”. This means that the suite is not just focused on providing BPM editors and runtimes to the end user, but any kind of knowledge representation that helps the user and the company grow its knowledge base. This includes busines rules, business processes, BPM connector interfaces, decision tables, data models, test cases, scorerards, and it will continue growing to include even more knowledge representations in the future.
This means that any form of business expert won’t be limited to just one tool, like other BPM tools, but it will have a whole toolbox to work with.
These types of knowledge are grouped together in project structures based on Maven, and versioned using a Virtual File System based on Git SCM. These tools allow for the projects exposed in this project to be easily integrated in the Continuous Delivery Cycle of any company, allowing for changes to be tested as thoroughly as possible whenever a change is done to the knowledge base.
And defining knowledge up to the point of being production ready is not the end of this tool, but it also provides a runtime environment where we can use those processes, it’s internal tasks, and run everything together:
But the purspose of this post is not to give an introduction of the tool, but to concentrate on the different ways this tool is exposed to other types of application. So let’s get on with that 🙂
Not just a Java tool
Thanks to the Remote API we mentioned at the beggining of this post, all these runtime tools are exposed to external applications. There are a lot of client applications to show how to access this remote api using Java tools, but there wasn’t one to show how to do it from a plain application. That’s where we come in
Running outside of Java
In this URL, you can find a small set of PHP scripts that work based on the jBPM6 Developer Guide runtime configuration, but outside its runtime completely. You can easily install yourself a KIE Workench by running the following script:
git clone https://github.com/marianbuenosayres/jBPM6-Developer-Guide.git cd jBPM6-Developer-Guide/chapter-04/kie-wb-installer mvn clean install exec:exec
If you wish to access another instalation of the KIE Workbench, simply edit the define commands in the connect.php file:
define ('jbpm_host', 'localhost:8080'); define ('jbpm_rest_url', 'http://'.jbpm_host.'/kie-wb/rest'); define ('login_user', 'mariano'); define ('login_pass', 'mypass');