I thought I would include a short note for everyone as to the standards work around business rules. The absence of real standards in the business rules space has long been identified as an issue preventing broad adoption and, as you would expect, there is lots of work on this. To summarize:
- JSR-94 (JCP)
Lightweight standard to make it easy to identify and invoke a rules engine in a standard way. Like JDBC, although simpler, but without a community equivalent of SQL. This is where the other standards come in as it is waiting for some operational semantics before it would make sense to continue. Also Dan Selman talked about JSR 94 in his ServerSide interview (among a number of other aspects of the business rules market, most of which are common to both Fair Isaac and ILOG, the leaders in the business rules space) and Hans Witt wrote a piece on standards on BR Community recently which has some nice features but I am not sure he is correct about ongoing JCP work. Dan implied in his interview that the JCP was on hold until the OMG and W3C standards come out so as to avoid repetition. Let's hope so.
- Production Rule Representation - PRR (OMG)
I chair this standard, with a great deal of help from my friends at ILOG, and we are tracking to an initial submission this December. This standard will try to outline a basic structure to enable the sharing of production rules, those planned to be executed in a rules engine. This is essentially a Platform Independent Model or PIM in OMG/UML terms in that it is focused on being executable without being tied to a specific rule engine syntax. The standard handles forward-chaining and sequential rules engines initially and has an optional extension using OCL (the Object Constraint Language) to define the semantic content of the rules. There's a little bit here on the OMG site but not much yet - more soon.
- Rules Interchange Format - RIF (W3C)
Co-chaired by my friends at ILOG, and supported by Fair Isaac among others, focused on how to describe rules for interchange in a wide variety of areas. Chartered to produce a core rule language plus extensions which together allow rules to be translated between rule languages and thus transferred between rule systems. Information on this is available on the W3C site. This has lots of interest (good news) and is therefore a very large group (bad news) but we all have high hopes of this one too.
- Semantics and Vocabulary of Business Rules - SVBR (OMG)
Another OMG standard, this time focused on the development of business rules as a way to describe a business, not necessarily to implement a business rules-based solution. This specification defines the vocabulary and rules for documenting the semantics of business vocabulary, business facts, and business rules. From a business rules engine/business rules management system point of view this is mostly a standard that will help manage business rules as requirements and allow production rules to be systematically mapped to them for traceability and impact analysis. You can get information on SVBR, which is further along than PRR, on the OMG's site(but you need to scroll down a little).
Hopefully this means that in the next 6-12 months we will have a standard way to describe problems using a business rules approach, defined ways to extend a UML PIM to incorporate production rules (with mapping back to the rule requirements), an XML standard for interchanging rules between various systems and a standard way to invoke a rules engine from Java. All this will greatly ease concerns over vendor-lock-in and will establish rules as first-class concepts in a UML world. With the growing use of the concept of Decision Services by BPM vendors (including FileNet and Oracle for instance) to clearly map business rules to business processes and some work on how to bring various data mining and analytic standards together with rules we should have a rich set of standards to support enterprise decision management. Lovely.