A Quality of Service Broker Based Process Model for Dynamic Web Service Composition

: Problem statement: With fast spreading of web services technology over the Internet, the quality aspects of a web service has received significant attention to the practitioners. The quality of web service includes both functional and nonfunctional details. In order to provide the correct and meaningful information to web service consumer, sometimes there is a need to compose existing web services in order to create new web service. Approach: We have proposed a Quality of Service (QoS) broker based process model for Dynamic Web Service Composition (DWSC). The QoS broker in the proposed model is responsible for web service collection, selection, optimization and composition based on the service consumer’s requirements. It also verifies and certifies the functional and QoS specifications provided by service provider at the time of web service registration before publishing it in Universal Description, Discovery and Integration (UDDI) registry. The detailed working of QoS broker is also presented in the study with functionality of each component. We will also discuss the process flowchart for new web service registration and web service composition at runtime. Results: The proposed QoS broker based model for dynamic web service composition solves the problems associated with quality of web service. It also prevents the central repository from malicious service provider to publish wrong information. Conclusion: The QoS broker-based process model for dynamic web service composition guarantees the quality of delivered service to web service consumers and improve the efficiency of composition.


INTRODUCTION
Web Services (WS) are internet aware applications, which are invoked using standard internet protocols. A web service is a function that is well-defined, selfcontained and independent of other web services. Each web service has an Application Program Interface (API), which is accessed over the network and executes the web service at host location (Khan et al., 2010). The web service provides roles of service provider, service requester and a service broker. As individual web services are limited in their capability and a single web service is unable to fulfill the consumer's requirement, there is a need to compose existing web services to create new functionality in the form of web processes (Khan et al., 2010). Web service composition is the ability in which different or same existing web services with similar functionality are collected and combined in order to create a new web service.
There are two methods for web services composition, namely; static web service composition and dynamic web service composition (Khan et al., 2010). In static web service composition, composition is performed manually, i.e., each web service is executed one by one in order to achieve the desired goal/requirement. It is observed that the composition in this way takes more time and effort. Whereas, dynamic web service composition uses brokers to select a web service that may be composed of multiple web services. But the composed process is considered as a single web service from user's point of view (Tabatabaei and Gholam, 2008).
Quality of Service (QoS) determines availability and efficiency of services, which greatly affect popularity of certain services. QoS means a certain level (not necessarily the highest level, but the lowest) of service that can meet the needs of service consumers (Murad and Mahadeen, 2007). There is an agreement between the consumer and the provider related with the QoS, which is used to describe the level of quality which can be accepted by both service provider and consumer.
QoS broker is an interface based web service that has been described and published in the UDDI registry through which the service requestor and service provider both can interact. The service requestor can search for web services and service provider can register their web services with the help of QoS broker interface .The broker web service than further check the correctness of registered web services quality. If multiple web services provide the same functionality, QoS requirements can be used as a criterion for service selection (Thirumaran and Dhavachelvan, 2010). The current UDDI registries only support web services discovery based on the functional aspects of services (Thirumaran and Dhavachelvan, 2010;Rajendran et al., 2010a). The problem, for that reason, is firstly to accommodate the QoS information in the UDDI and secondly to guarantee some amount of authenticity of the published QoS information. QoS information published by the service providers may not always be accurate and up-to-date (Thirumaran and Dhavachelvan, 2010;Rajendran et al., 2010b). Traditional service discovery model can be extended with a new role called a certifier which verifies the advertised QoS of a web service before its registration with the existing three roles of web service (Rajendran et al., 2010c). The consumer can also verify the advertised QoS with the certifier before binding to a web service. In this way, the system can prevent service providers from publishing invalid QoS claims during the registration phase and check to verify the QoS claims to assure satisfactory transactions with the service providers. Although the model incorporates QoS into the UDDI, but it provides neither a matching and ranking process nor does it integrate consumer feedback into service discovery process.
A scalable QoS-aware model for web services discovery can be introduced with a new role called QoS broker, which includes QoS database, publish, lookup, monitor and valuate module (Ye et al., 2009). The merit of the model is that the web service provider describes the QoS description in the beginning before publishing the web services. But it does not need to modify the standard UDDI interface. In addition, the QoS broker works as a third reliable part coordinating on measurement, monitoring and updating QoS database in time to guarantee that the discovered services based on QoS is reliable. In spite of the advantages of the model for dynamic web service discovery it does not support composition.
The architecture for dynamic web service composition includes a two phase verification technique performed by a third party broker (Xiaoying et al., 2008). A global broker publishes certificates to certify qualities of provider's services and perform quality monitoring. It is still unable to support composition oriented services so none of QoS model, service selection and re-planning is considered. Broker based architecture for web service discovery with QoS information presents an optimal approach for finding the most suitable web service according to the consumer's requirements (Rajendran et al., 2010a).
A web service discovery model that contains an extended UDDI to accommodate the QoS information, a reputation management system to build and maintain service reputations and a discovery agent to facilitate service discovery has been proposed in (Rajendran and Balasubramanie, 2009;Rajendran et al., 2010b). A service matching, ranking and selection algorithm is also developed, but the model does not support the process of certification or verification of web services.
A broker-based framework for web services composition and dynamic selection with QoS attributes is presented Somayeh and Babamir (2010). The proposed framework focuses on security and QoS issues. An approach is proposed to compose web services according to the security requirements of both web service requestors and providers and optimize the composition by considered QoS parameters .In the framework, during composing and choosing of optimal path only one of the QoS parameters is considered .The proposed framework still requires to consider more QoS parameters during web service discovery and composition. Also the proposed framework does not guarantee that the published QoS details of web services are correct.
In this literature, the web service is selected by taking the requester's average preference for QoS properties. Many of these approaches unable to provide guarantees as to the accuracy of the QoS values over time or having up-to-date QoS information. In this research work, we propose the QoS broker based process model for dynamic web service composition which overcomes limitations imposed by various web service discovery model.
The remainder of the study is organized as follows. The proposed QoS broker based process model with its components such as Web Service (WS) provider, WS consumer, QoS broker, UDDI registry, WS data collector repository and WS QoS verifier and certifier for dynamic web service composition are described in detail. The detailed working mechanism of QoS broker and step by step process of the proposed model is also described. An example of online shop to show the working of the model is also presented to best describe the working of the model. The advantages and limitation of the proposed model and the concluding remarks are also presented in this work.
QoS broker based process model for dynamic web service composition: There are three major concerns in designing the QoS broker based process model for dynamic web service composition; QoS-based service selection and execution, QoS monitoring and QoSbased composition. We propose a dynamic web service composition model to support above concerns, which consist of six components, namely; web service provider, web service consumer, UDDI registry, web service QoS verifier and certifier, QoS broker and web service data collector repository, which is shown in Fig. 1. The QoS broker is central to the model, which is responsible for collecting, selecting,, matching, optimizing and composing the best available web services. The service providers request for service registration with QoS details to QoS broker. QoS broker stores the WS with QoS details in local WS data collector repository from both service provider and service consumer side. Thus it can be easy for QoS broker to collect all the information at the time of quality matching from both the sides. QoS broker registers the new WS provided by service provider only after the successful verification of the specified quality of web service performed by WS QoS verifier and certifier. Thereafter, a certificate is issued to the service provider. The WS with QoS certificate is then published in UDDI registry with QoS certificate by QoS broker. Service consumer request to QoS broker for web service discovery with QoS information. QoS broker stores and matches the service requirements in the standard UDDI registry. If a match is found then the broker returns the matched service to service consumer. The process of service selection can be performed at runtime by the QoS broker, which can best suit the service consumer's requirements.

