Hammurapi Rules
Hammurapi Rules is a JSR-94 compliant rules engine written in pure Java.
Hammurapi Rules is a rules engine for Java developers. Many rule engines have the word "business" in the name. The goal of such engines is to allow business people to adjust behavior of applications in real time. Such engines often use specialized rule languages for rules authoring and they employ specialized tools for management and deployment of rulesets. Specialized rules languages are most often interpreted at runtime rather than compiled at build time. Though some business rules engines claim that business people can do all (or most of) the rules development job on their own, practice shows that business rules engines require IT experts to be leveraged efficiently. Therefore, adoption of a business rules engine in an organization is not an easy task. It includes training of business people and IT staff, establishment of rules deployment procedures, etc.
In Hammurapi Rules rules are written in plain Java. It gives rules all the benefits of Java development and runtime environments. Here are some of them. Rules classes are compiled and deployed in the same way as other Java components. Java classes are optimized at runtime by Java Virtual Machine. Rules can be debugged and profiled as regular Java classes. Rules can access resources of Java application such data sources and files. Rule set definition files can be packaged in JAR files or loaded by the rules runtime from file or URL.
Java is a well-established programming language. There is a lot of books, online training materials, certifications and development tools for Java. Training rules developers to develop rules in Java shall not be as expensive as specialized rules language training. Many people nowadays have some procedural language background. Also, in a Java shop there is always a Java developer around the corner to help.
Hammurapi Rules is the right choice for you, if in your environment
- Rules don't change very frequently, i.e. your build and deploy process is fast enough to deploy modifications in rules code (rules parameters, e.g. prime rate, can be changed without rules redeployment).
- Rules are authored by Java developers, or rule authors are ready to learn Java and rule authors collaborate closely with Java developers.