Wednesday, January 13, 2010


What is SOA?

There have been so many interpretations of this throughout the years.
According to OASIS: Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains.

SOA means - Exposing the business logic/functionality in such a way that the client can reach that functionality at Remote Locations in a Distributed Environment, without communicating directly with business components. Here In fact, the term “service” isn’t even mentioned, although it is implied.
According to the high-level definition of SOA, business functionality (potentially owned by different applications, departments, companies, or industries) must be distributable and accessible in some way. The term service in this case refers to the entry point or “window” through which business functionality can be reached.

Below make you explain the above mentioned: Here below the client application represents an ‘Agency Management System’ which needs to access multiple business components.

Non- SOA Based:

Here the client application coordinates access to these features by consuming business components directly.

In this case, components are not distributable in such a way that they can be location transparent, thus they are Not Services

SOA Based:

 Here the client application can reach the business thru ‘Serviced Components’ viz. 
       - DCOM over TCP - Type library
      - .NET Remoting components via RPC over TCP - CLR interface
      -  ASMX web services via SOAP over HTTP - WSDL 
      -  WCF services via SOAP over any protocol - WSDL

Here in this case components are distributable. i.e. Any of these technologies can be useful in exposing the business logic in such a way that the client can reach that functionality at remote locations in a distributed environment, without communicating directly with business components.

The point is that services are not necessarily web services—they are merely chunks of business functionality exposed in some way such that they respect the tenets of SOA.

Tenets of SOA

Although there is no official standard for SOA, the community seems to agree on four basic tenets as the guiding principles for achieving an SOA. They are:

• Service boundaries are explicit.
• Services are autonomous.
• Clients and services share contracts, not code.
• Compatibility is based on policy.

Service boundaries are explicit

Services are autonomous.

Clients and services share contracts, not code

Compatibility is based on policy

Hope this helps.

Arun Manglick

Disclaimer: The information contained in this message may be privileged, confidential, and protected from disclosure. If you are not the intended recipient, or an employee, or agent responsible for delivering this message to the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify us immediately by replying to the message and deleting it from your computer.

No comments:

Post a Comment