What is SOA? Service Oriented Architecture (SOA) is an evolutionary approach that aims at creating flexible IT architecture and complete alignment between an enterprises' IT and business needs. SOA is not a new concept and has been around for some time. In fact many consider the first SOA to be in the use of DCOM or Object Request Brokers (ORBs) based on the Common Object Request Broker Architecture (CORBA) specification.
An application's business logic or individual functions are broken down into services. A key feature of these services is their 'loosely coupled nature' which makes the service interface independent of the implementation. Developers can build applications by composing one or more services without knowing the underlying implementations. For example, a service can be implemented either in .Net or J2EE, and the application consuming the service can be on a different platform or language.
Service Oriented Architecture, as an idea is still in a very nascent stage of evolution with common misconceptions and myths persisting even about basic tenets of the practice. Many companies are still very skeptical about SOA scalability and benefits.
Some of the following feature high on the list of concerns related to SOA scalability -
Business processes often run on existing applications and computing environments long after they were first put in place. Changing the entire IT infrastructure to accommodate new functionalities or building each application from the ground up each time is too expensive and time-consuming for most enterprises.
SOA architecture is an answer to this problem. It aims at making systems more agile and responsive to changing business needs. With an SOA focus to enterprise systems, companies can enhance, develop, maintain and manage applications with great ease while responding to changing business and IT needs proactively and cost-effectively.
It has been proven that a step-by-step iterative approach to Service Oriented Architecture is more effective than attempting a complete technological and business process overhaul at one go. In fact, one of the most widely prevalent misconceptions about SOA implementation has been the notion that Service Oriented Architecture requires the equivalent of a 'big bang'.
The best way to take up Service Oriented Architecture implementation involve
Companies implementing SOA can take a top-down or a bottom-up approach. Both approaches have possible obstacles that can lead to chaotic results - sometimes throwing up results that are out of sync with actual business processes and organizational goals. For better results companies like Microsoft advocate a 'middle-out' approach, which is a successful blend of the earlier two approaches.
SOA encourages companies to move away from the 'build from scratch each time' frame of mind to a scenario where they can leverage and assemble existing applications for enhanced or completely new functions. Service Oriented Architecture makes this possible with excellent results because of the basic technology-neutral way in which the system architecture is designed.
Service Oriented Architecture (SOA) is a strategy for architecting IT systems to ring in a new generation of dynamic applications which are platform neutral, flexible, consistent and comply with internal business processes and external user-requirements. Businesses that transition successfully to SOA can gain the agility necessary for superior performance.
Research findings indicate promising trends in SOA adoption by companies. A study by the Aberdeen group predicts 11% cost reduction for companies transitioning to SOA while another prominent research group predicts that a use of SOA can result in nearly 30% savings.
Find out more about Software-as-a-Service(SaaS).
Read more about SOA and Web Services Testing.