Service Oriented Architecture is an overly used and widely contextualized term that means different things to different people. Rotem (2007) examines the definitional edifice of SOA, and analyzes the term to derive its broader intended import.
The Service Orientation component of the term SOA, addresses the enterprise, or the business perspective. In this context, SOA helps in analyzing business to identify core areas, and their allied processes. Services are intended to support the core business areas, and expose their capabilities through message interfaces. A set of services are choreographed to realize business processes.
The Architecture component of SOA, defines the technical perspective. SOA is seen as an architectural style that is loosely coupled, interoperable, and built using components, or software agents called, services. Services have well-defined interfaces based on protocols (usually, web-services though not limited to it), as well as, quality of service (policies) that support the service consumers.
Marks and Bell (2006) defined SOA as: “a conceptual business architecture where business functionality, or application logic, is made available to SOA users, or consumers, as shared, reusable services on an IT network. “Services” in an SOA are modules of business or application functionality with exposed interfaces, and are invoked by messages.”
Businesses in a globalized marketplace are acutely competitive. The enterprises are always seeking ways to reduce time to market, improve business alignment for growth, and increase knowledge sharing amongst their constituents.
Aberdeen (2007) notes, “Organizations that are focusing on SOA infrastructure are outperforming those that are deploying only Web services. They are realizing lower application lifecycle costs, better throughput for projects, and higher levels of user