• 1

pulsar, pulsar consulting

Business Rules Manager

 

Technologies

The Business Rules Manager is built on GIDPlus which is the Pulsar’s development platform. GID Plus is the association of several well-known and widely adopted Open Source technologies, like:

  • Java/Java EE
  • Struts2
  • Spring
  • Hibernate
  • Velocity
  • XHTML/CSS/JavaScript
  • Ajax
  • jQuery, ExtJS
  • JPA
  • Jakarta POI
  • Apache Tomcat
  • LDAP
  • Eclipse
  • Oracle 10g
  • Maven
  • Excel
  • XML
  • GML
  • Schematron
  • ...

The main driver for developing the Business Rules Manager (BRM) was the need for an intuitive and user-friendly Web application allowing for domain experts, business analysts and senior developers to write, manage and synthesize business rules. The tool, which is especially simple to use, is built around two main components: a search screen and a rule editor.

The Business Rules Manager is also able to export the currently selected rules in an Excel sheet, in a predefined format specified by EUROCONTROL. In turn, the resulting sheet features a macro to transform the rules in a rule database usable by the AIXM Rules Checker Web (ARC-Web).

Business Rules

A Business rule is a statement that defines or constrains some aspect of the business. […] [Wikipedia]

Every serious IT tool integrates in a way or in another a series of business rules, included in the source code, in specific technical layers. The way these business rules are implemented is critical for the flexibility, extensibility and thus maintainability of the IT tool. 

Search Screen

The search screen, which is also the home page of the Web application, is a data mining tool which shows the list of business rules available in the database and matching filtering criteria. These criteria can be changed by (un)checking values in lists. Only rules matching checked values are selected.BRM-SearchScreen

 

Rule Editor

The rule editoris a very convenient form usable either to create a new rule or to edit an existing rule. It consists in a popup window showing the attributes of the rule in editable fields, some of which being a list of selectable values, other being simple text fields, other being bigger text boxes, e.g. for rule text itself.

Each rule has a plain text description in domain experts language. There is also an SBVR compliant translation of the rule which allows a smoother transition between natural language and programming language. Finally, there is a Schematron version of the rule. 

The BRMcould be easily customized to accommodate additional data as well as a language other than Schematron.

Semantics of Business Vocabulary and Business Rules (SBVR)

BRM-ruleeditor

 

The SBVR is an adopted standard of the Object Management Group (OMG) intended to be the basis for formal and detailed natural language declarative description of a complex entity, such as a business. SBVR is intended to formalize complex compliance rules, such as operational rules for an enterprise, security policy, standard compliance, or regulatory compliance rules. Such formal vocabularies and rules can be interpreted and used by computer systems. SBVR is an integral part of the OMG’s Model Driven Architecture (MDA) 
[Wikipedia] 

In other words, SBVR is a specification of how to define your own notation for writing Business Rules.

 

Schematron

In markup languages, Schematron is a rule-based validation language for making assertions about the presence or absence of patterns in XML trees. [Wikipedia]

Schematron is used to validate XML data files beyond XSD capabilities.

 

About the Rules

Two concepts, namely Generic Rules and Templates, helped drastically to increase the team productivity and the number of rules created while allowing the lowest maintenance costs of the rules sets.

Generic rules: rules that apply in more than one context, thus a mean to reduce the number of rules. 

For instance, rules on ElevatedPoints apply each time a feature has an ElevatedPoint. Using generic rules avoid writing one rule for each feature where the ElevatedPoint occurs.

Templates: parameterized rules used to speed up rule writing. A template allows replacing several rules having the same structure by one rule model plus a list of parameter sets. Each parameter set applied to the template allows generating one instance or actual rule.

For instance, GML Profile could be implemented by about 100 rules. But it can also be implemented by one template and the list of 100 attributes contained in the profile. This is faster and more compact.

BRM-ruletemplate

Export to Excel

The Excel sheet generated from the rules database contains one row per rule, including instances generated using templates. The sheet also features a macro to generate a rule database for ARC-Web based on rules which have a Schematron text. 

Basically, a rule is represented by a name, an SBVR compliant text, a Schematron text when available, as well as other technical data like the origin of the rule, the Schematron context, and the category of rule and level of error when rule is not respected.

BRM-Excelexport

ARC-Web

AIXM Rules Checker (ARC-Web) provided by EUROCONTROL is a tool used to validate AIXM XML data files using Schematron rules. The Excel worksheet generated by BRM contains a macro to export rules in a database usable by ARC.

BRM-arcweb