Add to Technorati Favorites

Add to My Yahoo!

RECENT ARTICLES

Open Source Blog

The 10 Best Open Source Rules Engines
July 29, 2008

News earlier this week that IBM is buying French business rules player Ilog for $340m has once again shone a spotlight on this relative backwater of enterprise technology.

While business process management systems have managed to move into the mainstream, some of the business rules companies have remained in something of a niche. But what are the options in open source business rules management systems, and why would you want one?

Announced on Monday, IBM said it hopes the acquisition of French firm Ilog will improve its offering in the application lifecycle management market, as well as developing IBM's BPM and SOA offerings.

Gentilly, France-based Ilog targets several markets: business rules management and optimisation, visualisation and supply chain management. It is probably best known for its business rules software, which enables companies to streamline their business processes, and reduce companies' reliance on hard-coded application logic. It is said to be able to put some power to change business processes in the hands of business users, too.

IBM does have business process capabilities, namely within WebSphere Process Server, but it has tended to partner with rules companies -- including Ilog -- for clients with anything other than straight-forward rules requirements. Rivals to Ilog in the business rules space include Pegasystems, Fair Isaac, Haley, Lombardi Software, CA, Oracle and more.

But there are a number of open source offerings in the business rules space, too, especially Java-based rules engines. So what are the Ten Best Open Source Rules Engines*? [click continue reading for more]


Ten Best Open Source Rules Engines* [in alphabetical order]

1. Drools is an Object-Oriented Rule Engine for Java. Drools is an augmented implementation of Forgy's Rete algorithm tailored for the Java language. Adapting Rete to an object-oriented interface allows for more natural expression of business rules with regards to business objects, it’s claimed. More importantly, Drools provides for declarative logic programming and is flexible enough to, “match the semantics of your problem domain”. The various parts that compose a rule may be extended to lend domain-specific sense to the rule.

2. Hammurapi Rules is another JSR-94 compliant rules engine. With Hammurapi Rules Java developers don't need to learn a new rules language -- rules are written in Java. Hammurapi Rules leverages Java language type system and naming conventions to plug rules into its inference engine.

3. JEOPS -- The Java Embedded Object Production System -- is a Java based forward chaining rules engine. It is used to power up the business process by rules in Java Application Servers, client applications, and Servlets.

4. JRuleEngine is another Java rules engine, based on Java Specification Request 94, release 1.1 -- i.e. rules can be loaded by an XML file or by means of JRuleEngine APIs, so rules can be stored externally into a database, too.

5.a. Mandarax is an open source java class library for deduction rules, which provides an infrastructure for defining, managing and querying rule bases; while OpenRules is said to be a full-scale open source Business Rules Management Framework. It is claimed to use the power of MS Excel, Eclipse IDE and open source Java libraries to create, deploy, execute, and maintain different rule engines with complex business logic controlled by business analysts.

6. Open Lexicon is a business rules and business process management tool that “rapidly” develops applications for transaction and process-based applications. It includes a business rules metadata repository, a business rules engine, and a “comprehensive” web-based UI for managing and testing the business rules. It also includes process management tools for orchestrating complex interactions within business rules and business objects.

7. Prova (from Prolog+Java) is a rule-based system for Java and agent scripting and information integration extending the Mandarax engine with a proper language syntax and enhanced semantics. It combines natural syntax and typing of Java with Prolog-style rules and database wrappers. Java calls may include both constructor and method calls as well as access to public variables in classes.

8. SweetRules is an integrated set of tools for semantic web rules and ontologies, revolving around the RuleML (Rule Markup/Modeling Language) emerging standard for semantic web rules, and supporting also the closely related SWRL (Semantic Web Rule Language), along with the OWL standard for semantic web ontologies, which in turn use XML and, optionally, RDF.

SweetRules supports the powerful Situated Courteous Logic Programs extension of RuleML, including prioritized conflict handling and procedural attachments for actions and tests.

The SweetRules project is an international, multi-institutional effort, originated and coordinated by the SweetRules group at MIT Sloan led by Benjamin Grosof, and its creation was funded largely by the DAML (DARPA Agent Markup Language) research program which co-pioneered the Semantic Web.

5b. Take (aka Mandarax Compiler) consists of a scripting language that can be used to define derivation rules, and a compiler that creates executable Java code and deploys it into running systems. Take is inspired by Mandarax, has a similar API but does not use a separate interpreter "inference engine". The deployment process is very similar to how web servers treat server pages. The result is optimized, reflective and easy to maintain code.

9. TermWare is a rule processing engine intended for embedding into Java applications; JLisa is a “powerful” framework for building business rules accessible to Java and is compatible with JSR94 V, the Java Rule Engine API.

10. Zilonis provides a Multithreaded Rules Engine platform and a scripting environment for Java based applications. The core of the Zilonis platform is based on a variation of the forward chaining Rete algorithm described in "Rete: A Fast Algorithm for the Many Pattern/ Many Object Pattern Match Problem", Charles L. Forgy, Artificial Intelligence 19(1982), 17-37.

Because it is multithreaded it is said to be “easy to reuse a set of rules across several concurrent users in a safe way, without creating copies of the rules and the engine, as you would have to do if you were to use other engines.”

*OK, so there are 11, but Take is related to Mandarax.

Any to add? Drop me a line or add a comment.

  Email this entry to a friend

Posted by Jason Stamper on July 29, 2008 05:23 PM

Comments

among these 10 rules engines which one is prefferable for application server as websphere?

Jason replies] Thanks for the question. WebSphere already has some built-in rules capabilities of its own, namely within WebSphere Process Server. IBM has also partnered with rules company Ilog in the past, and as the blog states that integration will become even tighter now IBM has announced its intention to buy Ilog. If you really want to go for an open source rules engine with WebSphere, then I believe most of the Java-based rules engines should be compatible, with varying levels of work. For instance I believe the open source Drools rules engine is compatible -- see http://www-128.ibm.com/developerworks/java/library/j-drools/ for a paper on the topic. But before you embark on any projects your best bet would be to check with IBM, since as a WebSphere user you are already a customer. They would obviously be able to give you advice tailored to your particular project/s. I hope that helps!

Posted by: mallareddy on August 13, 2008 06:59 AM

Thanks for posts and mention us. I see a typo in paragraph about termware: JLista and TermWare are different systems [12 ?]
Yet one question - why Jess is absent ? They are quite well-known. [13 ?]

Posted by: rssh on September 5, 2008 09:50 PM

Thanks for the helpful list of Open Source BRMS providers. I noticed OpenRules was not on the list. They seem to be successful as the IRS is using them to address rule complexity in the US Tax Code. Do you have any insights on their viability as a solution?

Posted by: daved on October 5, 2008 02:57 PM

Post a comment

Name:

Email Address:

URL:

Remember Me?    Yes     No 

Comments:

Advertisement