Saturday, August 06, 2005

Little about SOA

You can say SOA is Service Oriented Architecture. But question comes is what is this Service Oriented or Service Orientation? I am not going to take you to any technical details here. We will simply discuss what can be service oriented environment. Service orientation is a means of building distributed computing system. At its most abstract service orientation views everything from a mainframe system to the printer to the clerk at RTO office to the shipping company - as a service provider. Service provider expose their capabilities through interfaces. Service Oriented Architecture maps all these capabilities and interfaces so that they can be orchestrated in a process. The key factor of service oriented model is the separation between interface and implementation. The invoker of service need not (or should not) know implementation. Invoker just has to understand the interface provided. Over the period of time implementation can evolve. For example - Citibank provides you with number of their call center. It is a service according to service orientation. You dial the number and receive the service. You need not to bother whether they use EPBAX system within the system or some other method. You need not to know whether 10 people are their to attend your call or 101. This loose coupling between interface and implementation gives freedom to implementor to change implementation (no. of people attending the call) at any time and retain the compatibility as long as interface (in this case phone number of call center) is not changed. Ok at this point you know what Service Orientation is. But what is it good for?

Ok, take a case with egg. To a farmer it would turn out to be a chicken. A cook might see it as omelet. A little kid may foresee one vibrant easter decoration. So, service orientation is an egg.

To developers and architects it could turn out to be a mans for creating dynamic collaborative system. Service orientation allows them to pick up specific capabilities and lay them down to make one system. To the IT manager it can be a means to effectively integrate the capabilities of different system to make one much better system. To CIO it may be a way to save organization investment on different system over a period of time. By encapsulating a business application behind capability-based interface the service model provides controlled access to mission critical application. To the business analyst service orientation is a means of bringing technological investment more in line with business needs.

Here I have just touched the generic view of SOA (much hyped word and everybody wants to have it now a days). I didn't go into any technical depth here. It was a layman's definition to SOA. You can try on your own to find out how big shots may describe service orientation (long live Google). You will find that every body is busy touting SOA according to their benefit. Will see how we can escape through this and learn some good points about SOA.

No comments: