Welcome!

SOA & WOA Authors: Peter Silva, Maureen O'Gara, Tony Bishop, Mark O'Neill, Yeshim Deniz

Related Topics: SOA & WOA, Java, Open Source

SOA & WOA: Article

Building the Open SOA Platform

Open Source SOA - Part 1

ObjectWeb's Bonita offers a very attractive open source solution. It has a proven heritage dating back to its 1.0 release, and with the release of version 2, added support for XPDL. Unfortunately, Bonita does not come with a XPDL editor. Instead, they suggest using one of the available open source or commercial editors. This raises a concern, as the open source XPDL editors do not appear to be sufficiently robust (at least compared with their commercial alternatives). An additional concern is the newer version's reliance on the JOnAS application server. This will limit the ability to embed the engine within other applications. Because of these reasons, Bonita was not considered moving forward.

This leaves JBoss jBPM - it is a simple-to-use, but very powerful, workflow engine. As mentioned, jPDL is the XML vocabulary used to express business processes, and they can be created visually using the jPDL Designer, an Eclipse-based plugin. jBPM has the financial backing of JBoss and enjoys a fairly vibrant user community, based on forum and mail list activity. It also is being extended to support those who want to use BPEL scripts for workflow execution (at its core, it's really a graph-based process engine). For these reasons, it was selected as the BPM solution for our SOA technology stack. Let's take a more in-depth look at jBPM.

Introducing JBoss jBPM
The jBPM project's first official release was in early 2004, followed by the 2.0 release in late fall of that year. At approximately the same time, the jBPM team merged with JBoss, officially making jBPM a part of the JBoss family of products. Since the merger, the product has been managed and led by largely the same team, which has resulted in a solid, robust, and time-tested product. Some have expressed concern about its use of the LGPL license, which stipulates that enhancements/changes to the product must be shared with the community.

According to JBoss, this was done to encourage the building of a jBPM "community," and to prevent the splitting off of the project into proprietary versions. Given the widespread popularity of the LGPL license, this does not seem problematic, at least in my opinion. If the intention is to take the code and build a new commercial proprietary product based on it, yes, that would be prohibited. However, the vast majority of users would not be impacted by the LGPL restrictions, and would likely only benefit from them.

JBoss describes jBPM as "a flexible, extensible framework for process languages," or alternatively as a "platform for graph-based languages." The jBPM Process Definition Language, or JPDL, was the first, or "native" process language developed on this framework. More recently, they have also introduced a BPEL-based version of jBPM that is now in general release. While the BPEL release shows great promise as a standards-compliant BPEL engine, for the reasons cited earlier, BPEL is not necessarily well suited, in its current state, for BPM (again, this may change as the standard continues to evolve). Instead, our focus will be on the standard jBPM, JPDL-based release, which as of this writing had reached a milestone version of 3.2.

jBPM comes with the JPDL Eclipse plug-in Designer for easily creating business processes, and a web application pageflow framework for creating human-based tasks. It supports persistence of process instances by storing them within nearly any open source or commercial database (uses the well-respected Hibernate object-relational DB mapping framework). Any process variables used during the duration of a process instance are stored in the database, along with the actors who performed the work. These are important considerations in a world of SOX compliance requirements.

Enterprise Decision Management
Enterprise Decision Management (EDS), otherwise less glamorously known as a Business Rule Management Systems (BRMS), is an approach to automating and improving the decisions a business makes on a day-to-day basis. It plays an important role in our OpenSOA platform, as it provides the underlying business rules/logic that are used by many of the other components of the platform. The role of EDM in the OpenSOA Platform is shown in Figure 3.

Fundamentally, an EDM means extracting those decisions and rules that are today embedded into applications or people and systematically exposing them as true assets that can be centrally managed and authored. Some have gone so far as to proclaim a "Business Rule Revolution" is underway, insofar as it "represents an emerging undeniable need for the right people to know what a business's rules are, to be able to change those rules on demand according to changing objectives, to be accountable for those rules, and to predict, as closely as possible, the impact of rule changes on the business, its customers, its partners, its competition, and its regulators" [VonHalleGoldberg].

The value of managing business rules in a centralized fashion, and making them maintainable by business users instead of developers, has long been recognized as a laudable goal. Unfortunately, tapping into those rules from external applications and processes was often a considerable challenge. Early BPM vendors had their own proprietary API, often in one or two supported languages. This made integrating the business rules difficult and ensured vendor lock-in. The advent of web services and SOA opened up a vast new opportunity for incorporating a BRMS. Since web services are designed as language and platform neutral, centralized business rules can now be accessed by virtually any application. Further, composite applications, such as business processes designed using a BPM, can easily tap into a BRMS for decision and content-based routing rules. Perhaps the hyperbole of a "Business Rules Revolution" isn't such an exaggeration after all. In this case, the foundations of SOA become an enabling force to this exciting, even enterprise-changing, technology.

• • •

This article is based on the book Open Source SOA scheduled to print January 2009. This article is courtesy of Manning Publications. The ebook is available and sold exclusively through Manning Publications.

More Stories By Jeff Davis

Jeff Davis has over 15 years experience in enterprise software development. He is currently Director of Software Architecture at HireRight Inc, where he is responsible for implementing HireRight’s SOA and SaaS initiatives, including HireRight Connect – a comprehensive integration platform, and the first of its kind in the pre-employment screening market. Prior to HireRight, he was a successful eBusiness consultant for several years, where he worked extensively with enterprise ERP, CRM and procurement applications. He is a recognized expert in the field of web services and SOA, and his just completed a book titled “Open Source SOA” for Manning Publications, which will be published in Spring 2009. He is a frequent speaker at industry events, most recently the Gartner 2007 Application Architecture & Integration Summit.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.