SOA, (Service Oriented Architecture), is used to provide many Web Services today. SOA is an open architecture that allows Web clients and Web servers to communicate across the www. Web servers publish their services via an SOA Registry eliminating the need for direct end point connectivity prior to performing the common Request/Response for service invocation as shown in Figure 1. Web clients receive notification for subscribed services. The Request/Response implementation of a Web service is exchanged using SOAP, (Simple Object Access Protocol).
Figure 2 shows additional important components for the use of SOA and SOAP. As shown in the figure, WSDL, (Web Service Definition Language), is used by the publisher to describe the service and its contract document. WSDL has 3 important elements: service description, operations, and service location that describe the service contract. XML, (eXtensible Machine Language), is a tag-based language, and is typically used to exchange information between the Web client and the Web server during service execution.
In recent years ROA, (Resource Oriented Architecture), and specifically using REST, (Representational State Transfer), as an architectural style has been increasingly gaining adoption by service providers and its is a competing technology to SOA and SOAP.