Welcome!

SOA & WOA Authors: Peter Silva, Maureen O'Gara, Tony Bishop, Mark O'Neill, Yeshim Deniz

Related Topics: SOA & WOA, Java

SOA & WOA: Article

SOA Web Services: "Ruling Out Services"

Ask 10 people the question: What is SOA? You will most likely get 10 different answers

Ask 10 people the question: What is SOA? You will most likely get 10 different answers. Chances are that in more than 50 percent of the cases, the word "Web services" will be a part of the answer. Another 20 percent will talk about process orchestration, XML, integration, and so on. All of these answers definitely describe either the elements of SOA or the components used for the implementation of SOA. One of the technology paradigms that does not instantly come to mind though is "business rules."

The association of business rules technologies with service orientation is rather new, although the technology itself has been around for a while. Business rules and process orchestration make a rather interesting combination. A few years ago the two areas had substantial overlap, and in a project it was sometimes hard to determine which one to use to solve which problem. A couple of years back a client had engaged us in a project that involved a rather elaborate proof of concept to determine whether the combination of process orchestration business rules made sense in their organization. The project was part of a larger initiative to service enable their legacy applications. Since the whole team was new to the technology, often questions arose regarding what to model where. The process orchestration vendors provide the ability to execute conditional logic within the process. Of course, this should be limited to logic that is routing, branching, etc. - not logic that is associated with actual calculations, decisions, and complex computations. The BRMS (Business Rules Management Systems) vendors, on the other hand, allow you to do the opposite - execute flows in the midst of processing complex logic. What can't be achieved (in either product) through the basic constructs can be done by using the programming language and scripting plug-ins that are available.

The market has matured quite a lot since then. It is not that the features have been removed - indeed, the products offer more, not less. It is just that the space that is occupied in the tiers of an SOA is much more clearly defined. Process orchestration is for the orchestration of business logic (implemented in SOA as discrete services). It allows us to separate the actual execution of the service from the context in which it is executed.

The service that is orchestrated through process orchestration performs business logic. If that business logic is composed of complex computations based on decisioning, it lends itself very well to the paradigm of business rules. All of the business rules engine (BRE) vendors in the market specialize in modeling such logic during design and executing it very efficiently during run time. Also, the interface to this logic is accessible as a well-defined service in an SOA. If you are designing a business process, essentially you will end up with discrete tasks. The tasks that lend themselves well to complex conditional logic are excellent candidates for business rules. BREs also provide powerful features for designing and modifying the rules in "business terms," which helps an SOA achieve the business agility objective.

Thus the question that may come to mind is: Why don't we see business rules mentioned whenever there is a reference to SOA - such as orchestration? Well, though business rules can be used to implement services in an SOA, they are applicable to a certain kind of service. In other words, there are other paradigms for creating services - object-oriented programming language constructs constitute one of the most prevalent. On the other hand, process orchestration orchestrates all services, whether they are business related or not.

More Stories By Ajit Sagar

Ajit Sagar is a principal architect with Infosys Technologies, Ltd., a global consulting and IT services company. Ajit has been working with Java since 1997, and has more than 15 years experience in the IT industry. During this tenure, he's been a programmer, lead architect, director of engineering, and product manager for companies from 15 to 25,000 people in size. Ajit has served as JDJ's J2EE editor, was the founding editor of XML Journal, and has been a frequent speaker at SYS-CON's Web Services Edge series of conferences, JavaOne, and international conference. He has published more than 125 articles.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
SYS-CON Australia News Desk 01/26/06 08:21:32 PM EST

Ask 10 people the question: What is SOA? You will most likely get 10 different answers. Chances are that in more than 50 percent of the cases, the word 'Web services' will be a part of the answer. Another 20 percent will talk about process orchestration, XML, integration, and so on. All of these answers definitely describe either the elements of SOA or the components used for the implementation of SOA. One of the technology paradigms that does not instantly come to mind though is 'business rules.'

SYS-CON Italy News Desk 01/26/06 07:52:00 PM EST

Ask 10 people the question: What is SOA? You will most likely get 10 different answers. Chances are that in more than 50 percent of the cases, the word 'Web services' will be a part of the answer. Another 20 percent will talk about process orchestration, XML, integration, and so on. All of these answers definitely describe either the elements of SOA or the components used for the implementation of SOA. One of the technology paradigms that does not instantly come to mind though is 'business rules.'