Service Oriented Architecture (SOA) and Web services

Service Oriented Architecture (SOA) is a philosophy of how to connect systems and exchange data to solve business problems. Rather than concentrating on a specific task or transaction, SOA addresses how to use data from various sources, reduce human involvement, and mitigate the effects of change in a business process and its supporting systems.

The SOA defines the services to be provided. Web services are the means of implementing those services. Web services provide a platform-neutral technology to connect multiple systems in a flexible manner, where the platform-neutrality helps insulate the SOA from changes to the underlying systems.

Web services work by answering requests for information and returning JSON documents or XML documents.

Because JSON and XML are simple text formats, Web Services can be invoked via the HyperText Transfer Protocol (HTTP), it does not matter what platform runs the Web Service or what platform receives the JSON or XML document.

An SOA's resilience to change is accomplished by adhering to good Web services design practices:
  • Build a Web Service that performs a specific task
  • Have a rigid structure for the data

SOAP Web services tell exactly how to ask for the information in an XML document written using the Web services Descriptive Language (WSDL). This self-describing document describes the service the Web Service will perform and how to form the request for its data. Each Web Service must have an associated WSDL document, so that developers and applications know what to expect from the Web Service, and how to invoke it.