Search code examples
xmlbusiness-rulesdiagramming

Custom Diagramming Tool


We have a custom business rules engine that stores rules within XML. The XML is currently editied and understood by fairly technical people.

There are a couple of use cases that are being developed around the management of these business rules on an ongoing basis:

  1. Represent the existing business rules diagrammatically, so there's a wider understanding of existing rules;

  2. Build a capability that allows the business users to create these rules using a diagramming tool

We are thinking of going down the path of exploring Visio 2010 (BPMN 2.0 Notation) for diagramming with potentially an xml transformation layer.

Any ideas are welcome.


Solution

  • It's been said many times before but I'm going to say it again simply because I am in business rules industry (university, not vendor) and business rules are quickly becoming very important part of any IT development.

    It is very likely that your team will spend a lot of money, time and effort trying to reinvent the wheel. Creating a code that would evaluate your rules is not usually a problem. And you seem to solve it already. Now you are facing the most challenging part of it: the UI.

    Even though all books say that the most important point of business rules is the separation of business logic from the main system, I'd say that practically the most important point of having business rules engine is to enable BUSINESS PEOPLE to create those rule themselves, without bothering programmers. That means a solid UI.

    There are business rules engines with great user interfaces out there that do everything that you need, and they do that more efficiently for substantially less money. Some of them are free or have free option(s).

    Take Drools, for example. It's a super performer. But it's useful only for programmers unless you add the Guvnor to the picture. Before the Guvnor, Drools was popular only among huge corporations that care more about evaluation performance then usability.

    So, at least take a look at some of them before you undertake such a monstrous project of building rules UI yourself. Consider Drools if you are on Java platform. You can also look for commercial UI components that sit on top of the rule engine built into MS Workflow Foundation. All those engines save their rules in XML format, they all have great UI (or UI components), and all are either free or relatively cheap (except for maybe InRule and BizTalk.)

    I do hope this helps you to save all that aggravation and expense that your team is about to experience :)