Monday, October 3, 2011

Is SOA about Technology?

A week back I was discussing SOA with somebody who is expert in SOA and had been implementing SOA for more 5 years. He explained SOA mostly in terms of tools and technology. He had worked in best of stacks in the industry. Service Identification an the important concept of SOA paradigm was nowhere in mention in his entire talk.



This seems to be a common notion of SOA around the industry. Most people and interviewer start focusing on the Enterprise Service Bus (ESB), Business Process Management (BPM) and Service Life Cycle which are the tools for SOA deployment.


It is similar to start discussing about Object Oriented Design from Language syntaxes, Application Servers, Compilers and Transactions etc. instead of discussion about the Design Principles for finding reusable components, classes, relationship between classes to achieve reusability, extension, flexibility etc.


No one discusses about Principles for identification for services which makes sense and achieves reusability, designing services and interfaces which are immutable, configurations which will allow services in multiple scenarios.

SOA is about Business aligned IT. So any discussion about SOA should start from Business so that we can then accordingly define IT strategy in alignment with the Business. But, when SOA word is mentioned people start talking about web services, BPM, ESB leading to its early death.


Microsoft in their “Business-Oriented foundation for Service Orientation” talks about new architecture principles which needs addressing:-
  • How do we prevent service-orientation from following similar promising initiatives into the same architectural mistakes of the past?
  • How do we ensure that the chosen implementation architecture relates to the business requirements?
  • How do we maximize the life expectancy of the implementation in an ever-changing environment?
It further talks of SOA tenants Principles for identification for services which makes sense and achieves reusability, designing services and interfaces which are immutable, configurations which will allow services in multiple scenarios.   

No comments:

Post a Comment