Service Oriented Architecture
Service Oriented Architecture
Service-oriented architecture (SOA) is a design pattern based on distinct pieces of software
providing application functionality as services to other applications via a protocol. This is known as
service-orientation. It is independent of any vendor, product or technology.
Service-Oriented Architecture (SOA) is an architectural style that supports service-orientation.
Service-orientation is a way of thinking in terms of services and service-based development and the
outcomes of services.
A service:
 Is a logical representation of a repeatable business activity that has a specified outcome (e.g.,
  check customer credit, provide weather data, consolidate drilling reports)
 Is self-contained
 May be composed of other services
 Is a “black box” to consumers of the service
Services are unassociated, loosely coupled units of functionality that are self-contained. Each
service implements at least one action, such as submitting an online application for an account,
retrieving an online bank statement or modifying an online booking or airline ticket order. Within
an SOA, services use defined protocols that describe how services pass and parse messages using
description metadata, which in sufficient details describes not only the characteristics of these
services, but also the data that drives them. Programmers have made extensive use of XML in SOA
to structure data that they wrap in a nearly exhaustive description-container.
SOA framework
SOA-based solutions endeavour to enable business objectives while building an enterprise-quality
system. SOA architecture is viewed as five horizontal layers:
 Consumer Interface Layer - These are GUI for end users or apps accessing apps/service
  interfaces..
 Business Process Layer - These are choreographed services representing business use-cases in
  terms of applications.
 Services - Services are consolidated together for whole enterprise in service inventory.
 Service Components - The components used to build the services, like functional and technical
  libraries, technological interfaces etc.
 Operational Systems - This layer contains the data models, enterprise data repository,
  technological platforms etc.
There are four cross-cutting vertical layers, each of which are applied to and supported by each of
horizontal layers:
 Integration Layer - starts with platform integration (protocols support), data integration, service
  integration, application integration, leading to enterprise application integration supporting B2B
  and B2C.
 Quality of Service - Security, availability, performance etc. constitute the quality of service which
  are configured based on required SLAs, OLAs.
 Informational - provide business information.
 Governance - IT strategy is governed to each horizontal layer to achieve required operating and
  capability model.