JBoss BPM Suite - Vacation Request Process / Demo

In the process of working with a partner and customer, I developed a Vacation Request business process. As part of the process I wanted to demonstrate human tasks, service calls and a business rule. The human tasks were used to approve a vacation request as well as validate a vacation request. There is also a "reassignment/escalation" as part of the approval task. If it's not approved by the current group in 30 seconds, it is reassigned to the executive group. The service calls are to a REST backend for checking available hours and submitting a request for vacation. The business rule is used to automate the task for requests below a certain threshold (less than 10 hours). However, since it is a business rule, it can be modified without having to modify the process itself.

As for the REST service call, I wanted to show a GET and a POST while deal with the json format and having the business process engine marshal and unmarshal the json reply and payload. The fun part for the REST service calls was leveraging the following fields as part of data assignments: "ResultClass", "ContentType", "Content", and "Method".

Find the source for the project here.

A colleague also wrote up a nice blog post offering ways to deploy the demo as well. Thanks Eric. 

Here is a snapshot of the process itself:

While the built-in reassignment of a human task is helpful, sometimes one would want to execute a process, subprocess, external service call, perform an action in the event of an escalation. I built out a skeleton example bpmn2 process to show this.  Here is the bpmn2 version of the process model.

* Update: added a link bpmn2 version of the process model for a more extensive escalation

comments powered by Disqus