Separating Rules from Business Processes.

Tuesday, April 15, 2008

Service-oriented architecture (SOA) facilitates the development of enterprise applications as modular business services that can be easily integrated and be reused. Business Process Execution Language (BPEL) enable services to be orchestrated into business processes, which can be changed easily in response to business requirements. SOA promises simplified integration and increases service reuse.

Change in Business Requirements does not always mean change in Business Process but often mean changes to the rules that drive the process.

A typical business process often includes a number of decision points. These decision points generally have an effect on the process flow; for example, someone's credit rating may determine whether he or she is approved for a low-cost loan. These decisions are evaluated based on certain conditions and facts, which may be internal or external to the business process, and predefined company policies or rules. Business rules engines (BREs) allow architects to easily define, manage, and update the decision logic that directs enterprise applications from a single location without needing to write code or change the business processes calling them.

Embeding the business rules inside the business process has savaral drawbacks.

  • Business rules change more often than the processes themselves, but changing and managing embedded business rules is a complex task beyond the abilities of most business analysts. Thus, as business rules change, programmers often have commit expensive time to this task.
  • Most organizations lack a central rules repository. Consequently, any organization-wide change in policy cannot be applied across all business processes.
  • Business processes cannot reuse rules. Hence, IT personnel end up designing rules for each and every process, often leading to inconsistency or redundancy.


The best way to avoid these problems is to separate business processes from business rules. Rules can be exposed as services and BPEL processes can leverage these services by querying the rules engine when they reach decision points.


Following Steps can be followed to use Rules along with BPEL.

  • Create rules in a ruleset.
  • Expose the ruleset as a Web service.
  • Invoke the ruleset Web service from BPEL.

  © Blogger templates Newspaper by Ourblogtemplates.com 2008

Back to TOP