Service Oriented Architecture
A Service Oriented Architecture (SOA) is set of principles defining an architecture (that is loosely coupled and comprised of service providers and service consumers) which interacts according to a negotiated contract or interface. These services provide the Interfaces to Applications in the IT landscape. The primary goal of SOA is to expose application functions in a standardised way so that they can be leveraged across multiple projects. This approach greatly reduces the time, effort and cost it takes to maintain and expand solutions to meet business needs. SOA is not an off-the-shelf technology; rather, it is a way of architecting and organising IT infrastructure and business functionality.
SOA promotes loose coupling of software, resulting in services that are easier to integrate as they utilise lower-cost tools and have standards-based exchange formats and interface.
SOA Attributes:
• Functionality is organised as a set of modular, reusable shared services
• Services have well-defined interfaces and encapsulate key business processes
• Customer facing solutions serve as customised views of these services for different segments, and can access these shared services as needed.
• The reusable shared services are built without making any assumptions of who (portal or another service) will consume these services
Benefits of SOA:
• Agility to collaborate – SOA provides the ease of sharing information securely with partners and stakeholders by presenting a standard coarse grained service which any authorised business partner can use.
• Reduction of cost – SOA primitives are standards-based. For example, WSDL, SAML, SOAP & UDDI, provides a modular architecture, thereby enabling sharing and reuse of services.
• Improvement in efficiency – SOA promotes a modular enterprise, promising a high degree of reusability of business services, ensuring consistency.
Summary:
Although organisations vary in their purpose, size, structure and community, their underlying IT systems presents a broad set of common concerns and requirements. Examples include the need to align IT with the organisations missions and objectives, IT governance, providing competencies and abilities to share information and collaborate effectively and efficiently.
With SOA, companies have the potential to enable a much higher degree of business agility by transforming the current enterprise IT into a service-driven delivery model.