SOACategory: /knowledge /development
Web service: business logic is accessible through internet protocols such as HTTP.
- loosely coupled
- coarse-grained: access the right amount of business logic
- ability to be asynchronous
- support RPC
- support document exchange
Each web service is made up of two parts:
- Service, the implementation
- Service description, the interface
SOA is based upon the interactions among three roles:
- a provider
- a registry (or broker)
- a requestor
SOAP —— Simple Object access Protocol (SOAP) provides a standard packaging structure for transporting XML documents over network protocols, including SMTP, HTTP, and FTP. It also defines encoding and binding standards for encoding non-XML RPC invocations in XML for transport.
Web Service Description Language (WSDL)
WSDL describes the interface of a web service in a standardized way. WSDL standardizes how a web service represents the input and output parameters of an invocation externally, the function’s structure, the nature of the invocation (in only, in/out, etc.), and the service’s protocol binding.
Universal Description, Discovery, and Integration (UDDI)
UDDI provides a worldwide registry of web services for advertisement, discovery, and integration purposes. Business analysts and technologists use UDDI to discover available web services by searching for names, identifiers, categories, or the specifications implemented by the web service.
(better to have a picture here)
The relationship between these pieces (SOAP, WSDL, and UDDI) can be described as follows: an application acting in the role of a web services client needs to locate another application or a piece of business logic located somewhere on the network. The client queries a UDDI registry for the service either by name, category, identifier, or specification supported. Once located, the client obtains information about the location of a WSDL document from the UDDI registry. The WSDL document contains information about how to contact the web service and the format of request messages in XML schema. The client creates a SOAP message in accordance with the XML schema found in the WSDL and sends a request to the host (where the service is).
- Axis: Apache Axis is an implementation of the SOAP (“Simple Object Access Protocol”)