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

What's the Difference Between BRMS and EDS?
EDS, besides sounding a bit sexier and less boring than BRMS, is also considered to be a superset of BRMS. By that, it also includes leveraging analytical models that can be derived from data warehouse or business intelligence capabilities to conceivably create self-tuning rule sets. The reason we chose EDS for this book was that EDS appears to be becoming the more recognized acronym for rule-based systems. Consider it similar to how workflow slowly became subsumed by the more glitzy-sounding business process management (after all, workflow does sound pretty dry).

Figure 4 depicts the main components of an EDS.

In Figure 4, we see a repository of rules broadly categorized according to the types of rules they are, such as "Constraint Rules," which serves, for instance, to impose limits such as the maximum amount of credit to extend to a customer. These rules constitute the rule repository, which obviously has a central role in a rules system. The Rule Engine component, sometimes referred to as the "inference" or "execution" engine, represents the algorithms and logic that define how the engine works. The Rete algorithm, for instance, is a popular pattern-matching algorithm that is in most commercial and open source rule systems. The API/Web Service layer is how you interface with the system. Many EDS' include multiple language-specific libraries/APIs, and often a SOAP- or REST-based web service interface. The Authoring IDE is the tool for writing, editing, testing, and categorizing rules. An important aspect of the authoring environment is whether support for "domain-specific languages," or DSLs, is available. This refers to the ability to express rules in a language that is natural to the business user yet has rigorous semantics. Consider it analogous to building your own programming language using a business vocabulary (hence, it's sometimes referred to as "Language Oriented Programming"). The External Apps are those applications that are utilizing the rules engine.

What is the role of EDS in SOA? One of the principal tenets of SOA is designing systems that are flexible and agile. Rules engines are instrumental in advancing this concept, as they allow business rules to be change independent of making application modifications. This effectively eliminates having to go through drawn-out development and testing cycles. This obviously is also a form of loose coupling (another tenet of SOA), as the binding between an application and its business rules are no longer as tightly intertwined. The next section will delve more deeply into the criteria used for evaluating an EDM offering.

EDM Product Evaluation Criteria
I had identified some general criteria for evaluating the various SOA technologies, and an EDS obviously has some additional product-specific requirements. Table 4 identifies some key requirements we'll use when analyzing the suitability of the various open source rule systems.

Now that we have a foundation for assessing an EDM, we can now turn toward identifying the possible open source EDM candidates.

Open Source EDM Products
While commercial business rule solutions have been around for a decade or more, it's only been within the past five years or so that open source alternatives have become available. This is no doubt because of the increased visibility that has become associated with the "business rule approach," and the success stories presented by the commercial vendors. Table 5 identifies the open source EDM products.

Based upon the results in Table 5, it appears as though the only two real choices are OpenLexicon and JBoss Rules (hereafter referred to as "Drools", its historical name). Let's examine the reasons next.

Selecting an EDM
Mandarax, while maintained by a fairly small team of developers, does offer some very innovative features. They include an elegant way of tapping into working memory from a variety of data sources and a novel API approach to creating functions and predicate-style clauses using standard Java classes. Documentation is adequate. The biggest concern with Mandarax is that it's maintained by a very small team and appears to have a very limited use base. The concern is that, over time, without a strong user base, the project could fall into quiescence, and no longer be actively maintained (a fate that afflicts the majority of open source projects). For this reason, Mandarax was not considered.

Both OpenRules and Jess were excluded from consideration due to their licensing restrictions. OpenRules, while proclaiming itself as "open source," does not fit our criteria of open source. Namely, to use it in certain commercial capacities requires purchasing a license. While I am an advocate of purchasing support for those open source applications that have a sponsoring company whose revenue model is based on that (such as JBoss), I think its disingenuous to pitch a product as "open source" when a license must be purchased for commercial use. On the other hand, Jess clearly doesn't aim to mislead and does not position itself as open source (free versions for certain types of usage are available).

OpenLexicon shows great long-term promise, but the fact remains that it is still relatively new and lacks comprehensive documentation. Its nicely integrated BRMS features and well-designed user interface should definitely place it on anyone's open source short list. This leaves Drools, which has a long and proven track-record, and now has been enhanced with more enterprise BRMS features, such as repository management.

Introducing JBoss Rules (Drools)
The Drools project began in 2001, and the first production-ready release was the 2.x version that appeared in 2003. By 2005, Drools had become a very popular open source rules engine, so much so that in October of that year, it joined the JBoss family of products. With the deeper pockets afforded by JBoss (and then RedHat, which, in turn, acquired JBoss in 2006), the 3.0 release of Drools offered some significant enhancements by way of performance and introduced an authoring/IDE Eclipse environment. In addition, a new rule language, DRL, simplified rule creation. Even more substantial improvements accompanied the 4.0 release. The rule language was enhanced; a hibernate framework introduced for populating working memory; performance was further improved; and, perhaps most significantly, BRMS functionality was added. Drools can now claim to be a true feature-rich alternative to commercial BRMS offerings.

The Drools team at JBoss now includes over 12 full-time staffers, along with a fairly large contingent of non-JBoss contributors. The project has excellent documentation, which can be somewhat of a rarity in the open source world. The mailing list is also quite active. If there is a knock against Drools, it is that there is not currently a pre-built web services interface.

• • •

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.