QoS enabled Web services
The interface definition (WSDL) specifies the syntactic signature for a service but does not specify any semantics or non-functional aspects. QoS enabled Web services require a separate QoS language for Web services to answer the following questions:
- What's the expected latency?
- What's the acceptable round-trip time?
A programmer needs to be able to understand the QoS characteristics of the Web services while developing applications that invoke Web services.
Ideally, a QoS enabled Web services platform should be capable of supporting a multitude of different types of applications :
- With different QoS requirements
- By making use of different types of communication and computing resources
When considering QoS-aware Web services, we suppose that the interface specifications are extended with statements on QoS that can be associated to the whole interface or to individual operations and attributes. In the case of a service requestor, these statements describe the required QoS associated with the service required by the client, while from a service provider's perspective these statements describe the offered QoS associated with the service offered by the server object.
The Web service architecture design from IBM includes a separate layer called "endpoint description" to add additional semantics to service description like QoS properties.
QoS negotiation & binding establishmentThe following steps should be performed during binding establishment using a QoS-enabled Web services platform:
- The service requestor requests the establishment of the binding by specifying the reference to a Web service interface. This request also contains the required QoS.
- The QoS broker searches for the service providers in the UDDI.
- The QoS broker performs QoS negotiation as described below.
- The Web service QoS broker compares the offered QoS with the required QoS and uses its internal information to determine an agreed QoS. This process is called QoS negotiation.
- If the QoS negotiation has been successful, the service requestor and service provider are informed that a negotiation has been successful and a binding has been built. From this moment on these objects can interact through the binding.