#ORF09 Rule Patterns and Features Presentation

This entry is part 3 of 30 in the series October Rules Fest 2009

David Holz started his presentation saying that the goal of his company is to eliminate all programming except in rules! Obviously it is a little tongue in cheek. But basically, how do you take rules beyond business rules?

They are trying to do as much as they can in rules and can see that writing rules using that approach has some advantages. Some of the disadvantages, is a loss of low level control and some performance in execution, but claims gains in productivity.

Some of the targets for declarative style are:

  • Configuration
  • Partial failure recovery
  • Permissions Systems
  • Job Control, workflows, state machines
  • Continuous integration
  • GUI layout and control

Based on that list, I’m not sure we are quite ready for this type of programming, but in theory it could be applied.

To achieve this, they created a Unified Rule Engine Model. This requires that all data is actually stored in Facts and you have a single knowledge base for the entire application suite. Then the rule engine controls everything else.

The challenges in having a Unified Rule Engine Model is that all the Facts need to be persistent, so your knowledge base is no longer simply in memory, it requires things to be permanent. Another challenge is how to support updates of rules without re-firing of a rule that was changed. Scalability is obviously another huge challenge.

My first impressions on all of this is that it is very interesting from an academic perspective, but I am not sure how much can be applied in the short term. Maybe it will have potential in the long term future, but I have doubts on the short term and medium term potential of this type of architecture.

The hurdles to making this production ready, stable enough, with the persistence challenges are very hard to get over. Then you need to have successful implementations, and to start convincing people that this is the way to go in the future from an architecture point of view. Hmmm.

The presentation then talked about Design Patterns in the Object Oriented World, and how it help software development. He wants to bring this to the rules world.

Some of the rules patterns he presented:

  • A consumption pattern (and some other related patterns
  • Event queue pattern
  • Continuation Pattern

Still a very interesting presentation although I’m not sure how the first part could really be applied today. The Design Pattern part of the presentation has a lot more potential and I would be interested in seeing more on the topic in the future which David Holz is hoping to work on in the near future.

Series Navigation<< #ORF09 Playing With the Rules Presentation#ORF09 Early Alert System Presentation >>

One thought on “#ORF09 Rule Patterns and Features Presentation

  1. Our rule engine server has been actually deployed internally for a few months now, with persistent facts and rules, managing our state and doing delegation to libraries written in other languages. ;) I’m pretty sure I mentioned that in the talk, though it might have been missed.

    We were careful to present only that which we had already running, or had finished technical design on, so that we wouldn’t be broadsided by any unexpected questions.

Leave a Reply

Your email address will not be published. Required fields are marked *

*


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>