WS provider:
The WS provider describes the functional and nonfunctional QoS specification with the web service to be registered. The QoS broker can register and publish the web service in UDDI registry after the successful verification of provided functional and nonfunctional QoS specification.

WS consumer:
The WS consumer request to QoS broker for web service discovery with functional and nonfunctional QoS specification. The broker finds the matching services and measures the performance of the matched services. During the measurement of WS, it creates QoS reports to record the performance data and store it in Web Service Repository (WSR).

QoS broker:
The QoS broker is an interface based web service. The service consumer and service provider both can interact to each other with the help of the QoS broker interface. QoS broker receives requests for service discovery from service consumers and finds the services that match their requirements and then returns the matched services to the consumers. The details include both functional and nonfunctional QoS requirements. Similarly, the service provider can request for new service registration through proposed QoS broker interface. Of course, by increasing the number of services, it is better to register the services through a service broker. Besides, having a more speed and a better property of services are the reasons that a client may use a service broker.

UDDI registry:
The Universal Description, Discovery and Integration (UDDI) specifications define a registry service for web services and for other electronic and non-electronic services. A UDDI registry service is a web service that manages information about service providers, service implementations and service metadata (Amirian and Alesheikh, 2008). Service providers can use UDDI to advertise the services they offer. Service consumers can use UDDI to discover services that suit their requirements and to obtain the service metadata needed to consume those services. The UDDI is a standard UDDI registry that records the services descriptions. To ensure generic support from service provider and consumer side, the UDDI registry is connected to the QoS broker as a backend registry using Simple Object Access Protocol (SOAP) connections. During processing of the requests, the QoS broker acts as a client to query the UDDI registry for information.
WS data collector repository: The repository stores the functional and nonfunctional QoS specification collected by QoS broker from both service provider and consumer side at one place. The service broker will than use the stored web services QoS information for quality matching at the time of service verification and certification from both service provider and consumer side.

