The Design of Correlation-aware Service Composition System

A correlation-aware service composition system is designed in this paper. The involving key modules in this system are introduced including service description, service request submission, service composition construction, service composition instantiation, service composition optimization, and service correlation extraction. The feasibility of the system is verified and analyzed based on the example of “online purchasing automobiles parts”.


Introduction
Web services can provide a distributed information sharing computing technology. The differences between different application systems can be eliminated through employing standard XML protocols and information formats on the Internet or intranet. Efficient information sharing methods can be established, and collaborative working capabilities can be improved [1,2]. However, in practical applications, a single service generally can only provide a single function. In order to meet the different needs of users, these single services need to be integrated to form the composite service to obtain more powerful function. Service composition means taking advantage of currently existing web services to provide a new service that does not exist in itself to execute a complex task that a single service cannot complete [3,4].
The most existing studies about service composition consider services involved in service composition as independent. However, in the actual service composition process, there are common correlations between services, which can affect the whole quality of service composition. In our previous works, composable correlation, business entity correlation and statistical cooperate correlation among composite services are discussed, and QoS computation model based on the three correlations is proposed [5]. The formalized descriptions for three kinds of correlations between services were presented, and service-correlations discovery algorithms for three kinds of correlations were designed to find out whether there are correlations between two services [6].
On this basis, this paper designs a correlation-aware service composition system, and employs an example to implement and verify this system.

System functional structure
In order to realize the development of service composition system based on correlation among services, the overall functional structure of system is first designed as shown in Figure 1. The development of the entire system considers the impact of the correlation on the process of service composition. The  Figure 1. System functional structure.

Resources encapsulation and publishing layer
The resource encapsulation and publishing functions provide functional interfaces for various resources and capabilities. Users submit services description files to register and publish services. Finally, the service ontology file based on OWL-S description is generated and added to the service registry for subsequent service composition applications.

Data layer
The data layer is mainly responsible for the storage, transmission, and maintenance of various types of data during the entire service composition process, which provides support for the implementation of the service composition, including the service library, the ontology library, and the log database. Among them, the service library is mainly employed for storing of the service data, reading of the service data, updating and maintaining of correlation the relationship, etc. The ontology library is mainly employed for storing the various domain ontology defined by the domain experts, etc. For the required business process data in the process of service composition, the log database mainly employs the method of log records to complete a large number of preprocessing tasks such as recording, storing, obtaining, merging, filtering, etc.

Service composition implementation layer
The service composition implementation layer is the core of the system, which is responsible for the whole process from users submit service requests to the completion of the task. The main functional 3 modules includes service registration, correlation extraction, construction of service composition path, instantiation of service composition, Optimal selection of service composition, as well as execution engine of service composition. Among them, execution engine of service composition is responsible for the execution and control of the service composition process, and can timely coordinate service composition plan based on the monitoring of the service composition.

User layer
The user layer is mainly to provide users with a unified access portal for easy operation. Through the human-computer interaction interface, users can customize their own request, and can also edit and adjust service composition business processes according to their own preferences.

Key modules of system
The key modules of the system include service description, submission of service request, correlation extraction, construction of service composition path, instantiation of service composition, optimal selection of service composition. Registration and publication of service are mainly implemented through the service description module. The correlation extraction between services is the supporting technology of the service composition, which is invisible to users. Therefore, correlation extraction module is designed here to demonstrate the application process of extracting the correlation between services. The main functions of each key module are introduced in detail as follows.

Service description
Service registration and publication is the premise of service composition, which is mainly accomplished through the semantic description of services. In addition to the semantic annotation of the basic information and input / output function information of the service, the description of the QoS information of the service and the correlation information is also added here.

The description of basic information.
The basic information of the service mainly includes the service name, domain, terminal address, service description, etc. The user can complete the mapping with WSDL \ OWL-S by marking these information. At the same time, basic information of the service provider is also added, such as company name, location, contact person, phone, fax, email, and so on.

The description of input / output information.
The input / output information of the service mainly includes the concept, the attribute name, the attribute value, the data type and unit of the attribute value, etc. It also provides the addition and deletion functions, so that the current user can edit and modify the concept, attribute according to the needs at any time.

The description of QoS information.
QoS information mainly includes parameter names, parameter values, data types and units of parameter values, and user's preferences for QoS. At the same time, users can also add multiple QoS parameters as needed.

