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 Tom has posted 3 posts at DZone. View Full User Profile

Seven Forms of Business Process Management With JBoss jBPM

  • submit to reddit


Use case 4 : Service orchestration

Service orchestration is actually a variant of the previous use case 'transactional asynchronous architectures'. Interactions between services on an Enterprise Service Bus (ESB) are usually asynchronous. This time, the communication is not done through sending messages over a MOM, but instead by calling services over an ESB.

BPEL is a process language specifically designed for this use case. Apart from a construct to invoke WSDL services, it has a whole infrastructure for supporting conversations. Conversations are so called long running processes. The clue here is that a BPEL process specifies a number of service operations that are being published when a BPEL process is deployed. A BPEL process can then contain receive activities, which mean that the process execution will wait until a service operation invocation is received.

In jBPM we have implemented the BPEL process language as on of the languages that we support on top of our Process Virtual Machine.

Use Case 5 : Visual programming

With visual programming, we will target developers that do not yet have the full skillset to develop in Java. They can graphically specify the activities and draw transitions to indicate the control flow. Instead of typing Java code, just put blocks like 'perform hql query', 'generate pdf', 'send email', 'read file', 'parse xml', 'send msg to esb'. Instead of writing Java, they will be composing software programs by linking activity boxes in the diagram and filling in the configuration details.

This will, of course, not have the same kind of flexibility as Java programming itself. Visual programming as we describe it here will not replace programming as we know it today. Today's programmers can be considered the power users and that kind will always be needed. But visual programming can lower the treshold to build applications for developers that have no or limited Java knowledge.

The Process Virtual Machine (PVM) is the foundation of jBPM. In the PVM infrastructure it is really easy to add a new activity type. Think of it as a kind of command pattern, where the commands are configurable. So it will be very easy for us to develop new activity types. This way, we can expose the bulk part of the Java programming functionalities as activity types in the jPDL process language.

In jPDL, these visual programs will be executable transactionally or without persisting the state of the execution.

Use Case 6 : Thread Control Language

This is a specific aspect of visual programming that also can be used by experienced developers. Coding multi-threaded Java programs is not easy. In fact, it is at least tedious and mostly pretty hard to code. Starting new threads, passing data into them, joining and making them stop properly can be a challenge.

We'll develop a Thread Control Language which lets you specify a multithreaded Java concurrency by drawing forks, joins and method activities. A method activity invokes a methods on your Java object. And the concurrency control is handled by the forks and join in the process. These processes will be executed without any persistence.

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.)


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 ). 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.