In chapter 4, we address the rule discovery and analysis activities of ABRD. This is an important step of a business rule application implementation. The example is a claim processing application. In the insurance industry, this business process is one of the most complex to implement. We do not pretend to give you a real claim processing application. But the data model is complex enough, so we can implement rich business rules, and also we can address the problem of the integration with a BPM product (in a future post).
On pages 104 and 111, we present a set of facts about the data model, which was derived from discussions with the claim adjudicator and claim processor experts. Recall that the development of the data model for the rule is coming by analysis the terms expressed in the rule declaration, and by analyzing the business terms used by the business.
The rule discovery and analysis outcomes are:
- a conceptual data model
- a glossary of term
- a rule description document
- a recommendation on where to implement the rules
For the conceptual data model we use basic UML class diagrams, representing the business entities at scope and their inter-relationships. The diagrams are used to communicate with the business team, and to help them understanding the navigation between elements of the model. This is important as this conceptual data model is future building the vocabulary to express the business rules in the BRMS. In term of tooling, any UML diagram editor should work.
The conceptual data model evolves over time, when we progress on the rule discovery and analysis. It is a tool for the business, but in parallel a developer can develop a logical data model which will be used to test the rules. This model is developed by applying object oriented design practices. This model will be used at the execution level, as we like to call it, Rule Business Object Model, or RBO. There are two approaches to develop this model, one is using UML and generates code, the other is to start from the java code, mostly java beans, and then generate UML class diagram. Those diagrams are used for communication between the different project stakeholders. Most of the time I prefer the second way, as I can test the data model, and immediately figure out what behavioral, factory methods I need to add to the model. This is important as we need such method to simplify the rule writing.
The following ClaimProcessing-rbo is a zip file you can download to get the rbo java project which includes the data model used as JRules xom. Use ant to build the jar for the model. Before doing so, you need to download ClaimProcessing-parent which is a parent project used to set common ant script, repository of jars, and properties file. This parent project is used by all the other projects.
Import those two projects in Rule Studio, and create a bom project. We will describe the BOM project in a separate post.