Tuesday, November 4, 2014

JBoss BPMS Success Stories (and other fairytales)

This year's EclipseCon Europe was held, as always, in Ludwigsburg Germany. Featured for the first time this year at the Ludwigsburg event was the UnConference - essentially a collection of presentations and discussions targeted at Eclipse Working Groups. Of course the SOA project was well represented at BPM Day with several interesting talks by Marc Gille, Adrian Mos, Priska Buri, Gregor Gisler, Rodrigue Le Gall and, of course, yours truly.

My presentation begins with a short overview of BPM Suite, and how it was used to meet real life challenges in different vertical markets. I conclude with a preview of what's new in jBPM version 6 and what's on the horizon for JBoss middleware technologies. The presentation is called “Customer Success Stories and other fairytales” because when I asked our Solution Architects to share some of their success stories, they agreed under the conditions that I not mention certain of our customers’ names, and I was not allowed to present any details of their internal business processes.

Adrian's presentation, "From Domain Specific Process Design and Back" was particularly interesting to me. The premise is that the people that are most familiar with how their business is run, are typically not familiar with the technology required to automate their business processes, and will need to turn to an external group (or their internal IT department) for help. The technologist must first learn the language of the business through a series of meetings with the various stakeholders. These kinds of discussions usually involve whiteboard drawings, with boxes and circles and arrows. Eventually a kind of graphical language evolves, which captures the artifacts, resources and participants in the business workflow. The question then becomes: how can we accurately translate the semantics of this domain-specific graphical language, to the language of the BPM execution engine?

Fortunately, all of the tools required to do this are already available in the open source community. In his presentation, Adrian points out that a graphical editor capable of creating drawings that capture the semantic in the domain language, can be created in a matter of minutes using Sirius. The output from this editor is a text file that conforms to a Domain Specific Language (DSL) grammar which is easily defined by XText. This DSL can then be translated to BPMN2 (or any other execution language for that matter) using Mangrove. This completes the one-way translation from the graphical DSL to an executable language. The problem Adrian is still working on is the reverse translation from executable to DSL. While not a trivial problem, it should (theoretically) be possible to complete this round-trip, thus bridging the language gap.

Every year, Bonitasoft sponsors a one week long "think outside the box" event, where employees are asked to brainstorm ideas about which they are most passionate. Rodrigue Le Gall's presentation, "The BPM of Things" was a play on the "Internet of Things", or IoT, which also happened to be the hot-button topic of this year's EclipseCon event. Rodrigue predicted that in the year 2020, the number of connected, or "smart" objects, would exceed 80 Billion - nearly 9 times more than the number of smart phones in use on the planet. With all these smart devices on the planet, facilitating communications between them, and coordinating their individual or group behaviors could become problematic.

Rodrigue envisions the use of a BPM engine to orchestrate the interactions of these devices. As a proof of concept, he devised a "shared locker" - essentially a publicly accessible depot for exchanging physical goods or information (think of a public locker you might find in a train station or bus terminal.) The actual hardware bits included a Raspbery PI and some blinky lights to simulate the locking mechanism.

If you're interested in implementation details and motivation behind this very interesting topic, please have a look at the slide deck of Rodrigue's presentation:

Bpm of things or how to from rlg

Community interest in the Eclipse BPMN2 Modeler is growing steadily, and Gregor Gisler and the IT-Pearls team have made a significant contribution in the form of an extension plug-in that customizes the editor for Eclipse Stardust.This plugin has been on my list of things to do on a rainy weekend for quite a while now, but alas, I live in Colorado where we have an average of 300 days of sunshine per year ;)

Thanks Gregor, Stephan and especially Simon (who, as I understand it, did most of the heavy lifting.)


  1. Bob, you mention that "Gregor Gisler and the IT-Pearls team have made a significant contribution in the form of an extension plug-in that customizes the [Eclipse BPMN2 Modeler]."

    is that plugin a part of Stardust installation or is it available elsewhere?

  2. I know that ITPearls are planing on contributing their work to the Stardust project, but not sure when it will become available.