Service-Oriented Architecture

SOA divides functions into distinct units, or services that can be accessible via a network in order to enable users to combine data and re-use it in developed applications. Services and their corresponding consumers interact with each other by passing data in a standard, common format, or by combining an activity from more than one source.

SOA-based solutions are designed with the concept of five horizontal layers:

1. Consumer Interface Layer: GUI for end-users and applications to access service

2. Business Process Layer: choreographed services representing business use-cases

3. Services: services are consolidated together on a company level in-service inventory

4. Service Components: components used to build the services, libraries, interfaces

5. Operational Systems: data models, data repository, technological platforms, etc.

SOA involves loose coupling of services with systems that underlie apps:

Message Queue -> Message Broker -> Integration Framework -> Enterprise Service Bus -> Integration Suite (BPM, MDM)

In addition to five horizontal layers there are also four cross-cutting vertical layers, each of which are applied to and supported by each of the horizontal layers: Integration layer, Quality of service, Informational, Governance.