You might have came across this term many times. This post attempts to provide different perspectives available in different sources for this term “SOA”. Don’t miss this wonderful SO thread on the subject.
From TOGAF 9 AS-IS:
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.
- 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
Also look at this page of Martin Fowler which outlines various ambiguity around the topic. Key ambiguity issues outlined there are as follows:
- SOA is considered to be exposing software through web services
- Asynchronous messaging exchange
- Systems communicate over standard messaging infrastructure such as SOAP/WSDL