Service oriented architecture expresses a software architecture that defines the use of loosely coupled software services to support the requirements of the business processes. Resources on a network in an SOA environment are made available as independent services that can be accessed without knowledge of their underlying platform implementation.
A service oriented architecture is not tied to a specific technology. It may be implemented using a wide range of technologies, or Web Services. SOA can be implemented, using 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 knowledge of the calling application, and without the application having knowledge of how the service actually performs its tasks.
SOA can also be regarded as a style of information systems architecture that enables the creation of applications that are built by combining loosely coupled and inter operable services. These services operate based on a formal definition that is independent of the underlying platform and programming language. The interface definition hides the implementation of the language-specific service. SOA based systems can therefore be independent of development technologies and platforms. Services written in C# running on .Net platforms and services written in Java running on Java EE platforms, for example, can both be consumed by a common composite application. Applications running on either platform can also consume services running on the other as Web services
SOA may be built on Web services standards that have gained broad industry acceptance. These standards, referred to as web service specifications, also provide greater operation and some protection from lock in to proprietary vendor software. One can, however, implement SOA using any service based technology.
Service oriented architecture is often defined as services exposed using the Web Services Protocol . The base level of web services standards relevant to SOA includes the following:
The web service does not necessarily need to use any or all of these standards to be service oriented. For example, some service oriented systems have been implemented using Corba, Jini and REST.
SOA can support integration and consolidation activities within complex enterprise systems, but SOA does not specify or provide a methodology or framework for documenting capabilities or services.