Thomas Erl, well known SOA author, recently presented on Business-Centric SOA: Using Service-Orientation to Express Business Logic and Rules through Services through TechTarget's network. We sponsored this as we believe that there is a great synergy between the business-centric SOA approach Thomas discusses and business rules management systems like Blaze Advisor.
As the webinar intro says "One of the greatest challenges organizations are facing is how business logic and rules relate to and can be expressed through services."
In the webinar Thomas goes through how to think of SOA in terms of different service layers. When you do that, it becomes clear the one value of business rules in the orchestration of services - see this note and indeed this section on this blog for more - but the other is in the construction of what Thomas calls "entity-centric" services. These services are often decision-heavy and embedding decision logic in them helps both eliminate manual reviews and enable more reuse - a service with automated decisioning can be embedded in any kind of process while one with manual decision-making cannot be embedded in a process intended to be straight-through/hands-off. Additionally business rules may show up in task-oriented services.
Let's think about the advantages of business rules management systems in these circumstances:
- Thomas also makes it clear that the business process definitions within an orchestration layer and task-centric business services will often have similar business rules . A BRMS allows these rules to be managed once in a single repository and deployed to both the orchestration and task layers and so allows you to migrate logic as you evolve your SOA.
- Business rules within entity-centric services are often around the validation and processing of an entity. These kinds of rules are ideal for management and execution using a BRMS.
- Entity-centric business services also lend themselves well to having these rules exposed to a business owner allowing that business owner to evolve the definition, for instance, of a valid invoice without having to engage with IT or bring the service down in any way.
- In general companies often start by building task-centric services and gradually evolve. A BRMS allows the business rules needed by all the various kinds of services to be managed once, exposed to business users once and deployed in whatever changing set of services works for the business.