WS QoS verifier and certifier:
The verifier and certifier is a sub-component of QoS broker, which performs the task of verification of functional and nonfunctional quality specification of new web services at the time of registration and generates a certificate for verified web service. This component is responsible for making the decision about the quality of atomic as well as composite service. It verifies the quality of new web service, if it satisfies the desired quality then the service broker publish it in the UDDI registry with QoS certificate and same will be send to the service provider and also stored in service brokers local WS data collector repository.

MATERIALS AND METHODS
The QoS broker is the core component in the proposed model and plays a very important role in composing web services at runtime. The detailed QoS broker based process model, which elaborates the working of the QoS broker is shown in Fig. 2. The QoS broker can performs the task of service registration and publish, verification and certification of web services, service quality matching, optimization, selection and composition. In the service publish component, the service provider sends a request for service registration with the QoS specification of web service. After the successful verification of the QoS specification of the web service, the service broker publishes the web service in UDDI registry with QoS certificate. Only those web services are applicable for registration, which are having functional and QoS specification.
Each web service has three properties as follows: the quality, the interface and the functionality. The quality of each service depends on functional and nonfunctional requirements. In a service, finding a proper output is called the functional requirements. While the speed of the computation of finding this output is called a nonfunctional requirement. Interface is another property of the services. Each service has two types of interfaces: Input and output. Input interfaces indicate the input parameters and output interfaces indicate the output parameters.
Two services are called match if output parameters of one of them is the same as the input parameters of the others. A community is a set of services, which are matched together. Another parameter is the functionality which describes the function or task performed of particular service. The QoS matching process depends on the consumer's functional and non-functional QoS requirements. A service consumer sends a service discovery request to Service Broker (SB) which then contacts the UDDI registry to find services that meet the consumer's requirements. A service is a match if it satisfies the service consumer's functional and nonfunctional QoS requirements with the published QoS specification in the UDDI registry. Otherwise, the service broker returns an empty result to the service consumer.
Web service repository component stores all those web services, which are similar in functionality and quality. Optimization and selection component selects the best web services based on their rating factors among a collection and store in web service repository for composition. The composer composes the selected component services in order to make a single desired web service. Verifier and certifier component is the key component of the QoS broker that performs the verification of the QoS specification supplied by the service provider and issues a WS QoS certificate. The QoS certificate assures that the QoS offered by the service provider confirm to their specification. The service provider initiates the verification process through the QoS broker by supplying the QoS property values. The verifier is provided with the Web Service Description Language (WSDL) document and additional information on resources available at the provider's platform. Once the verification process is completed successfully, the certification process is initiated. The certifier issues a certificate to the service provider through the service publisher which indicates that the offered QoS confirm to their descriptions. The main responsibility of the certifier is to certify the web services and their provided QoS. A copy of the certificate will be sent to the service provider, which is also stored in the QoS brokers web service repository for future use. In case, if the certificate cannot be issued, feedback will be sent to the provider. After the QoS certification process, the service publisher can register with the UDDI registry, the functional description of the service and the certified QoS information.

Process of QoS broker based dynamic web service composition:
The process of QoS broker based dynamic web service composition is shown in Fig. 3. Initially web service QoS broker publishes the interface to the UDDI registry. Web service provider finds the QoS broker interface in UDDI registry. The service provider registers the web service with the help of QoS broker by providing functional and non-functional information about the offered services. A copy of the QoS certificate is stored in QoS broker's web service repository and the same is sent to the service provider through service broker. The QoS broker then publishes the web service in the UDDI registry along with the QoS certificate. The consumer also finds the broker interface and requests for service discovery with functional and nonfunctional QoS requirements. The QoS broker finds the service in the UDDI registry according to the required service functionality and QoS requirements. Service broker will communicate with quality analyzer to verify the provided QoS certificate. If matched service with quality found then it will be taken by optimization component for selecting and collecting the best service among the collection of same and similar functioning and QoS web services based on their rating factors and others will be discarded. When the best web services founds, they can be taken for composition. After a successful composition, the composed web service will again be matched with the service consumer's functional and QoS requirements. If the composed process satisfies the QoS requirements then the service broker can publish the composed process in UDDI registry. If the service consumer wishes to access the composed service then the service consumer must agreed to the Web Service Level Agreement (WSLA) as provided by service broker. After the WSLA the service broker provides the desired web service to the web service consumer.

