Task: Business Rule Analysis
This task identifies the design elements of a service-oriented solution in terms of services and partitions and documents the initial specification of those services.
Disciplines: Analysis & Design
  • To identify the design elements of a service-oriented solution in terms of services and partitions.
  • To document the initial specification of services.
  • To determine the initial dependencies and the communication between services.
Main Description

This task uses Business Process Models as input and identifies a set of candidate services which are included in the project service portfolio. These candidate services may yet require additional refinement; however, the steps included here provide an effective manner in which to produce an initial set of Service Specifications.

Identify Candidate Services from Business Rules

Certain classes of solutions tend to rely heavily on the use of Business Rules to extract the variability from the solution and externalize such that the rules can evolve outside of the main application logic. From a Business Analysis Model including Business Entities and Business Rules, it is possible to define services that encapsulate the business rules, externalizing them from the rest of the logic of the solution. The following diagram demonstrates a small, sample business-analysis model showing two business rules attached to the business entity named Order. These rules, as they are attached to a business entity, are most likely to correspond to invariants on the entity and so will be evaluated on any change in state of the entity. Rules may also be attached to actions or processes and are more often evaluated as pre-conditions or post-conditions for the action.

Diagram is described in the textual content.

In modeling the example above, it is assumed that there is a traceable relationship between the service specifications derived from the business rules and between the message(s) derived from the business entity.

In many cases complex rules are aggregated into Rule Sets, these are much more of a match for the granularity of service, allowing, for example, a document to be passed to the validation service where the set of rules are evaluated and the results returned. From the example above, we can easily imagine that the validation services actually embody quite a complex set of rules for validating the compatibility of items ordered, quantities, and so on.

More Information