Service oriented architecture

Service-oriented architecture (SOA) relies on a variety of technologies. These services interoperate based on a formal definition independent of the underlying platform and programming language. The most widely used services definition is Web Service Description Language (WSDL). SOA is independent of development technology. The software components are reusable because the interface is defined in a standards-compliant manner. Further, SOA provides a methodology and framework for documenting an enterprise and can support integration and consolidation activities. High-level languages such as BPEL take the service concept one step further by providing a method of defining and supporting workflows and business processes.

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 interoperable services. SOA-based systems can therefore be independent of development technologies and platforms (such as Java, .NET etc). 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, which facilitates reuse.

 

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.