RESULTS
The proposed QoS broker based process model provides the following interface based web services for both service provider and service consumer.
• Interface based web service for service providers to register their web services on the broker's service with QoS specifications • Interface based web service for service consumer to search for service discovery with QoS constraints • Interface based web service for broker service through which both service provider and service consumer can interact • Interface based web service for web service level agreement Here, we have demonstrated the working of proposed QoS broker based process model for dynamic web service composition with the help of online shop example, as shown in Fig. 4. The shop is selling online the most beautiful watches from all over the world. In this scenario of online shop, the major actors are, online shop service (Service Broker), the different companies providing details of different types of watches of different brands (Service Provider) and the customers (Service Requestor). Also, web services providing currency converter facility and the web service for providing credit card checking facility is also used during composition (Service Provider). In this example, we compose three web services, namely; watch details web service, currency converter web service and the credit card checking web service.
Many watch companies service providers advertise their watch detail services with central repository. In order to discover relevant details about watches of different brands effectively, the web service functionality needs be described in such a manner to minimize the ambiguity during matchmaking of service advertisements with service requests. Currently, a lot of watch companies service providers are available which results in multiple services offering same functionality. To select the desired watch service for the requester, a mechanism is required to distinguish among different watch service providers. When the customer searches the required watch of particular brand with certain quality attribute like price, color and shape of watch then the online shop provides the whole details of the desired watch as collected from different service providers. When customer wishes to buy that particular watch then the broker service ask for credit card number. The credit card number will be checked by credit card checker web service. For this the broker collects three different web services credit card checker, currency converter and watch details from different service providers. The broker service collect the information about the watches from different web services based on the requirements of customers (service consumer).Once the customer selects the watch then the broker service uses the currency converter and credit card checker web service and compose them for generating the bill of selected watch.

DISCUSSION
The proposed QoS broker based process model for dynamic web service composition has certain advantages and limitations as compared to other approaches. The model assures that the new web services will be registered only after the verification of functional and quality specification as specified by service provider. Another advantage is that after the successful verification of web service quality a QoS certificate is generated by the broker service, which will then be published in UDDI registry by the broker service. The copy of certificate will be sent to the service provider as well as stored in service broker's repository. The model assures a level of security, since the service consumer is unable to access the web services directly.
In order to provide correct and meaningful information to web service consumers, we need to be sure that no malicious provider could provide the central registry with false information. This is essentially present in the proposed model. Manipulation of values is made almost impossible, because QoS values are computed by an independent third party QoS broker web service. QoS broker is dedicated to collecting QoS information and generating quality reports. Another advantage is that the model assures to provide up-to-date information as every time it evaluates the web services with their functional and QoS specification and generate the QoS certificate for publishing in UDDI registry by replacing the old one whether the web service has already been published in UDDI registry with the QoS certificate.
In spite of the advantages of the proposed model there are certain limitations. Only authorized person can be able to access the web services due to web service level agreement. Another limitation is that the model is designed in such a way that the proposed QoS broker will only register those web services, which are having their functional and nonfunctional QoS specification. Web service consumers also have to specify the quality criteria, they are expecting with the functional details during service request. Another limitation is that the model uses the centralized approach in which the QoS broker is fully responsible for the web service collection, selection and composition. The model itself selects the required web services based on the functional and QoS specification as requested by web service consumer and composes the selected web services in order to form a new composite web service.

CONCLUSION
We have proposed a QoS broker-based process model for dynamic web service composition that guarantees the quality of delivered service and improve the efficiency of composition. Our suggested theoretical architecture will be based on QoS properties. The goal of QoS broker is to support composite web service discovery with QoS registration, verification, certification and confirmation, optimization, selection and composition. The process of web service registration and matching by service broker is also introduced in this study. We have described the key features of the QoS broker dealing with QoS for web services. The model will assure the service consumer for the quality of delivered service and also it will solve the problems such as up to date service, publish only quality service in UDDI. Future work involves enhancing the capabilities of the proposed model to handle the QoS attributes which is the most important part of the proposed model. We will also be looking into deeper details of every component of the proposed model to ensure better and efficient composition.