| By Jeff Davis | Article Rating: |
|
| November 26, 2008 06:45 AM EST | Reads: |
5,453 |
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.
Published November 26, 2008 Reads 5,453
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
- The Top 150 Players in Cloud Computing
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- Cloud Expo New York Call for Papers Deadline December 15
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- US Federal Government is Major Cloud Computing Innovator
- Google Wave
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Adaptivity & Cloud Computing: Exclusive Q&A with CEO Tony Bishop
- 4th International Cloud Expo: Photo Album
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- Industry Experts Discuss the State of Cloud Computing
- SOA World Power Panel on SYS-CON.TV
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- 1st Annual Government IT Conference & Expo: Themes & Topics
- Cloud Expo New York Call for Papers Deadline December 15
- Stock in Focus: Dragon Capital
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- Five Reasons Why Web 2.0 Matters
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- SOA World Conference & Expo SYS-CON.TV Power Panel Live From Times Square









There are a variety of applications that supp...





















