Thursday, August 16, 2007

SOA: Is it just another buzz word

It is not the strongest of the species that survive, nor the most intelligent, but the one most responsive to change.
~Charles Darwin

If you don't like something change it; if you can't change it, change the way you think about it. ~Mary Engelbreit


Since, I've been doing only non technical blog.... I thought maybe I'll do a technical blog for a change.. hey, maybe my hit ratio might increase ... after all they don't need to come to my site to read just another stupid review on the latest movie!!!

Service Oriented Architecture popularly known as SOA has been making its buzz around for a while IT and corporate circles. Is it just another buzz word.. that people will forget in a year or two. Maybe yes, Maybe No; but SOA certainly promises to be the direction in which technology is headed.

What is SOA?
SOA is a collection of services that can be attributed back to business processes. These could be mutually exclusive calls having no realtions to each other but might follow the workflow in a particular scenario.
SOA is an architecture that aims at unifying business processes from a business perspective rather than what the techonologists think it should be. It structures large and complex application as ad-hoc chunks of small services.
SOA does not seem to have an exact definition which leads to the assumption that SOA is just another term for web services. Well, to a certain extent purley from a techincal aspect, I guess that's true.

How does it work?
SOA works on the basic integration framework. It advocates to be a loosely coupled integration although it can be a tightly coupled integration. The best of SOA can be leveraged when it is in a publish subscribe mode where we have a Service Provider, a broker and a requestor.
This also helps for the fact that if yet another external service requires the details of the service in question. It can subscribe to this service. This will not involve any changes on the host but only the changes on the requestor.
Although SOA can be implemented using SOAP, DCOM, CORBA etc.. the best in todays world is the web services. The WSDL breaks it down to a format that can be consumed by any language. So it does not matter whether your requestor is going to be on a .Net framework or a J2E framework.

Why SOA?
SOA is not a new invention or a revolution. It's just the evolution of services structured around business needs. The world has changed from choas to structured. It went from HTML to XML to WSDL on Protocols and from COM/DCOM to corba to SOA
This promises to be the cost effective way in this constantly changing and highly demanding market condition. SOA's guides its principles on Re-usability, modularity, encapsulation, efficient use of system resources and EAI.

What are the challenges that it would have?
As this becomes more technology centric, security would be a major concern especially if the broker is on a public domain.
A lot of buzz around reduced TCO maynot show up immediately making it difficult to justify the cost benefits.
As this could end up being a series of disparate systems calling each other, debugging an issue in production maynot be easy.
Infrastructure costs on maintaining system test and development environments would high, if we want to maintain exact replicas.
Performance of one system (especially older systems) could impact the overall performance in the workflow of the application. This could lead to a perception that the perception of the current system is bad although the issue lies with the legacy systems.

To conclude, SOA has been gaining grounds in its power to define business services and operating models and deliver IT against actual business requirements and adapt itself closer to the current business process.

The only thing certain in life is death and Change.
-Anon

1 comment:

SMRITI JOLLY said...

This one was informational.

More stuff on Technical required Sir.
You are the database of many amazing stuff.Do share your expertise on this section of ur blog.

Looking forward for more :)