|The OpenRulesTM Tutorials Home TOC||User's Guide|
OpenRules Repository Management
To represent business rules OpenRules utilizes the commonly-known spreadsheet mechanism by placing rules in regular Excel files. OpenRules allows users to build enterprise-level rules repositories as hierarchies of inter-related xls-files. OpenRules Engine may access these rules files directly whether they are located in the local file system, on a remote server, in a standard version control system or in a relational database. The following picture shows a logical organization of an OpenRules repository and its possible physical implementations:
Logically OpenRules Repository may be considered as a hierarchy of rule workbooks. Each rule workbook is comprised of one or more worksheets that can be used to separate information by types or categories. Decision tables are most typical OpenRules tables and are used to represent business rules. Along with rule tables, OpenRules supports tables of other types such as: Form Layouts, Data and Datatypes, Methods, and Environment tables. A detailed description of OpenRules tables can be found here.
Physically all workbooks are saved as standard xls- or xml-files with well-known formats. The proper Excel files may reside in the local file system, remote application servers, a version control system such as Subversion, or inside a standard database management system. Click here to read more about DB-based repositories.
OpenRules uses an URL pseudo-protocol notation with prefixes such as "file:", "classpath:", "http://", "ftp://", "db:", etc. Typically, the main xls-file Main.xls is located in a subdirectory "rules/main". In this case the location of this file may be defined as "file:rules/main/Main.xls". If the main xls-file is located directly in the project classpath, you may defined its location as "classpath:Main.xls". If it is located at a website with the URL "http://www.example.com/rules/Main.xls", you can use this string as its exact specification.
While rules hierarchies may have an unlimited size and depth you will not lose control over their potential complexity by using practical and intuitive repository management tools. The following sections provide detailed descriptions of how to organize and maintain different OpenRules repositories: