Service Oriented Architecture (SOA) is a style of software design where Web Services (WS) provide services to the other components through a communication protocol over a network. WS components are managed, updated, and rearranged at runtime to provide the business processes as SCs, which consist of a set of WSs that can be invoked in a specific order to fulfill the clients’ requests. According to the Service Level Agreement (SLA) requirements, WS selection and composition are significant perspectives of research to meet the clients’ expectations. This paper presents an effective technique using SMFS that attempts to improve the WS selection as well as SC construction and ultimately optimize the WS resource utilization. The results show that the proposed SMFS technique enhances the WS resource utilization by 9.6% compared to the standard Multistage Forward Search (MFS) technique. Similarly, the number of constructed SCs using the proposed SMFS technique are increased by 36.97% compared to the number of constructed SCs with the standard MFS technique.
SOA is a style of software design to connect different applications and technologies using the WS components. An automatic adaptation can be effectively implemented in the systems of SOA using machine learning algorithms [
WS technology has been adopted by different enterprises to implement and provide business process workflows, which is referred to as SC. Each SC consists of different WSs, which can be replaced, managed, and updated at runtime without interrupting the ongoing business processes [
Issues related to WS QoS modifications, SC reconstruction, and WS resource utilization are discussed in [ Adopting a dynamic approach to improve the Orchestrator processes of selecting and creating SCs. Upgrading the composite services according to the QoS attributes. Enhancing the SC scalability. Optimizing the utilization of WS resources in a SC process.
Consequently, we propose an efficient technique based on SMFS for the solution of SC problem. Our key contributions include: Transforming the WS repository into a dependency service graph. Employing SMFS algorithm to find the path from source to destination, which represents the best SC selection and construction with minimum cost. Optimizing the utilization of WS resources by acquiring the unused and available WS resources to construct new SCs.
The experimental results of the proposed SMFS technique demonstrated superior performance compared to other techniques and mechanisms in terms of efficiency and quality in optimizing the utilization of WS resources. However, it needs additional time for calculation, reuse, and utilization of WS available resources while constructing new SCs after the first composition phase.
This research is organized as follows. Section 2 presents an overview of the related literature about WS selection and composition. Section 3, describes the proposed technique, which covers modification to the execution engine architecture and SMFS technique. Section 4 discusses the dataset, results and analysis. Section 5 gives the research conclusions and the future directions.
WS selection and composition has been addressed as one of the active research areas to improve its performance and reliability using different heuristic and non-heuristic approaches [
The cost structure of using WSs have been discussed by many researchers. In this connection, Lin et al. [ Subscription-Based Pricing for Commoditized WSs where customers are charged for unlimited use over a specific period. Transaction-Based Pricing for Channelized WSs where customers are charged on the basis of transactions count over a specified period. Risk-Based Model Pricing for Customized WSs where customers are charged on the basis of on-off payment methods for using the service over a specified period.
Tian et al. [
It is revealed from the previous discussion that there exists a room for applying the optimization techniques to the selection and construction procedures to minimize the number of integrated WSs for effective and efficient utilization of WS resources. In this research, we introduce an efficient technique to find the minimum number of services needed for selection and construction of services compositions in real large-scale WS repository. We also optimize the reusability and utilization of WS available resources.
In this study, we propose a technique that uses the SMFS to improve the WS selection and composition processes and optimize the utilization of the WS available resources. In this section, we discuss the Orchestrator modifications required to implement the proposed SMFS technique where the modifications are applied to the Business Process Execution Engine (BPEE) Orchestrator.
In this study, we have modified the architecture of BPEE to achieve enhancement in the execution process of the Orchestrator.
Following is the list of modifications applied to the BPEE architecture. Added a modified version of the WSs pool as suggested by Al-Hadid and Abu-Taieh [ Added a novel WSs Multi-Class pool to handle the unused WSs as well as WSs with available resources that can be shared with different SCs. Added the SMFS technique to enhance the WS selection as well as SC processes and deal with the unused WSs. SMFS filters and sends WSs having available resources to the Multi-Class pool of WSs after participating in SCs. The Multi-Class pool is used as a WS dataset repository pool to repeat the WS selection and SC processes. Modified the WS pool architecture by adding the Temp. Max. Capacity (TempMaxCap) and the WS cost where TempMaxCap is the value of available WS resources that can be used after integrating the WSs in SC. The modified WS pool architecture is given in
WS ID | Response Time | Availability | Weight | Action | WS Cost | Max. Capacity | TempMaxCap |
Detailed description of different fields of the architecture is given below.
(1)
(2)
Class | WS | SC (five WSs) |
---|---|---|
Excellent response time | ≥0.1–0.5 Sec | ≤2.5 Sec |
Good response time | >0.5–1.0 Sec | >2.5–5.0Sec |
Poor response time | >1.0–3 Sec | >5.0–15 Sec |
(3)
Value | Class |
---|---|
[98–100%] | Excellent Availability |
[96%–98%] | Good Availability |
[90%–96%] | Poor Availability |
(4)
Price per service usage | Throughput (Req. /Sec.) | Class |
---|---|---|
0.1$ | 600 Req/Sec | Excellent |
0.05$ | 600 Req/Sec | Good |
0.001$ | 600 Req/Sec | Poor |
(5)
Weight (%) = Response Time % + Availability (%) (1)
Using Eq. 1, WSs are classified into three classes as shown in
Weight Value | Class |
---|---|
[98%–100%] | Excellent Class |
[96% –98%] | Good Class |
[90% –96%] | Poor Class |
(6)
(7)
(8)
MFS | SMFS |
---|---|
All WSs are classified into pools based on the WS class (Excellent, Good, Poor) with all the WSDL Data. | In addition to the WS classification into pools (Excellent, Good, Poor), SMFS added new WS pool called Multi-Class to store all the unused WSs and the WSs having available resources after the composition process. |
Each SC is created using WSs from the same pool; if the SC provides an Excellent Service this means that all the integrated WSs in the SC are selected from the Excellent pool. | In addition to the creation of SCs using WSs from the same pool, there are SCs that are constructed from different WS classes located in the Multi-Class pool. According to the availability of the WS resources, the WS can be used to construct new SCs. |
The number of SCs depends on the available number of WSs in the pool related to the same class. | Besides, the SCs are constructed using WSs located in the same pool, an additional number of SCs can be constructed using the WSs located in the Multi-Class pool, which satisfy the minimum SLA requirements to construct the SC. |
The SC maximum capacity is the maximum number of requests that can be accepted by the SC and it depends on the WS maximum capacity integrated in the SC. Here, the SC maximum capacity relies on the minimum value of the WS maximum capacity in the SC. | Even though, the SC maximum capacity depends on the minimum value of the WS maximum capacity in the SC, the proposed algorithm uses the WS remaining resources and the unused WSs to create new SCs and increase the system’s capacity to handle more requests. The process is applied after the construction of SCs where the unused WSs and the WSs having available resources are utilized to create new SCs from different WS classes located in the Multi-Class pool, which are used to satisfy the clients’ demands and the SLA requirements. |
The proposed SMFS technique has several phases. In the first phase, multistage dependency graph is constructed from appropriate WSs, which represent the graph nodes. The WSs are then divided into a set of stages according to the WS actions that represent the functionality and the output of the WSs. In the second phase, SMFS technique is applied to find the best SCs by optimizing the WS resource utilization. A formal description of the proposed SMFS technique is given below.
(1) Construct a multistage service dependency graph with all relevant WSs selected from an external repository according to each WS class pool.
(2) Divide the WS into sub-sets that represent the stages based on the roles described in the WSDL and the output of each WS.
where {w2, w3} and {w5, w6} are parallel WSs, which achieve the task together just like a single WS such as w7 and w9.
Tuple = {WS1Cost, WS2Cost, WS3Cost, WS4Cost… WSNCost}
(3) For each WS in the constructed graph
(4) Minimize the SC using MFS based on cost of each WS and then find the minimum cost of the composite WS that forms the SC.
Tuple = {WS
The WSs from
G = { WS
(5) Enhance the service selection and composition using the proposed SMFS technique and optimize the utilization of the WSs available resources.
(6) Reconstruct the multistage service dependency graph with all relevant WSs elected from an external repository (Excellent, Good, and Poor WSs pools) after the composition process and update the WS TempMaxCap using Eq. 3, then go back to step (3).
In SMFS Algorithm, Eq. 2 is used to find the WS minimum cost that meets the SLA requirements for each stage starting from Cost (
After finding the minimum cost of the composition service and updating the WS TempMaxCap, all WSs with available resources (TempMaxCap > 0) are located in the Multi-Class pool. The WSs in the Multi-Class pool are used to create new web compositions and provide services to clients that might be related to same or different classes. Newly created SCs are classified using Eq. 1 to decide which SC class it belongs to.
The proposed algorithm is implemented using the Hybrid Service Oriented Architecture Simulator (HSOAS) [
All simulation experiments were performed on i7-3632QM machine equipped with 2.20 GHz processor and 8 GB DDR3 RAM.
Parameter | Value |
---|---|
Number of runs | 20 |
Number of clients/run | 1000 |
Min. Number of requests/Client | 50 |
Max. Number of requests/Client | 5000 |
Number of WSs | 2509 |
Number of Clients | 200 |
Min Value of WSs maximum capacity level | 600 |
Max Value of WSs maximum capacity level | 1800 |
In order to evaluate the proposed service selection and composition, the simulator is used to build the WSs repository using the QWS dataset proposed by Al-Masri and Mahmoud [
In addition to the available ranked WSs according to the QoS attributes in QWS dataset, HSOAS added new attributes to WS repository needed by classification and composition processes for the implementation of proposed technique. The attributes are Action, Max. Capacity and TempMaxCap as discussed in section 3.1 (
In this section, we assess the performance of our proposed SMFS technique using the QWS dataset. SMFS technique is designed to optimize the WS selection and construction processes. The performance of SMFS and MFS techniques are compared for in depth analysis. The performance of SMFS technique is also evaluated for resourceful utilization of WS remaining resources and the unused WSs after the SC process is completed in the first round.
The average number of constructed SCs and the WS consumed resources using MFS and SMFS techniques is shown in
As evident from
The previous discussion confirms that SMFS technique for WS selection and SC improves the WS resource utilization and increases the number of constructed SCs. As a result, it delivers enhanced services to the clients and guarantees the fulfillment of SLA requirements.
The optimal utilization of WS resources is due to the fact that SMFS technique constructs additional SCs using the unused WSs from the Multi-Class pool after the first round of SC process. Additionally, it uses the WSs that are already integrated in SCs but still have available resources according to the value of the maximum capacity as discussed in section 3.2.
Though the performance of our proposed SMFS technique is outstanding, it comes at the cost of additional computational time. The time needed by the SMFS process to collect and construct new SCs is more than the time required by the MFS technique. The following equations are used to find the time complexity of the algorithms where Eq. 4 is used to calculate the time complexity of the MFS algorithm and Eq. 5 is used to determine the time complexity of SMFS technique.
where
SOA is used to connect different applications and technologies using the WS components where the WS offers simple or complex tasks by SCs. One of the main challenges of the SCs construction process is selecting the right WS to provide the expected QoS to the clients according to the SLA requirements.
This research presents SMFS based effective technique to optimize the WS resource utilization and improves the WS selection and SC by improving the Orchestrator processes. The proposed technique can also create new SCs using the unused and integrated WSs located in the Multi-Class pool. The proposed SMFS technique improved the WS resource utilization by 9.6% and increased the number of constructed SCs by 36.97% in comparison with the MFS technique. It can be noted that the enhanced performance of SMFS technique is on the cost of additional computational time that is required to collect, select, and construct new SCs. The additional tasks associated with SMFS technique include updating the value of available resources for each WS, creating the new graph using the WS having available resources collected from different pools in Multi-Class pool, and creating new SCs.
As a future endeavor, it would be valuable to enhance the proposed SMFS technique by minimizing the computational time. Moreover, in some cases a specific resource may not be available or missing due to different reasons for example, network failure, server maintenance, buffer size, etc. Therefore, adding a process that allows the SMFS technique to discover and integrate new WSs to compensate the unreachable or unavailable WSs and satisfy the SCs QoS requirements.