Building a BPMS Web Application Part 1: Code Generation

(This article assumes some basic knowledge of the JBoss BPM Suite including using Business Central.)

In a previous article, I described how to use the new jBPM Form API to build a BPMS web application. I also outlined a different approach in which code generation can be used to replicate the forms to the web application using the form metadata on the BPMS Execution Server. Although I provided a link to my OpenShift implementation of such a BPMS web application, the technical details on how this is achieved is still scarce. This article remedies that. Here is a recap on why we want to build a web front end to a business process. BPMS forms are generated and customised by business analysts when they create business processes. Few customers use the forms on the BPMS Execution Servers. They prefer to build a web application that interacts with the business process remotely running on a BPMS Execution Server so that fine-grained access control, consistent look-and-feel and better client interaction can be achieved. One way to do this is by using the new jBPM Form API and the other way is to use code generation to replicate the forms using the form metadata. Continue reading Building a BPMS Web Application Part 1: Code Generation

Robot Programming using JBoss BRMS

One of my hobbies is building robots. After programming several robots, I say to myself: there’s got to be a better way of doing this. You program the behaviour of a robot using a micro-controller. Every time you want to make a change, you have to re-flash the on-board non-volatile flash memory. If you compare this practice with enterprise applications, it is similar to that of many older enterprise applications which embed business logic in code. The solution is to move the embedded business logic (in our case, the robot behaviours programmed on micro-controller) out to be managed and executed by a business rules engine. This is exactly what I did. And I call my robot CepBot. Continue reading Robot Programming using JBoss BRMS