Friday, July 20, 2012

Microsoft Academic Search Service Task – contributed by Saiful Omar


Our jBPM contributor Saiful Omar who also contributed the Designer Locking and Unlocking feature keeps doing a great job  and has also contributed an implementation of a service node for the Microsoft Academic Search.
This service node is now available in the jBPM community service repository and can easily be installed and used in your own business processes using the jBPM Web and Eclipse tooling. Here is a description of the service node inputs and outputs as well as information on how to obtain the free MAS AppID which is required to use the Microsoft Academic Search.



 Thank you, and keep up the good work !  Check out Tiho's blog for more screenshots and details !

Tuesday, July 17, 2012

The intelligent, integrated shipping company video

With jBPM now part of BRMS 5.3, they created a cool video about it.
This fun, easy-to-understand video illustrates how the combined business rules, business process and complex event processing capabilities of JBoss Enterprise BRMS can help shipping companies become intelligent, integrated enterprises.


It's a marketing video, don't expect anything technical ;)  I think it's fun to watch though !

Monday, July 16, 2012

jBPM Webinar today

In case you missed the emails, I'm doing a webinar presentation July 16th, 2012 on "jBPM 5: Build intelligent business processes".

Join this webinar to get the lowdown on jBPM 5 from Kris Verlaenen, Red Hat’s jBPM 5 project lead. While you’re at it, learn how to build intelligent business processes by leveraging the combined power of business rules, business events, and processes.

Popular jBPM 5, now part of JBoss Enterprise BRMS
jBPM 5—one of the most popular open source BPM/workflow solutions on the market — is being productized as part of JBoss® Enterprise BRMS, which injects intelligence into static business processes.
jBPM key functions and future direction
Adopted by many enterprises for its lightweight footprint, embeddable engine, and ease of use, jBPM takes these unique characteristics to the next level by adopting the popular BPMN 2 standard—the choice of standard for modeling and native execution. Check out this webinar to learn about jBPM 5’s key functions and future direction, including:
  • BPMN 2-based process modeling using rich web-based designer and Eclipse editor.
  • Human interaction based on the WS-HT standard.
  • Process monitoring and debugging.
  • Support plan through JBoss’ enterprise product.
Date: July 16, 2012
Time: 16:00 UTC / 12 noon (New York) / 6 p.m. (Paris) / 9:30 p.m. (Mumbai)
Length: 01:00
Language: English
Audience: Business and Technical

Wednesday, July 4, 2012

JBossWorld Keynote Demo

jBPM was a big part of the JBossWorld keynote demo this year!  The demo featured the JBoss Toy Store, a simple shopping cart application.  You could use your mobile device to order various products (from phones to shirts), and a jBPM process was used to handle and manage the orders, all running in the cloud (on OpenShift).

The full video of the keynote is available below (you can skip to 14min30 if you immediately want to skip to the demo itself, which in total takes about 20min), this blog will explain some of the details on how jBPM was used to achieve this.


Whenever a new order was placed (either through one of the mobile clients or the web-based client), a process described the life cycle of the order. The process itself is shown below.  The process itself is modelled using the BPMN 2.0 standard (both the visualization and the XML format used to store the process) and was defined in the web-based designer.


After some initialization, a Risk Assessment was done to decide whether the order was high or low risk.  This was modelled using a Business Rule Task, that in this case used a web-based decision table to make the decision.  In the demo, we simply look at the amount of the order, to decide whether it is high risk (larger than or equal to 500$) or not (less than 500$), but this could easily be extended with more complex logic.


All orders needed to go through a first Review (where a sales representative would manually check whether the order was valid and would accept or reject the order, for example to get rid of fake or unwanted orders etc.).  High-risk orders would undergo an additional Vice President Review (our VP really wanted to keep control of the company).  In the demo, the VP (played by Jay on stage) automatically rejected orders above 3000$ (just to make sure our participants needed to play smart to win ;)).  Both review tasks were modelled using a User Task and contained various details on who to assign the task to, the data associated with the task, etc.  After the review(s), the order was then either shipped (which we modelled using a domain-specific Service Task), or a rejection email was sent (using the out-of-the-box Email Service Task).

People in the audience were invited to participate in this experiment and put in orders.  A leaderboard was used to show the overall progress.  This showed the total amount of orders per person, and some dials and charts showing the order transaction rate, order backlog (orders still being processed), etc.  The data was collected by listening to and/or querying the jBPM engine and/or task service.


We used a process monitor to visualize where all the orders were waiting.  The number on top of each node shows how many orders are currently waiting there.  This view is actually the web-designer that we extended with this monitoring information (that was updated every few seconds from a REST service that would provide the necessary information).  We're working on getting this integrated in the project by default as soon as possible.
In the demo, we played out a scenario where a lot of the orders got stuck in the VP Review (as Jay wasn't able to approve all the incoming orders fast enough), generating a huge backlog.  It's kinda difficult to explain, so I suggest you just take a look at the demo to see how it played out ;)  By changing the business logic on the fly, we then allowed better throughput (and yes, we also used a bot to help Jay a little with approving all these orders more quickly, but everything was real, no cheating ;)).


Some technical details:
  • Everything (web-based designer + guvnor repository, jBPM engine, dashboards and process monitor) was running in the cloud (on OpenShift), on AS7. The laptops simply used a web browser to show the web-based apps running there.
  • The jBPM engine was embedded as part of the shopping cart application, and was invoked whenever a new order was retrieved, or when any of the review tasks were done.  One session was used to handle all requests.
  • The engine was configured to user persistence (using Hibernate4 / JPA2 and an H2 in memory database)
  • The changes done in the application and by the jBPM engine were combined in one user transaction.
  • The default task service (that comes with jBPM out-of-the-box) was used to manage the task lists and the life cycle of each tasks.  We used one local task service (running next to the engine) to make sure these changes were also done in the same transaction and avoid remote communication.
The source of the demo application is available here.  You can download and run the application on your own laptop, or even push it to OpenShift as well.

We really enjoyed creating and doing the demo, and we hope so will you!