News: New rule engine framework RuleAid announced
RuleAid is a simple Rule Engine for developing Java(tm) server-side applications and / or cross-platform Web Services -based applications.
- Posted by: Max Shuleman
- Posted on: August 26 2003 22:33 EDT
RuleAid defines your business logic as set of multiple simple steps ( Actions ) connected together in a RuleSet.
This makes the business logic declarative - instead of hard-wiring the decision process in the code, you combine your Actions at the design time to achieve the desired result.
This release includes Java(tm) library for including RuleAid in your applications, standalone RuleAid Web Services Application, simple configuration console, .NET client DLL and Instant RuleAid - bootable
Linux CD for instant deployment on zero-management diskless servers.
Check out RuleAid.
- New rule engine framework RuleAid announced by Ian Mitchell on August 27 2003 13:30 EDT
- New rule engine framework RuleAid announced by Alexei Yashin on August 28 2003 05:26 EDT
- Is this a rule engine? by Daniel Selman on September 02 2003 15:47 EDT
I (unsuccessfully) checked out their website to try and find a comparison with JProlog, tuProlog etc. These have the full weight of a rule-based language behind them, as well as Java integration. I'd like to see some sort of whitepaper or similar that compares and contrasts the rule-based JVM implementations against this product.
The problem with Rule Engine frameworks is that as a programmer you often have to learn the whole new language and new set of common idioms, etc.
RuleAid is built on the simple idea familiar to every Java programmer - implementing a given interface. We think this would make adoption of rules/action based programming easier.
Disclaimer: I work on the RuleAid project
You are right, but once a developer gets their feet wet in assertional programming they tend to look for more quite quickly. The learning curve is initially very steep - especially for those who are prejudiced towards imperative programming - but then the curve flattens out quickly.
None of this invalidates RuleAid as an idea. I for one would welcome not having to perform the mental gymnastics of hopping between assertional and imperative paradigms. But I would have to know that there was a correspondance of underlying principles (how to implement rule chaining, for example) before committing to a such a framework.
Doesn't appears to be as mature as time proven Jess or
open source Drools.
Disclaimer: I work for ILOG.
This does not appear to be a rule engine in any traditional sense of the word. It looks more like a technology to describe simple processing pipelines. Each step in the pipeline is implemented as a Java class. From my quick read of the website it would be just as accurate to call it a BPM engine.
Best of luck,
=== from the website ===
When invoked, RuleAid Engine will validate the Transition Map, load the Actions and other classes used by your Actions and pass the appropriate Request Object to the action designated to be the entry point of the map. Actions and related classes are cached for optimum performance.
The entry-point Action will execute itself resulting in either true (Success) or false (Failure) outcome. The Request Object will be passed to the Action designated Success or Failure handler for the first Action and so on. Processing will continue until an Action designated as an Exit point is reached or Exception is thrown. In case if Action code does throw an Exception, an Action designated as an Exception handler for that Action is called first.
Disclaimer: I wrote ruleCore ;)
Well, what is really a rule engine? When I tell people that ruleCore is a rule engine allmost everyone assumes is has something to do with prolog, rete and uses inference/production rules of some kind. It doesn't.
I thought many times of calling ruleCore for something else than a rule engine just because of this. But then people would have no idea at all what the software does. It is like when you are building something that stores data. Then it would be rather handy to call it something that contains the word database so that people would understand the purpose of the software.
What is a rule engine for you?