Wednesday, November 22, 2006

Introduction to JBoss Rules - Pete Bennett and Mark Proctor

Rules engines are a topic that we have considered a couple of times within the development team. The arguments around this have been quite fluid, making it a difficult for us to decide on a specific direction. I had hoped that I would be able to get a clearer impression from the conference on a suitable direction for Ufi and I believe I have achieved that, though not with the kind of result we would have liked.

JBoss Rules originates from the Drools technology. This is an advanced rules engine which takes rules and facts and makes assertions about them. From our perspective this means that if we write a set of business rules in DRL script, as used by the engine, we can then run these against sets of Fact objects (Hibernate objects?) to assert the results.

Rules engines, including JBossRules, look extremely appealing when considering aspects of the business such as the enrolment process and ILR. However, following discussion with the JBoss developers the fact remains that the technology is shown to work best on flat, static, data structures around which the rules are expected to change over time without any need to modify the underlying model. It is this which may make it difficult for us to realise the benefits of integrating a rules engine into something like the LASER codebase. It may still perhaps be possible for us to realise some benefits within FMI, but I suspect LASER is looking like a lost cause from this perspective unless there is some compelling reason supplied by a peripheral system.

Some interesting points about the session related to how well the tool support appears to have progressed for this technology. Plugins for Eclipse are now available for DRL, with all the usual syntax colouring, validation, etc, and DSL has evolved so that rules now have "natural language" support, making them more human readable. In addition debug and audit views were briefly shown in Eclipse, making it easy to trace activity within the engine.

No comments: