Building an XML-based Business Rules Management System (BRMS) on top of XProc

Hi Folks,

XProc can be a great way to express business rules.

On the xml-dev list we had an illuminating discussion that revealed the difference between structural rules and business rules.

Here are a few examples of business rules:

    A Level 1 manager has a maximum signature
    authority of $10K.

    An auto loan applicant, living in Ohio, is
    underage if he/she is under 18 years of age.

    If a customer has no outstanding invoices, 
    then the customer is of preferred status.

    An underage applicant for an auto loan on a   
    high-powered sports cars is not eligible.

Consider that last one. That rule depends on a rule to determine if the applicant is underage, and a rule to determine if the car is a high-powered sports car:

       Is-underage ---> Is-Eligible
                               ^
                               |
  Is-high-powered-sports-car --|

XProc can do this! An Is-underage step can be created, and an Is-high-powered-sports-car step can be created, and they can be fed into an Is-Eligible step.

Analyzing business rules requires checking dependencies, consistency, and completeness.

Checking dependencies is easy in XProc: just check the connections between the steps.

I'm not sure how to check consistency and completeness.

I think that XProc could be used as the basis for an XML-based Business Rules Management System (BRMS) by providing along with an XProc processor a WYSIWYG tool, a test harness, and maybe a couple other things.

What do you think?

/Roger

Received on Wednesday, 17 June 2009 20:13:43 UTC