Friday, September 03, 2004

Service Oriented Architecture (SOA) Myths!

I was reading an article at “Enterprise Architect Online” on “SOA: Debunking 3 Common Myths” .
It clearly states 3 common misunderstandings regarding SOA. To sum up the things following are the 3 points:
1- SOA is Object Oriented!
SOA must not be thought of as an evolution in Object Oriented Systems. Rather SOA has nothing to do with Objects, Classes and components for that mater. It is something beyond that rather “(Vertically) above“that. SOA can be thought of the way these Object Oriented Systems or Aspect Oriented Systems or Structured Systems for that matter inter-connect and communicate, provided there are set of Services, their Providers and their Consumers.
2- SOA implies Distributed Computing!
SOA does not get into the implementation details as such. It is only interested in “Find/Bind/Execute“ paradigm i.e. as long as there are services listings, service providers, and service consumers SOA is there. It is up to the service implementation how it uses other things including Distributed Computation. As the (Tarak Modi) author of this article says:” The net take-away here is that services (and SOA) do not imply any distribution semantics.“
3- SOA equals Web Service!
Usually people think SOA and Web Services are the two names of a similar technology. Even some uses them interchangeably without knowing the differences! The relationship between SOA and Web Services can be thought of as a “Kind Of” (think of inheritance) relationship. Web Services are a kind of Service Oriented Applications. Further more SOA is a concept (think of an “Interface” or an “Abstract Base Class“) while Web Services are implementation of SOA (think realization of an abstract concept!). While web services follow SOA architecture, it does not mean that to implement SOA one needs to implement Web Services.

No comments: