August 10, 2009
Service Oriented Architecture
What is it all about?
Is this a Technology?
Is this a framework?
Is this just Web services?
Answer is No
Services Oriented Architecture is basically an evolution in the way how systems are architecturally designed. We started from Procedural then to Object Oriented and then
Currently Working on Aspect Oriented programming. On top of all these there are
Certain Language/Platform specific Patterns and generic Patterns available
So our application Framework stack has always been based on Development Architecture framework (Specific to project) build on top of available Frameworks in compliance to
Certain Patterns accepted by community.
Now what is this evolution all about? This is not a big change in terms of what we are going to build, this is primarily a huge change in terms of how we are going to build any new application henceforth
￢ﾀﾜLess Coupling or Decouple￢ﾀ? that￢ﾀﾙs the mantra of SOA.
Think of a human body, is this a SOA compliant architecture yes, it￢ﾀﾙs all decoupled well to perform its individual job and work cohesively to meet the demands
For eg, take human body parts, eyes, ears, mouth, nose, hands, legs aren￢ﾀﾙt they all decoupled well? Yes offcourse, because we will still exist even few of them don￢ﾀﾙt work (but with certain limitations). It doesn￢ﾀﾙt turn of the whole system. At the same time all these perform it￢ﾀﾙs individual primary task which it￢ﾀﾙs built for and to cohesively meet a certain requirement of this existence.
Same way haven￢ﾀﾙt we identified the parts of any generic applications (across various domains)
We have developed the primary MVC pattern to the way how systems will communicate to the end users to and fro and then work internally with certain other components to meet a demand.
So the framework in general is like this (there are certain specific aspects pertaining to a project or domain based on various other factors)
– Business Logic
What are we trying to accomplish here already ￢ﾀﾜBusiness Logic￢ﾀ? and ￢ﾀﾜPersistence￢ﾀ? are well defined layers of any currently developed system. These two layers enable people to communicate to perform a certain job.
What is new with SOA, with this there is just an introduction of Service Layer at any of these levels based on needs and various other factors
This way all these layers are decoupled clearly. Certain other factors according to the needs of this architecture will be met by following SOA standards. For eg., Web Services is one way of
Building a Service Layer which enables ￢ﾀﾜLanguage Independent￢ﾀ? Protocol as the way of communication
So SOA is architecturally an evolution of Distributed Computing based on current needs and future needs. It enables every part of the application could certainly be invoked by any other application in an distributed or an local environment
Does SOA has any relationship with Hardware infrastructure? Answer is Yes, it￢ﾀﾙs dependent on the Network Hardware infrastructure it certainly addresses few areas of network fallacies as of now
We shall discuss about the various fallacies and how SOA need to address that in another article later