For 2012, we wanted to make a killer demonstration that was more accessible today - leveraging a core technology that is already officially supported - jBPM 5 in JBoss BRMS 5.3. The BPM landscape, normally only accessible by large corporations due to license costs and complex proprietary software offerings...is changing. This blog provides a high-level overview for the various elements that went into the making of the demonstration. We have already opensourced the codebase at JBoss Developer Framework (jdf).
Recording of the JBoss World 2012 Keynote on YouTube. The demonstration starts at 14:33.
- BPMN2 modeling (jBPM & Drools - BRMS 5.3)
- Mobile Tasks - HTML5 based task interactions (Aerogear)
- Enterprise Application Provisioning (AppBlade)
- Real-time web-based dashboard (Errai)
- Cloud/Platform-as-a-Service (OpenShift)
- Open Source - makes all of this technology more accessible to all developers
BPMN2 Web Designer
BPMN2 + Business Process, Rules & Events
With jBPM & Drools, we are able to model the core business logic via BPMN2 and a decision table using a web-based repository and modeling tool. This means the workflow and its associated rules can easily be changed, in production, without programming and without service disruption.
HTML5 + Cordova Application
HTML5, Apache Cordova & AppBlade
We then extended the business logic layer via RESTful services that were consumed by a HTML5 application wrapped with Apache Cordova and delivered via AppBlade - the application was to enable "employees" to use a simple catalog and shopping cart to order schwag (promotional items, giveaways), we had a little sales contest, encouraging audience members to pound in orders via the AppBlade provisioned application or the mobile web using their smartphone's browser.
Leaderboard - Errai-based Dashboard
As a live, audience-interactive demonstration, we needed a "dashboard" that could tell us, instantly, how a particular participant was performing - much like any organization would love to have to real-time analytics - we took advantage of Drools Fusion (BRMS 5.3), eventing and then leveraged Errai+GWT to push those events out to a waiting web browsers running on Linux, Mac and Windows. Our dashboard is also an HTML5 application that can leverage the current capabilities of advanced web browsers. This was a great risk - we had several hundred people in the audience, with a saturated WIFI and leveraging free resources at OpenShift. Our Errai-based Leaderboard turned out to be a huge hit! And it clearly demonstrates how the average web browser can be used for real-time process monitoring and it runs great on the iPad.
Not only do we believe that HTML5 and the explosion of mobile devices is having a profound impact on the BPM industry, PaaS, Platform-as-a-Service, will enable many more organizations who could not afford a large IT capital expenditure to roll-out a new system to leverage business rule and business process systems. We also needed to leverage the cloud for a purely practical reason - we were enabling random individuals using their 3G/4G (or conference WIFI) mobile devices - this meant the system had to have a public IP address - OpenShift was the answer.
We were doing a live, in-person event, where we required audience participation for the software to even function properly. No volunteers, software that was too hard to use or simply the lack of motivation, would have completely changed the dynamic of the demonstration. The leaderboard was the secret ingredient - players were able to see their name on the board and instantly see how their activities on their phones were impacting the business scenario. The concepts of gamification for BPM can obviously get much more sophisticated than what you see in our demo, however, the core concepts are there - make it competitive, recognize and reward the winner, build a team to play along and acknowledge and reward as many random players as possible - encouragement & motivation. Perhaps in a future version we would offer badges!
Not only is are the key products behind this demonstration open source, the actual demo code is itself also open source - we hope that many of you grab the codebase and run this same presentation at your local JUG - run it on OpenShift - have your audience break out their phones and give it a try!
A huge thank you to Kevin Conner who served as a our overall architect and engineering lead for the project. All of us took this project on knowing that the actual products upon which the demonstration was based was also being delivered in the same month. It was an exciting challenge and we had a fantastic team - now we get a weekend off and it is time to start planning our next crazy demo - bring on the robots and gesture UI. ;-)