February 10, 2008   Sign In |  About ebizQ |  Contact Us |  Join ebizQ Gold Club
Keith Harrison-Broninski
IT Directions
Keith Harrison-Broninski cuts through the hype in his hands-on guide to where enterprise technology is really going.

« Eclipse and the end of the Microsoft monopoly | Main | A simple way to evaluate open source »

March 23, 2006
BPM for free

This is the 3rd entry in a blog series on open source - this time I will introduce another major open source project of which every enterprise should be aware, and next time I will discuss a quick and simple way to evaluate open source projects in general.

This time it is the turn of JBoss jBPM. There are a number of open source workflow/BPM projects, ranging from simple BPEL engines to fully-fledged suites. However, the JBoss offering is particularly interesting, for 3 reasons:


  1. JBoss is, these days, about as blue-chip as you can get in the open source world. Not only do they offer a complete range of middleware, but they have download rates that must be the envy of other products (typically hundreds of thousands per month) and are venture-capital backed. Implementing JBoss now is like buying IBM used to be.

  2. jBPM supports BPEL, but is based on a more powerful programming model - what they call Graph Oriented Programming - with its own process definition language, jPdl. This language was designed from the ground up to support the workflow patterns developed by Prof. Wil van der Aalst and his group.

    Why is this important? Because the workflow patterns attempt to represent all possible modes of behaviour in a "programmatic" business process - preset workflows in which human involvement is limited to key decision and data entry points. So if your process definition language can represent all the patterns, you know you can automate just about any such business behaviour using it. As far as I know, jBPM is the only workflow system that claims to support all the patterns.


  3. jBPM is closely tied to the component architecture of the entire JBoss suite. In my recent blog series on BPM Futures, I discussed how process automation is effectively becoming a graphical interface to component tooling. This approach is very much in line with the architecture of jBPM. Web services, for example, can be employed as desired, but there is no need to move program control flow into a weak language such as BPEL unless it is necessary - you can do as much or as little as you want in Java, for instance.

TAKE AWAY

There is a lot of discussion about BPM at the moment - the debate around jBPM is typically lively - and a lot of this debate is still along the lines of: so what is BPM and why do we need it?

As I have commented before in this blog, despite the views presented by analysts and vendors, anyone working at the coalface in a range of companies will know that by far the bulk of enterprise process automation is still done using ERP packages and component technologies rather than using dedicated workflow/BPM tools.

I discussed in previous entries how new approaches may well change that, as "declarative" techniques enable the automated generation and application of certain types of executable process. In future entries, I will be looking in more detail at the implications of this for enterprise architecture. For now, however, anyone seeking an enterprise-strength process automation system would be well-advised to look at jBPM. Not only is it a powerful open source solution, but it fits naturally with emerging techniques and tools (coming with its own Eclipse plugin, for example).

In the next and concluding entry in this blog series on open source, I will discuss how to decide when you should not adopt an open source approach - without needing to spend a fortune on consultancy advice to find out!

Posted by keithhb in Business Process Management • Open Source |Digg This|Add to del.icio.us

Comments

jBPM is also very different than a BPEL engine or workflow system.
While in a typical BPEL engine, the engine is a separate process or thread, waiting in-coming messages for going further in some processes and dispatching messages to external systems for triggering some work out there. The BPEL engine is external to the application.
jBPM is different, it is a library that will be embedded in your application, there won't be a separate thread or process wich will invoke your services as needed. The application simply asks jBPM, I'm done, what's next? and then jBPM will call back the appropriate class of that same application.
Comparing jBPM with other BPM systems is not really accurate. I think jBPM is much more flexible but it does not come with the Web services plumbing stuff (which may or may not be be a drawback).

Posted by: Robin Mulkers at March 29, 2006 01:26 PM

Thanks for your comment, Robin.

Yes, jBPM is a Java library - but that doesn't mean you have to run it in the same thread. In fact, that would be a rather bizarre approach. What enterprise application of any kind runs in a single thread? JBoss jBPM in particular can be integrated with another JBoss product called SEAM, for instance, and via such methods you can separate the process engine as cleanly as you like from any external components or services that it makes use of.

With regard to the WS-* stack, as you know there is currently intense debate in the SOA community about the necessity of these techniques. However, jBPM can be used in conjunction with the WS-* stack if desired - there is a JBoss Web service platform, for instance, and any third party ESB or WSM product could be used alongside jBPM - just as with any BPM product.

Posted by: Keith Harrison-Broninski [TypeKey Profile Page] at March 29, 2006 07:57 PM

Post a comment




Remember Me?

(you may use HTML tags for style)

We ask that you type your code (displayed below) in the text box.This code is an image that cannot be read by a machine. It prevents automated programs from submitting comments.


Code:



Most Recent ebizQ Blog Entries
ADVERTISEMENT
RSS Subscription

Blog Roll
This Work
Accountability:The opinions expressed in this blog are solely representative of the blog's author, and not of ebizQ

Subscribe to our Newsletters
ebizQ Weekly Gold Club Update
Live Webinar Updates
Updates from ebizQ Partners
ebizQ SOA Update
ebizQ BPM Update
ebizQ Security Update
ebizQ BI Update
ebizQ Open Source Software Update
Virtual Show Newsletter
Your E-mail Address:
BAM: The Killer App for CEP
Date: Feb 12, 2008
Time: 12:00 PM ET
(17:00 GMT)

I WANT TO ATTEND
Event Processing Market Pulse
Date: Feb 14, 2008
Time: 12:00 PM ET
(17:00 GMT)

I WANT TO ATTEND
Archived Webinars | Upcoming Webinars

Marketing Solutions | Feedback | About ebizQ | Unsubscribe | Privacy Policy | Site Map