The description of correlation information.
The description of the correlation information refers to that the user sets up in advance the correlation between two or more services, composable correlation, business entity correlation or statistical cooperate correlation. First, the user employs the service query function to find the services that need to be set up, and then adds them to the correlation setter to set correlation and various attributes they have. The composable correlation needs to set the partial order relationship between services, the business entity correlation needs to set the business relationship between services, and the statistical cooperative correlation needs to set the statistical characteristics between services. In view of that when there is a certain correlation between services, their QoS values may be changed. Therefore, at the same time, a new QoS value of the service when there is a certain correlation is needed to be set.

Correlation extraction
In the process of service composition, it is very important to quickly and correctly discover the correlation between services. If the user has described the correlation between services when registering the service, it is relatively easy to discover correlation between services during service composition. However, in most cases, correlation between services is often not described by the user when the service is registered. In this system, the correlation between services can be found according to the relevant algorithm in reference [6]. First, according to name, its own domain, or necessary remarks of the service, the services needed correlation determination are query and added to the service set to be determined. Set the composable degree or threshold of statistical cooperative correlation. For the determination of statistical cooperative correlation, the sampling time is also needed to input. In this way, it can be determined whether the services have composable correlation, business entity correlation or statistical cooperate correlation.

Request submission
In this system, users can customize their service request plans through the service request submission interface. In this interface, the user can input the name of the service request, the area it belongs to, the expected price, the payment method, the matching threshold, and the QoS requirements, etc., and can modify the service request at any time.The user's completed service request plan is submitted to the system, then the system background will match the service request with the service in the service registration center, and give the corresponding recommended service according to the threshold set by the user. If the system cannot find a single atomic service or composite service that meets the user's service request, or the found atomic service or composite service does not satisfy the user, the user can choose to go to the service composition interface and use the service composition to complete the user's service request.

Construction of service composition path
When service composition is selected to be implement, the system will match the abstract service according to the user's service request first. An abstract service composition path graph will be generated, and then the service composition paths are sort according to the value of composable degree. Finally, the system provides recommended service composition paths according to the order of the value of composable degree. In this way, users can check up each service composition path and its value of composable degree, and then select the corresponding service composition path for the next operation according to actual needs.

Instantiation of service composition
When the required service composition path is determined, the service search is started, and the system will find multiple specific services for each abstract service. Users can view the details of these specific service instances, base on which can adjust the specific service instance list. Users can filter some specific service instances according to their individual needs, and delete those that do not meet the requirements. At the same time, since many of these service instances have correlation, users can freely choose whether to find those service instances that have correlation. The correlation between these specific service instances can be extracted by the correlation discovery algorithm in reference [6], which can be marked for optimal selection of service composition.

Optimal selection of service composition
After the instantiation of the service composition is completed, a candidate service set is formed for each abstract service. At this time, the system needs to select the one with the best QoS among all service composition plans. Given that service instances with correlation have been marked at this time, the QoS values of the service composition can be calculated according to correlation-aware service composition QoS calculation model given in reference [5]. The system provides the recommended service composition plan in accordance with the order of the QoS values. Users can view each service composition plan and its QoS value, and select the optimal service composition plan for execution.

Application example
In this paper, a service composition example of "online purchasing automobiles parts" is employed to verify on the system and the relevant modules.
The ontology of the automobiles parts is manually defined first. At the same time, the semantic definition is given for the ontology involved in various services and correlation between them. In this way, when the user submits a service request for "online purchasing automobiles parts" on the system platform, the task requests submitted by the user can be completed in turn according to the business process sequence of each service composition module. The entire business process of "online purchasing automobiles parts" is shown in Figure 2. The log library records the past execution information of the services in the system, and the correlation among services is need to be extracted when generate the service composition path and select the optimal service composition. So first extract the time sequence of service past information and the correlation information between services recorded in log library as the basis for the entire system operation.
The user submits a service request for purchasing automobiles parts through the system platform. When a single service cannot meet the user's task, the service composition will be started. According to the user's service request, the abstract service composition path is first generated, and then the user selects a service composition path that meets the requirements. A candidate service set is generated for each abstract service in the selected service composition path, and the correlation between the specific services in the candidate service set is marked. Finally, select the optimal service composition according to correlation-aware service composition QoS calculation model, and the service request of the user can be completed by executing the finally selected service composition plan.