Friday, December 22, 2006

Unexpected Performances Can Occur (Sometimes)

I just can not believe the message Khalid Khalil has just posted on NxBRE's open discussion forum!

Using object pooling, Khalid has reached a throughput of 2000 requests per second with the Flow Engine, one of the two engine flavors available in NxBRE. It is far beyond the performances I was expecting for my tiny business rules engine: way too cool!


Anonymous said...

well , im willing to work with you this rule engine.

I loved working on this product of yours .

making it more robust , moving it completely on XML and making it more robustable.

even integerating it with Workflow foundation.

Anonymous said...

Love to work on your tiny rule engine and implement different algorithm in it.

Integerating it with different products like windows workflow foundation and other places where rule engine is required.

like packages for E-Commerce and other financial packages

David Dossot said...

There is a lot of "love" in these comments, I like it ;-)

As I always say: any contribution is welcome! The fine line being that NxBRE should remain simple and very well tested.

Let's look at your points:

- Making it more robust (and even more robustable?): sure! But did you have any issue with the engine that made you doubt its robustness?

- Moving it completely to XML: mmmh, I thought it was already using only XML files. Here one interesting addition would be a ReactionRuleML driver for the Flow Engine.

- Integration with the workflow foundation and other applications: this is interesting! What about BizTalk?

- Implementing different algorithms: this is interesting too, as long as it can run RuleML rulebases. What I would expect from a new algorithm would be efficient Mutex and PreConditions for example (not process wide like it is now, but scoped to the facts involved into the operation context).

What else could be needed?

- A WinForm editor of DSL rules, with code assist, would be great.

- A Visio stencil and driver for the Flow Engine would be cool.

- More documentation, more examples...

So, there is a lot to do... but I will not accept anonymous contributions, so you have to have a name ;-)