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