Tom Baeyens is the founder and lead of JBoss jBPM, the leading open source BPM system. Tom mission is to bring the power of BPM technology into the hands of the developers. He's a frequent speaker at international conferences and maintains a blog at http://processdevelopments.blogspot.com Tom has posted 3 posts at DZone. View Full User Profile

Seven Forms of Business Process Management With JBoss jBPM

10.21.2008
| 48134 views |
  • submit to reddit

 

Use Case 2 : Combining template based and ad hoc task management

Orchestrating human tasks can be found in most process engines in one form or another. But what is often overlooked is that template based task orchestration only suits for a limited number of scenarios. First the process must be relatively stable. And secondly, enough executions of this process have to happen so that the gain that can be achieved with software support is worth the development effort.

A lot of work being done in organizations does not meet those two requirements. For example, organizing a one-time team building event, a restyling of the office space or cleaning up after the sprinkler system went off unexpectedly. For that type of work, people in charge will invent the process on the spot and it will only be executed once.

Human Interaction Management (HIM) focuses on this type of work. A story in HIM reflects a task that person creates for which an ad-hoc process will be created. People can get involved in different roles. There are big benefits of tracing such work with a task management system. First, people that get involved with such a task after a while will get instant visibility into the history of the whole story. And secondly, an audit trail is logged automatically.

In jBPM 4, the task management component will support this ad hoc human tasks. The combination will be awsome. Human tasks in processes can be specified at a course grained level. When such a process task is created for a person, the assignee can involve other people by creating subtasks and assigning people in different roles to these tasks. Only when the owner decides that the overall task is finished, then the process will continue.

Use case 3 : Transactional asynchronous architectures

Gregor Hohpe's Entperprise Integration Patterns describes building blocks for asynchronous architectures. These patterns are based on the notion of Message Oriented Middleware (MOM) aka message brokers. MOM's are good at asynchronous transactional communication between two systems and JMS is the Java standard to work with it.

Of course point-to-point communication can be set up easily with existing Java infrastructure like Message Driven Beans. But in many cases many of these point-to-point communications are related. For example, to process one order, a message might come from a client into the order processing system. As part of that transaction, a notification might be sent to the warehouse and stock planning team. Eventually after many more steps, a message might be sent back to the client as a confirmation of the order. If all these transactional communications are build linearly, it will be very hard to manage the overall state of order processing.

BPEL also focuses on asynchronous architectures, but then in a (web) services environment, rather then a Java environment. In BPEL only (web) services can be invoked and XML based technologies like XPath are integrated. So for more complex calculations, a piece of programming logic needs to be included. To include programming logic in BPEL, it needs t be wrapped and exposed as a service. That can be quite cumbersome in certain situations.

In contrast, jPDL is embedded in a Java environment. Such a central dispatching functionality is really suited to be implemented by a process language like jPDL. An incoming message can start a new jPDL process execution or provide a trigger for an existing execution. jPDL allows to include programming logic straight into the process transaction. Cause jPDL is based on a Java architecture, that results into much more flexibility and convenience.

Using the central dispatching approach creates immediately more insight into the overall state of a process. In terms of our order processing example, it will be very easy to keep track of the state of each order. Further more, process engines like jPDL collect the history information. This is an extra feature that you get for free when using a process engine in this way. From the history information it is very easy to collect valuable statistical information like the average time in each step of the process.

The difference with the use case 'BPM as a discipline' is that in this case, the goal is software technical in nature. The process is looked at from an implementation perspective. There doesn't have to be a relation to a business level analysis process.

Published at DZone with permission of its author, Tom Baeyens.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Pietro Polsinelli replied on Mon, 2009/01/12 - 4:21pm

t may be of interest to some to see how to merge Business Process Management with Project Management: latest release of Teamwork (see http://twproject.blogspot.com/2009/01/teamwork-4-beta-available.html ). On the common persistence layer (Hibernate), the business process defines a project dependency structurere and swimlanes correpond to assignments. There are free trials to try it out.

Russell Owen replied on Mon, 2010/01/11 - 6:32am

Very interesting topic, can you post some further information on this subject. steam rooms

Jack Jones replied on Tue, 2010/06/29 - 8:36am

Thanks for supplying this information , i found it very helpful for my studies. uPVC Conservatories

L Rowan replied on Tue, 2010/07/06 - 7:51am

Thanks for taking the time to post such a detailed and informative article. It has given me a lot of inspiration. sell house fast

Jone Sam replied on Sat, 2010/10/16 - 2:53pm

I think article is really good and i like it,diagram of JBoss jBPM gives the vivid imagination of the control flow.I was find the possibilities of adding new interceptor to deal with compensation and the search is a good explanation for it. I found it here and while the most important information on the inside of jBPM. Another thing, I thought I put this article in jBPM town square, which is really valuable information that I think many would like to read. payday lenders

Alice Rosemary replied on Fri, 2010/11/05 - 11:13am

Well that's quite informative, i have been following this blog for some time now and its been a good source of information for me.

Franking Machine

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.