Implementing Library Circulation Policies Using Drools

Drools: in OLE
Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Drools is an open source rules management system (http://www.drools.org/) that has been used in OLE to implement library circulation policies. Drools has proven to be far superior over the current implementation (Kuali Rules Management System - KRMS) in the following areas;

    1. Performance
    2. Ease of authoring rules 
    3. Ease of updating the rules repository

Workflows: in OLE

 The following workflows have been implemented so far. 

    1. Checkout Item(s): 

      Click the figure below to look at the actual gliffy image





Technical Details:

    1. A rule(s) file in Drools has the extension of .drl and is a simple text file with rules specified in a drools specific language. A sample of general checks for a patron can be found in general/general-checks.drl in the drools-chicago-poc branch and the 1.6.2 branch and the trunk of the code repository.
      1. The expression language is very much like Java and can be easily understood by a java programmer. 
      2. For functional people, a more user friendly Rules Editor will be provided in a later release of OLE. 
    2. The Drools Engine in OLE upon start up loads policies (.drl files) under the ${user.home/kuali/main/${environment}/olefs-webapp/rules} directory. The directory can contain sub-directories or simply files. 
    3. Updates to policy files can be made at any time and re-loaded by setting a system parameter LOAD_CIRC_POLICIES_IND 'Y'.

 

Also see Drools Technical Documentation

 

Operated as a Community Resource by the Open Library Foundation