A Qos-aware Method for Web Services Discovery

The non-functional QoS (quality of service) information helps us to select a proper Web-service from the web applications, by using component services such as UDDI[1](Universal Description, Discovery, and Integration) and MDS(Monitoring and Discovery System). MDS is a suite of web services to monitor and discover resources and service on Grids, but MDS only based on function aspects. This paper studies on an approach to provide the QoS information and a discovery model by using MDS and gives a system deployment and implementation plan. The simulation results show that the method is effective in service discovery.


Introduction
Web services are frequently used to build a distributed system which can be accessed over Internet.It is loosely coupled to enhance productivity, simplify using, get reusability and improve system expansibility.But with the widespread proliferation, the QoS becomes an important factor in distinguishing the success of a web service application.
QoS is the ability to provide different priority to different applications and users to guarantee a certain level of performance to data flow.Typical QoS properties associates with a web service execution cost and time, availability, successful execution rate, reputation, and usage frequency [2].The QoS covers a range of non-functional properties of Web-service such as response time, performance, security, availability and reliability.The service providers provide differentiated capacity model for different service types to ensure appropriate QoS levels for different customers' applications.For example, a complex spatial analysis Web service might require good throughput, while a simple searching Web service might require a good response performance.
In order to describe the contract between the service provider, the customer and the Grid system, several specifications defined by XML based language have been proposed such as WSDL, which is complement to the service description implemented, WS-Agreement specification [3] which is used within a framework allowing the management of web services and their compositions.
In this work we propose to modify the WSDL file in order to increase QoS support to the web service.Then we propose a method of web services discovery on GT4 MDS.

Web Service QoS Requirements
The major requirements [4] for supporting QoS in Web services are as follows:  Regulatory is the aspect of the Web service in compliance with the standards such as SOAP, UDDI, WSDL, etc and the established service level agreement.Strict adherence to correct versions of standards by service providers is necessary for proper invocation of Web services by service consumers.
 Availability is the quality aspect of whether the Web service is ready for immediate use.It represents the probability that a service is available.Larger values represent that the service is always ready to use while smaller values indicate unpredictability of whether the service will be available at a particular time.
 Reliability is the quality aspect of a web service that represents the capability of maintaining the service and service quality.The number of successfully used per month represents a measure of reliability of a web service.
 Performance is the quality aspect of Web service, which is measured in terms of throughput and latency, and response time.Throughout represents the number of Web service requests served at a given time period.Latency is the round-trip time between sending a request and receiving the response.Higher throughput, lower latency and less response time values represent good performance of a GIS Web service.
 Security is the quality aspect of the web services of providing confidentiality by authenticating the parties involved, encrypting messages, and providing access control.Because distributed GIS system is deployed and invoked over the public Internet, security becomes more important.The service providers have different approaches and levels of providing security depending on the service requester.

QoS-Based Web Services Discovery Method
MDS is the information services component of the Globus Tookit4 and provides information about the available resources on the Grid and their status [5].It is a suite of web services to monitor and discover resources and services on Grids [6].MDS builds on query, subscription, and notification protocols and interfaces defined by the Web Services Resource Framework (WSRF) and Web Services Notification families of specifications and implemented by the GT4 Web Services Core.Discovery is the process of finding a suitable resource to perform a task.This process may involve both finding which resource are suitable and choosing a suitable member from that set.The discovery process requires the ability to collect information from multiple, perhaps distributed information sources.To meet this need, MDS provides so-called aggregator services that collect recent state information from registered information sources.The MDS architecture is shown in Figure 1.

QoS Properties in WSDL
Web Service Description Language (WSDL) is an XML format for describing network services as a set of endpoints operating on messages containing either documentoriented or procedure-oriented information [7].Specifically, it defines via its portType component, the Web service's abstract interface, specifying the operations that the service supports and for each operation, the format of the messages that the service sends and receives.The client programs read the WSDL files to connect and communicate with the service.The current WSDL file contains the following information: the number of inputs and outputs, the variable type of each input and output, the order the inputs are given and outputs are returned, and how the Web service should be invoked.But from the WSDL file, we can not get the QoS information.To solve this problem we propose to extend the WSDL to support the QoS information description.

Modifying Query Aggregator Source Configuration File
Besides editing WSDL documents.another necessary step is to increase QoS support to the Web Services' XML schema documents, and through the extension of the GetMultipleResourcePropertiesPollType which is one of the parameters for Query Aggregator Source in configuration file.The QoS properties can be retrieved from a Index Service as resource properties.The Aggregator Framework is a software framework used to build services that collect and aggregate data.Index Services built on the Aggregator Framework are sometimes called aggregator services.The Index Services collect XML-formatted data via Aggregator Source.The Query Aggregator Source is a java class that implements an interface to poll a WSRF service for resource property information.An example is as follows: Then Query Aggregator Source will request five QoS properties in the Grid services.There is no limit on the number of "ResourcePropertyName" parameters that can be specified.
Qos properties provide support for service publishing and selection, but how to select web services that can well meet the requirements of Web services' consumers becomes a problem.

Web Services Discovery from MDS
The users use the web browser to send a HTTP request, including some web form arguments, to the web server container.The web server invokes the MDS servlet, which uses the form arguments to determine what plugins to use to retrieve the request GML data and the XSLT transform tools to apply to it.Then use the standard WSRF resource property query interfaces to retrieve service WSDL information from an Index.Every GT4 web services container includes a default MDS-Index service with which any GT4 services running in that container are automatically registered.Thus, each Grid system has an index that allows one to discover what services are available.GT4 is configured to use MDS mechanisms to good effect for discovering and monitoring of GT4 services.Every GT4 web services supports a minimal set of QoS properties and thus can be registered easily into one or more aggregators for monitoring and discovery.The MDS use servlet passes arguments to the transaction tool, which then retrieves the appropriate data and XSLT transform.The MDS servlet applies the XSLT transformation to the XML data and returns the result to the web server, which sends it back to the client's web browser.The discovery model is shown in Figure 3.

Deployment and Testing
Testing executions were performed on a Intel Core 2 Duo T9300@ 2.5GHz machine, with DDR 666MHz 3.0G of RAM and Windows XP sp3 operation system as web server.Java as Developing language, IDE: ecplise5.0,Apache Tomcat as web services container IE7.0 as web browser, GD4 as Grid container and Grid system environment Figure 4 shows the testing results.

Conclusion
The work proposed in this paper provides an approach to describe Web services QoS information in WSDL and a discovery model in which the functional and nonfunctional requirements is to be taken into account for the selection.The test results illustrating the method have high performance in practices.