Do We Need a Business Rules Standard?
It seems that at every panel that I’ve participated in, someone always asks “The Question”…
What do you think about having a Rules Standard?
My answer has been and always will be the following: Standards are incredibly useful and powerful when they address a real need from the user community. So the real question is what are our needs and can they be addressed through a standard?
In technology, there have been zillions of standards initiatives. The reality is that most fail. I have seen 2 ways that lead to success:
- Create a Standards Body: A standards body like an OMG (Object Management Group) or W3C (World Wide Web Consortium) or even industry groups like ACORD for insurance primarily exist to create standards. They tend to unit vendors and users alike to collaborate on identifying what standards are needed.
- Become the Major Player: Major technology players due to the their high adoption inadvertently set the standards that the market eventually follows.
A History of Failed Attempts
That being said, the business rules community has tried (and failed) many times at creating a business rules standard. Here are a few examples.
A long time ago, over a decade ago, while J2EE was emerging and the JSRs were still furiously active, a group of companies dedicated time to work on a standard interface for rules engines. It was called JSR94. The idea was that you could bind different engines with no source code changes. The same code could target vendor A’s libraries or vendor B’s with a simple change in configuration and compilation. JSR94 checkboxes started appearing on Requests for Proposals (RFPs). Even to this day, I’ll see JSR94 come up once in awhile in selection criteria.
Success? Well, no one really uses it. Here’s why it failed:
First, JSR94 limits what you get from a vendor. The major vendors have server-side architectures that wrap the rules engine in order to deliver more sophisticated services (ex. transaction-safe on-the-fly rules upgrades, jukebox-style dynamic rules loading). JSR94 prevents you from accessing these services so you lose out on enhanced flexibility and performance optimizations that your IT architects want.
Second, JSR94 serves no realistic purpose. Very view organizations use more than one vendor. And when an organization does change vendors, changing the invocation is the least of their problems. Typically you only need 2 lines of code and a few import adjustments. In fact, the Service Oriented Architecture (SOA) is doing a much better job at solving that integration issue at the rules service level rather than rules engine. A web service is a web service is a web service. As long as the contract exposed by the new web service is consistent with the original web service contract, you can easily swap it out!
What About the Rules Themselves?
When it comes to changing vendors, changing the rules from one vendor format to another is a huge investment. We cover decision migration best practices to remove some of the headache. Even so, migration is a major project. This seems like a logical case for creating a standard. That being said, that would be like trying to universalize Spanish or French. Get a Mexican, Chilean, Cuban, Northern Spaniard, and Southern Spaniard in a room and you’ll soon realize that “Spanish” is quite different depending where you’re from. Rule syntax and semantics vary from vendor to vendor. Plus, natural language as we have seen with Spanish, is not universal.
However, RuleML tried to create a universal rules language anyways. At the time, I was working for one of the major vendors and we did consider using the language. However, since they were focused on a minimum viable product, the language could not realistically support any of our client implementations. Others also tried. During this time, you may have come across “X” Standard in RFPs. In reality, they were all proprietary syntax of a particular vendor.
How to Succeed at Creating a Business Rules Standard
Even with these failed attempts, I still believe there is a case for one. Therefore, we need passion and determination from vendors and end users alike in order to create a business rule standard. I have made open calls to end users at conferences like Business Rules Forum or October Rules Fest. However, as far as I know, no one has responded yet. Therefore, if you are interested in one, please be vocal about it!
Learn more about Decision Management and Sparkling Logic’s SMARTS™ Data-Powered Decision Manager
Go to previous post

