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
| 48661 views |
  • submit to reddit

 

Standards BPEL and BPMN

Todays most known standards in the space of BPM are BPEL and BPMN. Those two standards have a completely different background. That is a clear indication of the diverse type of problems that is currently associated to BPM.

BPEL is defined with an Enterprise Service Bus (ESB) in mind. It's all based on WSDL, which binds naturally to web services. The result of deploying a BPEL process is that a new service is being published. A BPEL process can hence be seen as a scripting language for services on the bus. A more elaborate conceptual explanation of BPEL can be found in Process Component Models: The Next Generation In Workflow ? So BPEL is an executable process language, which implies that a it is human to computer communication, just like a programming language.

On the other hand, the first target of BPMN is modeling process diagrams by non-technical business analysts. It defines the shapes, types and meaning of the boxes and arrows. This type of modeling should be seen in the context of 'BPM as a discipline' (see below). By definition, non technical business analyst do not think in terms of web services or other technology aspects. BPMN processes are primarily intended for communication between humans.

So far, so good. But now comes the hard and confusing reality: BPEL has been presented as a solution for 'BPM as a discipline' and BPMN 2.0 plans to add concrete executable semantics. These days, most IT people already realized that BPEL is not a convenient solution for 'BPM as a discipline'. On the other hand adding concrete executable semantics to a business analyst modeling notation means that non-technical analysts will be implicitly writing a piece of executable software. Would you put software into production written by a non-technical person ?

 

Use Case 1 : BPM as a discipline

BPM as a discipline refers to the analysis, documentation and improvement of the procedures that describe how people and systems work together in an organization. Realize that most BPM is done in this way, not even resulting into any form of software or IT support. MS Visio is one the most used tools to document business processes.

Of course, once the business process is documented, it might make sense to develop software support for it. Suppose that a business analyst modeled and documented a 'business trip' process, then one usage might be to find optimizations in that process. And another usage might be the development of software support for business trips.

Please be aware that an automatic translation between pure analysis models and executable process models are not feasible in general. Initially BPM products tried to make this translation automagically transparent. In the context of BPM as a discipline, we believe that a process model from a non technical business analyst can never be translated into an executable process model by just adding technical details to it.

The next attempt was to acknowledge existence of an analysis model and an executable process model and then try to keep them in sync. Especially because of the big differences between BPMN and BPEL this approach got a lot of attention. But then the problem of maintaining the links between analysis and executable process model appears. Who is going to spend the time to link the analysis blocks to the executable blocks and then keep that mapping up to date. This is illustrated in the following picture:

 

For mainstream software development resulting from 'BPM as a discipline', we believe that the original analysis diagram should serve as input with the rest of the software requirements. Developers should then construct an executable process that looks as close as possible to the original analysis diagram. After that, the analysis diagram is discarded and replaced by the executable process diagram. That way, the developer is in full control of the software technical aspects, while the analyst will still recognize the diagram.

jBPM's jPDL language is designed to facilitate this approach. First of all, it's based on free graph modeling. Secondly, it has so called actions, which can be seen as event listeners. These event listeners are pieces of Java code that are called when process execution produces the event, but they are hidden from the process diagram. This allows the developer to add programming logic without changing the diagram structure. Also super-states are often used in the context of creating better communication between business analyst and developer.

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.