A Survey of SOA Resources



Note: this article first appeared as "An Intro to Service Oriented Architecture". The new "Intro to SOA" focuses primarly on the OASIS SOA Reference Architecture, which seems to be the most mature and complete of the SOA standards to date.

The Wikiopedia defines Service Oriented Architecture as:

A Service-oriented architecture (SOA) is a software architecture that uses loosely coupled software services to support the requirements of business processes and software users. Resources on a network[1] in an SOA environment are made available as independent services that can be accessed without knowledge of their underlying platform implementation.[2]

Architecture is not tied to a specific technology. It may be implemented using a wide range of technologies, including REST, RPC, DCOM, CORBA or Web Services. SOA can be implemented using one of these protocols and, for example, might use a file system mechanism to communicate data conforming to a defined interface specification between processes conforming to the SOA concept. The key is independent services with defined interfaces that can be called to perform their tasks in a standard way, without the service having foreknowledge of the calling application, and without the application having or needing knowledge of how the service actually performs its tasks.

Note that Wikipedia definition has changed within the last months and seems to be in a state of flux.

The key features are:

  • Loosely coupled software
  • Services that can be accessed without previous knowledge of their underlying platform implementation
  • Well-defined interface specifications