Information Sciences xxx (2014) xxx–xxx
Contents lists available at ScienceDirect
Information Sciences journal homepage: www.elsevier.com/locate/ins
A broker-based quality evaluation system for service selection according to the QoS preferences of users Cheol Rim Choi, Hwa Young Jeong ⇑ Humanitas Collage, Kyung Hee University, DongDaemunGu, Hoego-Dong-1, Seoul 130-701, Republic of Korea
a r t i c l e
i n f o
Article history: Received 8 June 2011 Received in revised form 25 November 2013 Accepted 9 February 2014 Available online xxxx Keywords: Selecting of web service Web service broker Quality of web service Users’ preference Pairwise comparison
a b s t r a c t The quality offered by web services is becoming the utmost priority and various studies to search and select web services according to their Quality of Service (QoS) as well as functionality have been proposed. However, most studies have applied each attribute independently as a constraint to select a web service. Each attribute has a different priority weight that represents the degree of influence on the overall quality and the priority weight can be changed depending on the purpose of the quality evaluation or the subjectivity of the user. Here, we propose a system that calculates the priority weights for each quality attribute according to the QoS preference of a user easily and consistently and reflects the weights in selecting the web service. To calculate the weights, we apply a pairwise comparison matrix and an eigenvector of the matrix. Through the proposed algorithms and system, users can easily perform the process calculating the weights and select the web services according to their QoS preference. We implement the broker-based quality evaluation system and the simulation results show that the weights of the quality attributes and the quality score ranking of the web services are changed according to users’ preferences. 2014 Elsevier Inc. All rights reserved.
1. Introduction Web services, a new type of component that can be invoked over the internet, have a widely known and widely studied concept. In the early stages, the process-based approach to web service composition gained considerable momentum and standardization. However, with the ever increasing number of functionally similar web services being made available on the Internet, there is a need to be able to distinguish them using a set of well-defined Quality of Service (QoS) criteria [18]. Like software products, the quality offered by web services is becoming the utmost priority for not only users but also service providers. However, the early Universal Description, Discovery, and Integration (UDDI) registries only support web services discovery based on the functional aspects of services [21]. However, now users are interested in not only the functionalities of web services but also their Quality of Service (QoS), which is a set of non-functional attributes (for example, response time and availability) that may impact the quality of the service provided by web services [17]. To this end, CMU [13], INSPIRE [9], W3C [27], and OASIS [18] have performed tasks to make a quality standard for web services, and various studies [14,15,17,20,25] to search and select web services according to QoS as well as functionalities have been proposed. If multiple web services provide the same functionality in UDDI registries, the QoS requirement can be used as a
⇑ Corresponding author. Tel.: +82 2 11 426 4000; fax: +82 2 961 9305. E-mail addresses:
[email protected] (C.R. Choi),
[email protected] (H.Y. Jeong). http://dx.doi.org/10.1016/j.ins.2014.02.141 0020-0255/ 2014 Elsevier Inc. All rights reserved.
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
2
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
finer search constraint. However, the existing studies applied QoS to search a web service having a particular quality value for a particular quality attribute or took an interest in reflecting the user’s evaluation for the certain quality attribute of the web service as form like a ranking or reputation. Most studies have not considered the relation between each quality attribute and the overall quality but applied each attribute independently as a constraint to select a web service. However, web service quality cannot be determined by only one quality attribute, and the degree of influence of each attribute is not same. That is, each attribute has a different priority weight that depends on the degree of influence on the overall quality. The priority weight of each quality attribute can be determined according to the purpose of the quality evaluation or the subjectivity of the user searching the services. Quality has a strong subjective element. For example, a factor that one user identifies as indicating good quality (e.g., interface simplicity and elegance) may be regarded as an indicator of poor quality (e.g., lack of help for novice users) by another person [2]. Seo et al. [25] applied weights to quality attributes to evaluate the quality of a web service; however, the weight value was not calculated in the evaluation process but was defined arbitrarily by an evaluator. Because the weight is an important factor for determining the overall quality, we tried to calculate the weights for each quality attribute according to the QoS preferences of users objectively and consistently and to reflect the weights in selecting the web service based on both the quality and the functionality. However, from the user’s point of view, determining the weights of each attribute is a multi-criteria decision mechanism and can be a disturbing burden. To reduce the burden on the user, we propose a quality evaluation system that applies a pairwise comparison matrix and uses the eigenvector of the matrix to determine the priority weight of each quality attribute. This method is used to calculate the degree of importance of multiple decision criteria and alternatives in an Analytic Hierarch Process (AHP) and Analytic Network Process (ANP) [23,24]. By applying this method, the priority weight between various quality attributes can be determined objectively. Another advantage of this method is that users can easily calculate the weights because it requires only a simple evaluation between two attributes. When each web service is evaluated with the weight reflecting the user’s quality preference, the evaluation result for even the same web service can be changed according to the preference of the user. Therefore, the proposed system enables users to calculate the weight for themselves easily and select the best web service from the overall point of view. This paper is organized as follows. In Section 2, we review related studies regarding the QoS model and its application. In Section 3, we explain the algorithm used in the proposed system and the overall process, and the implementation of the system is explained in Section 4. Section 5 presents simulation results for the system. Finally, we conclude the study in Section 6. 2. Related researches The web services [31] architecture encompasses three roles: the web service provider, the web service consumer and the Universal Description, Discovery and Integration (UDDI) registry [21], as shown in Fig. 1. The web service provider publishes a description of the service in the UDDI registry together with the details of how to use the service. UDDI registries use the Web Services Description Language (WSDL), an XML-based language, to describe a web service, the location of the service and the operations (or methods) that the service provides. The web service consumer uses the UDDI to discover appropriate services that meet its requirements with the information provided by the services, chooses one service, and invokes the service. Once the client has discovered the web services in the registry and has obtained the URL for the WSDL file that describes the service, the client is able to invoke the web service using the XML-based Simple Object Access Protocol (SOAP). SOAP is a standard that is used to either send or receive messages between clients and providers of services. In the next section, we review previous studies of the quality of web services. 2.1. Previous studies on QoS Ran [21] proposed a web services discovery model in which the traditional model is extended to include QoS requirements. A certifier was added to the existing three roles of service provider, service consumer, and UDDI registry. The purpose
UDDI Registry
Find (Retrieve WSDL)
Web Service Consumer
Register (Publish WSDL)
Request/Response
Web Service Provider
Fig. 1. Web services publish-find-bind model.
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
3
of the certifier is to verify the advertised QoS of a web service before its registration. The consumer can also verify the advertised QoS with the certifier before binding to a web service. This system can prevent service providers from publishing invalid QoS claims during the registration phase and help consumers to verify the QoS claims to assure satisfactory transactions with the service providers. A set of quality attribute metrics was established for the proposed framework. This paper is significant in suggesting that the quality should be considered in the web service selection and managed officially. Al-Masri and Mahmoud [5] placed emphasis on the importance of quality standards. Web service discovery could become a key component in service-oriented computing; however, without web service quality standards and quality-based discovery mechanisms, the trustworthiness of business-to-business interactions cannot be guaranteed. They tried to provide quality-driven discovery using a web service broker (WSB). However, they did not consider the weight of the quality attributes or the user’s preferences for the attributes. Gouscos et al. [7] proposed an approach to specify QoS and provision price information for web services within the basic web service protocol stack, especially within WSDL specifications, and to accommodate and exploit the information within the existing web service architecture. In the paper, they mentioned priorities (selected first based on the QoS and then on the provision price, or vice versa), weights (selected based on a composite QoS and provision price ranking), and thresholds (rejected based on whether the web service falls below a QoS or above a provision price threshold) as selection criteria to apply policies that best fit the user’s needs. Hu et al. [11] just set up four criteria: execution cost, execution time, reliability and availability and suggested a theoretical model for dynamic composition of web services. They did not suggest a concrete method which could be applied to real environments. Besides the above works, many studies [3,4,12,26] attempted to add the QoS to the existing web service architecture as a main element and set up a standard for specifying the web service quality, but they suggested theoretical models without a concrete system or application. On the other hand, later studies applied the QoS to select and composite web services. Michael and Singh [15] proposed an agent framework that is a kind of broker and QoS ontology for dynamic web services selection that considers the Quality of Service. The service agent finds services that match the given interface in the traditional manner (using UDDI) and then applies the consumer’s policy to the relevant quality data to rank the service implementations. The ranking is computed from the quality–degree match, which is based on what the provider advertises along with the provider’s reputation for the given quality and how the quality in question relates to other needed qualities. In this framework, the QoS data about different web services are collected from agents, aggregated, and then shared by agents. In the framework of Liu et al. [14], the QoS model is extensible, and the QoS information can be provided by web service providers, computed based on execution monitoring by the users, or collected via user feedback, which is called a reputation in the paper, depending on the characteristics of each QoS criterion. Web service computation algorithms determine which service is selected based on end user’s constraints. Patil and Gopal [17] proposed a model for web service discovery based on the QoS and a high level algorithm for matching, ranking and selecting which services should be implemented by the web service broker. If services are found to match both the functional and QoS requirements and the ratings requirements have also been specified, then the web service broker ranks the services based on the consumer’s QoS and ratings requirements. The service consumer then selects the web service with the highest rank. They used tModels, a recent feature in the UDDI registry for storing QoS information about web services. The QoS information published by the service provider at the time of service registration can be updated by them at any time. Depending on the service requirements, QoS requirements (optional), ratings requirements (optional) specified by the service consumer, the web service broker responds with a set of services meeting corresponding requirements. Xiong and Fan [19] applied the fundamental principles in accordance with the fuzzy set theory and modeled the decision making problem with the Fuzzy Multiple Criteria Decision Making (FMCDM) model to balance the subjective weight which reflects human rating and objective weight which represents reliability of evaluation criteria to form a synthetic weight. Six QoS criteria, i.e., cost, latency, availability, capacity, robustness and security were used to simulate the method. They made the subjective evaluation of the users more objective by using fuzzy theory but, a concrete method to implement an application and an algorithm or a method to explain the defuzzyfication process was not suggested. Rajendran and Balasubramanie [20] developed a service matching, ranking and selection algorithm based on a matching algorithm. The algorithm finds a set of services that match the consumer’s requirements, ranks these services according to their QoS information and feedback rating and, finally, returns the top M services (M indicates the maximum number of services to be returned) based on the consumer’s preferences in the service discovery request. In these studies, the user’s preference was considered by reflecting the users’ evaluation results for a certain quality attribute in the form of a ranking or reputation. However, none of the studies considered different weights of each quality attribute, and none evaluated the overall quality with the weights. Yager et al. [22] proposed a method to select the most suitable information and web services that fit user’s needs. They applied the lexicographical preferences that are required for the user to set up user’s criterion satisfaction levels defined with a single threshold that represents a boundary value between acceptable and unacceptable values of attributes of alternatives. This method has an advantage in that it reflects user’s preferences but, since the user has to decide the weights of attributes and alternatives and the threshold, the problem of inconsistency can arise as a result of the user’s decision. Furthermore, they did not suggest a method to decide the weight and the threshold objectively. Seo et al. [25] suggested a web service selection method that uses the Preference Ranking Organization METHod for Enrichment Evaluation (PROMETHEE), a multi-criteria decision making approach. They identified the optimum web service Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
4
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
by evaluating the quality under different possible weighting schemes for the quality attributes. In PROMETHEE, however, the weights are not calculated in the evaluation process. Instead, they are defined arbitrarily by an evaluator. Therefore, when the number of quality attributes increases, allocating the weights becomes difficult. Although the weight is an important value that can change the final result of the quality evaluation, it is obtained arbitrarily, so an objective evaluation and comparison for various kinds of software is impossible. Many researchers have proposed considering the quality as the important criteria to search and then selecting the web service, but there are limits in considering the priority weights of each quality attribute and evaluating the overall quality of the web service on the basis of the weights. Therefore, in this paper we propose a system that determines the priority weight of each attribute reflecting user’s quality preference and evaluates the overall quality. Most researchers use the broker architecture as an intermediary between the client and the service provider. The broker is responsible for managing and providing the QoS information for web services to the client. For that purpose, the broker might use an extended WSDL or store the QoS in an internal component of the framework. The broker may also retrieve the list of web services from the UDDI or implement its own web service registry. In this way, a broker can provide flexibility, because a broker can include several components for an enhanced web service discovery. In this paper, we also construct the proposed system on the basis of the broker architecture. The most important factor in determining the weights is that the weight calculation process must be objective, consistent and easy for each user. For this purpose, we applied the pairwise comparison method. We briefly review a pairwise comparison matrix of AHP and ANP in the next section. 2.2. Pairwise comparison and eigenvector The Analytic Hierarchy Process (AHP) was proposed by Saaty [24] in 1980 as a method of solving socioeconomic decision making problems and has since been used to solve a wide range of problems. The AHP is a comprehensive framework designed to cope with the intuitive, rational, and irrational factors involved in making multi-objective, multi-criterion, and multi-actor decisions among any number of alternatives that may be uncertain. However, many decision problems cannot be structured hierarchically because they involve the interactions and dependence of higher-level elements on lower-level elements. Structuring a problem with functional dependence allows for feedback among clusters. Such a system is called a network. Saaty [23] suggested the use of the Analytic Network Process (ANP) [30] to solve the problem of dependence among alternatives or criteria. In the AHP and ANP, Saaty used a pairwise comparison matrix to evaluate each alternative or criteria objectively and decide the best alternative. The priority weights of many quality attributes are difficult for users to quantify with objective measurements. Subjective evaluations of each attribute can be obtained by ranking the attributes in descending order. Ranking or distributing the weight of many attributes overburdens the users. As the users routinely compare attributes, a matrix is completed. The advantage of this method is that it requires only a simple evaluation between two alternatives. Decision elements at each component are compared pairwise in terms of their impact on the control criterion, and the components themselves are also compared pairwise in terms of their contributions to the goal. Decision makers are asked to respond to a series of pairwise comparisons of two elements or two components at a time in terms of how they contribute to their particular upper level criterion. An eigenvector can be obtained for each element to show the influence of other elements on it. The relative importance values are defined in terms of Saaty’s 1-to-9 scale (see Table 1), where a score of 1 represents equal importance between the two elements and a score of 9 indicates the extreme dominance of one element (the row component in the matrix) compared to the other one (the column component in the matrix). After this process, a pairwise comparison matrix is constructed, as shown in Eq. (1).
2
3
a11
a12
a1n
6a 6 21 6 6 a31 Pairwise Comparison Matrix ðAÞ ¼ 6 6 6 6 4
a22
a2n 7 7 7 a3n 7 7 7 7 7 5
an1
an2
a32
ð1Þ
ann
Table 1 Saaty’s 1-to-9 scale for AHP and ANP preferences. Intensity of importance
Definition
Explanation
1 3 5 7 9 2, 4, 6, 8
Equal importance Moderate importance Strong importance Very strong importance Absolute importance Intermediate values
Two activities contribute equally to the object Experience and judgment slightly favor one over the other Experience and judgment strongly favor one over the other One activity is strongly favored and its dominance is demonstrated in practice The dominance of one over another is affirmed on the highest possible order Represent intermediate values between the priorities listed above
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
5
A reciprocal value is assigned to the inverse comparison; that is, aij = 1/aji, where aij (aji) denotes the importance of the ith (jth) element. Pairwise comparisons are performed in the framework of a matrix, and a local priority vector can be derived as an estimate of the relative importance associated with the elements (or components) to be compared by solving Eq. (2).
A w ¼ kmax w
ð2Þ
where A is the pairwise comparison matrix, w is the eigenvector, and kmax is the largest eigenvalue of A. The values of the eigenvector are the priority weights of each element. AHP has been widely used in various fields for decision making such as in corporate investment [16], a basic theory for decision support systems [6,8] and a comparison method for alternatives [1,10,28]. But, these works simply presented case studies for a specific decision making environment using mathematical processing. We suggested algorithms that can be applied to an actual system and implemented the application on the basis of the algorithms. Also, the application can easily be applied to other decision making systems by making a couple of modifications. The algorithms and the implementation of the proposed method are explained in detail in Sections 3 and 4. 3. Priority weight calculation and quality evaluation The overall process is represented in Fig. 2. According to the functionality that a user requires, matched web services are searched and the related data are classified. After a pairwise comparison and priority weights calculation, the overall qualities of the searched web services are evaluated with the calculated priority weights and the converted quality values. A more detailed process is explained with main class diagram and sequence diagram in Section 4. 3.1. The service quality attributes Currently, no regulated web service quality standard exists. Because this paper does not focus on setting up a standard for the web service quality attributes, we extracted six quality attributes that have different characteristics from the literatures [9,13,15,18,21,27] and applied them to our method. The six quality attributes are given below. Usage cost: The cost involved in requesting and using the service (Unit: USD/10 min). Fault rate: The rate invocation failure for the service’s method. Response time: The time required to complete a web service request. It is calculated to be the mean value over a certain time span.
Response time ¼ ðResponse Completion TimeÞ ðUser Request TimeÞ Operability: The ability of the web service to enable the user (system developer) to operate and control it.
Searching web services
Pairwise comparison for quality attributes
Priority weight calculation of quality attributes Quality data conversion Consistency checking Web services quality calculation with weight
Fig. 2. Overall processing flow of the proposed model.
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
6
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
Privacy: The quality of a user’s control over the availability of information about and exposure of him- or herself. It is related to being able to function in society anonymously (including pseudonymous or blind credential identification). On both sides of web services, consumers and providers, it measures the ability of the service to protect the disclosure of private information. Availability: The fraction of the time the web service exits or is ready to use. If the time that a system is not available is referred to as the ‘‘Down Time’’ and the time that the system is available is denoted as the ‘‘Up Time,’’ then the Availability is the average Up Time. To obtain the Availability, instead of monitoring Up Time continuously, we suggest monitoring the Down Time. The Down Time could be obtained by monitoring the number of system down events that occur in an operation. The following formula calculates the Availability, where ‘‘Unit Time’’ is a standard measure of time.
Availability ¼ 1
Down Time Unit Time
Among the six quality attributes above, Operability and Privacy are the qualitative attributes and the four other attributes are quantitative. In the following sections, the priority calculation algorithm and consistency checking algorithm are explained. 3.2. Priority weight calculation algorithm by pairwise comparison The advantage of the pairwise comparison method is that it requires only a simple evaluation between two alternatives. The eigenvectors are obtained via the comparison matrix and can demonstrate the relative importance of different attributes. Because the score of the appraisal in Table 1 ranges between 1 and 9, the pairwise comparison matrix is used to determine the largest eigenvalue (kmax) and eigenvector. The pairwise comparison algorithm in this paper is represented as follows. Algorithm Pairwise_comparison Input: float aij // i = 0..n 1, j = 0..m 1, aij 2 anm, "aij is the input values for the pairwise comparison, and n and m are a total number of qualities Begin For (i = 1; i 6 n 1; i++) For (j = i + 1; j 6 m; j++) aij input the pairwise comparison values in each aij of a matrix W For (j = 1; j 6 m; j++) For (i = 1; i 6 n 1; i++) aij 1/aji When i = j then "aij 1 k 0 // k is a count number of iterated calculations Wk "aij, aij 2 anm //Eigenvector calculation process section Ei0 1/n, i = 1 to n Do { Wk+1 Wk W0 For (i = 0; i 6 n; i++) Pm Si j¼0 aij Pn Stðkþ1Þ i¼0 Si For (i = 1; i 6 n; i++) // Ekþ1 is Eigenvector value of i’th quality attribute and in (k + 1)’th calculation i Ekþ1 i
Si Stðkþ1Þ
k++
Eki < 0:0001, i = 1 to n) } while ðEk1 i End
Because a reciprocal value is assigned to the inverse comparison, that is, aij = 1/aji, and 1 is assigned to the elements in which the row and column numbers are the same, the user needs only complete half of the matrix in Eq. (1). After the Input process section of the algorithm, the matrix is constructed. ‘‘n’’ and ‘‘m’’ represent the number of rows and columns of the pairwise matrix. Therefore, when the number of attributes is changed, the algorithm can be applied by modifying just ‘‘n’’ and ‘‘m’’. In the Eigenvector calculation process section, eigenvalues are calculated using the power method. Since the power method is used, the processing time increase as a result of changing the number of attributes does not matter. In this algorithm, the threshold to stop the power method process is set up as 0.0001, but the threshold can be adjusted as necessary. Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
7
3.3. Consistency checking algorithm Even though the main benefit of the pairwise comparison is that it requires only a simple evaluation between two attributes, maintaining consistency in the comparison becomes difficult as the number of attributes increases. To validate the consistency of the users’ pairwise comparisons matrices, the consistency index (C.I.) of the matrices is calculated. The consistency index of matrix A is calculated with Eq. (3).
Consistency Index of Matrix A ¼ C:I: ðAÞ ¼ ðkmax nÞ=ðn 1Þ
ð3Þ
In our system, the consistency index calculation is performed with the following algorithm. Algorithm Consistency_index Output: float CI // Consistency_index value Begin For (j = 1; j 6 n; j++) For (i = 1; i 6 m, i++) aij Ej Cij Pm (C i j¼1 C ij , (i = 1 to n) For (i = 1; i 6 n; i++) ki kmax
Ci E
Pni
k i¼1 i n k max n // n1
CI Return CI End
Calculating CI (Consistency_index) value
Matrix theory states that a reciprocal matrix, such as the pairwise comparison matrix, is consistent when the maximum eigenvalue of the matrix is equal to the size of a square matrix n n. In this sense, the consistency index should approach zero. Satty [23,24] indicated that C.I. 6 0.1 means that when the decision makers creates a pairwise comparison matrix, the degree of deviation of the computed weight of each element is acceptable and still matches the consistency requirement. If the value exceeds this range, it is necessary to review the problem and modify the pairwise comparison decision. In other words, When C.I. > 0.1, the analysis of expert opinions is inconsistent. When C.I. = 0, the analysis is completely consistent. When C.I. 6 0.1, the analysis result is acceptably consistent. If the C.I. exceeds 0.1, the pairwise comparison must be performed again. 3.4. The service quality evaluation with priority weight The overall quality is calculated with the priority weights and the quality values of each attribute. However, because the attributes are mixed between qualitative and quantitative attributes and the range and the scale of even the quantitative quality values are different, the retrieved quality values from the UDDI must be converted into a standard scale before calculating the overall quality. In this paper, we made conversion tables, such as Tables 2 and 3, to convert each quality value. With Table 2, the qualitative values are converted to quantitative values, and the quantitative values with different ranges are converted into the standard scale with Table 3. Finally, the overall quality of each web service is calculated with Eq. (4).
Ov erall quality of WS ¼
n X
ðWeight of attribute i Conv erted v alue of attribute iÞ
ð4Þ
i¼1
The next section describes the implementation of the proposed system in detail. Table 2 Measurement scales for qualitative attributes. Linguistic variable
Scale value
Excellent Good Average Fair Poor
1.00 0.80 0.60 0.40 0.20
Related attributes: Operability, Privacy
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
8
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
Table 3 Measurement scales for quantitative attributes. Measured values of each attributes
Scale value
Usage cost
Fault rate
Response time
Availability
<0.01 <0.03 <0.05 <0.10 P0.10
<0.05 <0.10 <1.00 <5.00 P5.00
<0.50 <0.75 <1.00 <2.00 P2.00
> 99.9 >99.5 >99.0 >95.0 695.0
1.00 0.80 0.60 0.40 0.20
4. Implementation of service quality evaluation system The architecture consists of the basic web service model components, i.e., the web service provider, web service consumer and the UDDI registry. In addition, the UDDI registry has the capability to store QoS information using the tModel data structure and a web service broker (WSB). The components of the architecture are presented in Fig. 3. The proposed system consists of three main parts: the ‘‘Web service information’’ part retrieves the interface data and QoS data of the web services that match the functionality that a user inputs and manages the data; the ‘‘Weight calculation’’ part performs the pairwise comparison and the priority weight calculation with the user; and the overall quality of the web services is calculated with the weights and the converted QoS values in the ‘‘QoS evaluation’’ part. A detailed design of the system is represented in the class diagram shown in Fig. 4. The ‘‘Matrix’’ class constructs a matrix for the pairwise comparison with the quality attributes. With the input values received from the user, the ‘‘PairwiseComparison’’ class calculates an eigenvector, i.e., a priority weight and C.I. value. The ‘‘ConversionIndex’’ class contains the conversion tables, shown in Tables 2 and 3, and by referring to the ‘‘ConversionIndex’’ class, the ‘‘QV_Conversion’’ class converts the original quality values of each quality attribute into the normalized quality values. In ‘‘CalculateQuality’’ class, an overall quality score of the web service is calculated with the priority weight of the ‘‘ParwiseComparison’’ class and the normalized values of the ‘‘QV_Conversion’’ class. The ‘‘SearchWS’’ class contains the interface information and the quality data of the web service that are obtained from the UDDI. When the quality attributes are changed, by modifying the ‘‘WS Quality Item’’ class, the matrix for the changed attributes can be constructed, and by altering the ‘‘QV_Conversion’’ class and the ‘‘DetailQuality’’ class, the system can meet the changed attributes and evaluation criteria. Therefore, without a modification to the main algorithms we designed, the system can
Fig. 3. Broker-based system for web service selection.
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
9
Fig. 4. Proposed system design with the main class diagram.
be applied to different datasets with various quality attributes and evaluation criteria by making a few revisions to the classes. The sequence diagram in Fig. 5 explains the process of the model. ‘‘SearchWS’’ looks for the relevant web services according to the functionality, i.e., the key words input by the user, and ‘‘WS_Quality’’ classifies and stores the quality data of the web services that are searched (1–3). For the pairwise comparison, ‘‘Matrix’’ gets the quality attributes from ‘‘WSQualityItem’’ and constructs the ‘‘Matrix’’ (4–8). According to the algorithms in Sections 3.2 and 3.3, ‘‘PairwiseComparison’’ calculates the priority weights and the C.I. value. If the C.I. value is not proper, steps 7–13 are repeated. ‘‘QV_Conversion’’ gets the quality values from ‘‘WS_Quality’’ (15–16) and converts the values with ‘‘ConversionIndex’’ (17–20). In ‘‘CalculateQuality’’, the quality score of the web services is calculated with the priority weights, the quality values are converted and the results are provided to the user through ‘‘ResultWS’’ (21–26). 5. Simulation of the service quality evaluation To show the effectiveness of our proposed method for web service selection according to a user’s quality preferences, we simulated the quality evaluation for sample web services. The web service broker is implemented on a Windows 2003 server platform using the Microsoft Visual Studio .NET development environment and ASP.NET. And the client environment is Window Vista. The programming language used is C#.NET. To enable the interaction between the .NET program and the UDDI-compliant server, we have used Microsoft UDDI SDK 2.0. Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
10
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
Fig. 5. Quality evaluation flow with sequence diagram.
In the following simulations, we assume that four sample web services provide the same functionality, which is described by the keywords ‘‘travel agency,’’ and that every user request has the same functional requirements that are satisfied by all the services. We consider the cost, fault rate, response time, operability, privacy, and availability to be the QoS parameters, as explained in Section 3.1. Table 4 represents the measured quality values of the sample web services. A tModel that was generated to represent the QoS information of the sample web services is shown in Fig. 6. Fig. 7 illustrates the input screen for the pairwise comparison that reflects users’ quality attribute preferences. The pairwise comparison results show different quality preferences of the users. We can see that user A prefers fast processing, that is ‘‘Response time’’, but user B considers robustness or the stability characteristic, that is ‘‘Fault rate’’, as more important. According to the algorithm described in Section 3.2, if the user fills out half part of the pairwise matrix, the rest of the matrix is completed automatically and the priority weights of each quality attribute are calculated. The completed pairwise comparison matrix and the priority weight calculation results are provided to the user in the result screen (see Fig. 8). Fig. 8 shows the priority weight calculation results of user A and user B. In the case of user A, ‘‘Response time’’ is the most important factor, but in the case of user B, ‘‘Fault rate’’ is more important than others. In this step, a consistency check is performed by the C.I. calculation. If the C.I. value is less than 0.1, the next step proceeds by clicking the ‘‘Next’’ button. However, if the C.I. value exceeds 0.1, an alert screen appears that prompts the user to return to the ‘‘Input for Pairwise Comparison’’ screen in Fig. 7 to perform the pairwise comparison again. Fig. 9 shows the overall quality evaluation results of the web services searched with the keywords ‘‘Travel Agency’’ as the functionality constraints. When the functionality only is considered, four web services are found. The table in the screen
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
11
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx Table 4 QoS values of sample WS. Attribute
WS-1
WS-2
WS-3
WS-4
Cost Fault rate Response time Operability Privacy Availability
0.020 0.094 0.990 Good Good 99.95
0.008 0.088 0.600 Fair Good 99.60
0.025 0.880 0.400 Average Average 95.50
0.045 0.090 0.660 Average Good 99.55
Fig. 6. The tModel with the QoS information.
Fig. 7. 1–9 scale input screen for pairwise comparison of user A and user B.
represents the quality scores in each attribute calculated with the weights of user A and user B and the converted quality values, the total quality evaluation scores, and the ranking. Fig. 9 shows the quality preferences (i.e., priority weights) change according to users and that the evaluation results for the four sample web services also change. In these evaluation results, WS1 is the best choice for user A and B, but the evaluation rankings of WS2 and WS4 are changed.
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
12
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
Fig. 8. Priority weight calculation result of user A and user B.
Fig. 9. Web service quality calculation result of user A and user B.
The user A and B can connect with web services by clicking the ‘‘Select’’ button and can also choose the others in spite of the evaluation results. This system does not compel the user to accept the results. Instead, it is meant to support the user in choosing an appropriate service. From the simulation results we can verify that the priority weight plays an important role in evaluating and ranking the quality of web services. Therefore, a concrete and objective method is required to calculate the weight. For this purpose, we designed algorithms and suggested the application based on the algorithms. 6. Result and discussions Because the QoS offered by web services is becoming the utmost priority for not only users but also service providers, many researches focus on the quality-based selection of web services. However, previous studies have not considered using different weights for each quality attribute that can be changed according to the evaluation circumstances and can be used to estimate the overall quality. There are many studies which have proposed a web service based on QoS or consider weights of quality attributes, but they suggested theoretical models without a concrete system or application. In this paper, we tried to provide a concrete method and an actual system which can be applied to real environments through a slight modification. Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
13
We applied AHP as a method to calculate priority weight objectively, but a concrete method was required to apply to an actual system. So, we designed algorithms that can be applied to an actual system and constructed the application on the basis of the algorithms. Also, the application can be applied to other decision making systems by simply modifying a couple of classes. With the proposed algorithms for calculating the priority weights of each quality attribute through a pairwise comparison matrix and its eigenvectors, users can determine the weights according to their quality preferences consistently and easily. On the basis of the algorithms, the proposed quality evaluation system calculates the overall quality score of web services that consists of attributes with different characteristics and enables users to select the best web service. The simulation results show that the weights of the quality attributes can be changed according to users. Therefore, the quality score ranking of the web services are changed. For the simulation, we selected six quality attributes from the literature and constructed the conversion tables. If a web service quality standard is instituted, the conversion table should be reconstructed according to the standards. We divided the range of the conversion table into five steps, but for more accurate evaluation, the range must be subdivided. Although we could not collect enough actual quality data about the web services to make a precise conversion table, we demonstrated the effectiveness of the proposed algorithms. The evaluation system should be verified under the actual web service environments in a future study. Up to date, because SLA (Service Level Agreement) does not include a quality data standard, the studies about contextoriented web service selection have been performed mostly. If the proposed system is combined with the context-oriented web service selection using semantic technique [29], it can be more useful web service searching method.
Appendix A. Supplementary material Supplementary data associated with this article can be found, in the online version, at http://dx.doi.org/10.1016/ j.ins.2014.02.141. References [1] Abdelraoof Mayyas, Qin Shen, Ahmad Mayyas, Mahmoud Abdelhamid, Dongri Shan, Ala Qattawi, Mohammed Omar, Using quality function deployment and analytical hierarchy process for material selection of body-in-white, Mater. Des. 32 (5) (2011) 2771–2782. [2] H. Al-Kilidar, K. Cox, B. Kitchenham, The use and usefulness of the ISO/IEC 9126 quality standard, Empirical Software Engineering, in: International Symposium on Empirical Software Engineering 2005, NSW, Australia, 2005, pp. 1–7. [3] Angus F.M. Huang, Ci-Wei Lan, Stephen J.H. Yang, An optimal QoS-based Web service selection scheme, Inf. Sci. 179 (19) (2009) 3309–3322. [4] Doaa. Nabil, Abeer. Mosad, Hesham.A. Hefny, Web-based applications quality factors: a survey and a proposed conceptual model, Egypt. Inform. J. 12 (3) (2011) 211–217. [5] Eyhab Al-Masri, Qusay H. Mahmoud, Toward quality-driven web service discovery, IEEE IT Prof. 10 (3) (2008) 24–28. [6] Faith-Michael Emeka Uzoka, Okure Obot, Ken Barker, J. Osuji, An experimental comparison of fuzzy logic and analytic hierarchy process for medical decision support systems, Comput. Methods Programs Biomed. 103 (1) (2011) 10–27. [7] D. Gouscos, M. Kalikakis, P. Georgiadis, An approach to modeling web service QoS and provision price, in: Proceedings of the 1’st International Web Services Quality Workshop – WQW 2003 at WISE 2003, Rome, Italy, 2003, pp. 1–10. [8] H.R. Baghaee, M. Abedi, Calculation of weighting factors of static security indices used in contingency ranking of power systems based on fuzzy logic and analytical hierarchy process, Int. J. Electr. Power Energy Syst. 33 (4) (2011) 855–860. [9] INSPIRE European Commission, INSPIRE Network Services Performance Guidelines, INSPIRE Consolidation Team, 13–12–2007, 2007. [10] J.D. Nixon, P.K. Dey, P.A. Davies, Which is the best solar thermal collection technology for electricity generation in north-west India? Evaluation of options using the analytical hierarchy process, Energy 35 (12) (2010) 5230–5240. [11] Jianqiang Hu, Changguo Guo, Huaimin Wang, Peng Zou, Quality driven Web services selection, in: IEEE International Conference on e-Business Engineering 2005, ICEBE 2005, pp. 681–688, http://dx.doi.org/10.1109/ICEBE.2005.101. [12] Layla Hasan, Emad Abuelrub, Assessing the quality of web sites, Appl. Comput. Inform. 9 (1) (2011) 11–29. [13] Liam O’Brien, Len Bass Paulo Merson, Quality Attributes and Service-Oriented Architectures, Technical Note, CMU/SEI-2005-TN-014, 2005. [14] Yutu Liu, Anne H.H. Ngu, Liangzhao Zeng, QoS computation and policing in dynamic web service selection, in: 13th International World Wide Web Conference on Alternate, ACM, 2004, pp. 1–8. [15] Maximilien E. Michael, Munindar P. Singh, A framework and ontology for dynamic web services selection, IEEE Internet Comput. 8 (5) (2004) 84–93. [16] Nahid Mohajeri, Gholam R. Amin, Railway station site selection using analytical hierarchy process and data envelopment analysis, Comput. Ind. Eng. 59 (1) (2010) 107–114. [17] Netra Patil, Arpita Gopal, Ranking web-services based on QoS for best-fit search, Int. J. Comput. Sci. Commun. 1 (2) (2010) 345–349. [18] OASIS, Web Services Quality Model (WSQM), 2011.
. [19] Pengcheng Xiong, Yushun Fan, QoS-aware web service selection by a synthetic weight, in: Fourth International Conference on Fuzzy Systems and Knowledge Discovery, 2007, pp. 632–637. [20] T. Rajendran, P. Balasubramanie, An optimal broker-based architecture for web service discovery with QoS characteristics, Int. J. Web Serv. Pract. 5 (1) (2010) 32–40. [21] S. Ran, A model for web services discovery with QoS, SIGEcom Exc. 4 (1) (2004) 1–10. [22] Ronald R. Yager, Giray Gumrah, Marek Z. Reformat, Using a web personal evaluation tool – PET for lexicographic multi-criteria service selection, Knowl.-Based Syst. 24 (2011) 929–942. [23] T.L. Saaty, Decision Making with Dependence and Feedback: The Analytic Network Process, RWS Publications, Pittsburgh, 1996. [24] T.L. Saaty, The Analytic Hierarchy Process, McGraw-Hill, New York, 1980. [25] Young-Jun Seo, Hwa-Young Jeong, Young-Jae Song, Best web service selection based on the decision making between QoS criteria of service, Lect. Notes Comput. Sci. 3820 (2005) (2005) 408–419. [26] Taghi M. Khoshgoftaar, Yudong Xiao, Kehan Gao, Software quality assessment using a multi-strategy classifier, Inf. Sci. 3 (2010), http://dx.doi.org/ 10.1016/j.ins.2010.11.028. [27] W3C, QoS for web services: requirements and possible approaches, W3C Working Group Note 2003, 2010. .
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141
14
C.R. Choi, H.Y. Jeong / Information Sciences xxx (2014) xxx–xxx
[28] Zein Kallas, Fatima Lambarraa, José Maria Gil, A stated preference analysis comparing the analytical hierarchy process versus choice experiments, Food Qual. Prefer. 22 (2) (2011) 181–192. [29] M. Klusch, B. Fries, K. Sycara, OWLS-MX: a hybrid semantic web service matchmaker for OWL-S services, Web Semant. 7 (2) (2009) 121–133. _ Yüksel, Metin Dag˘deviren, Using the analytic network process (ANP) in a SWOT analysis – a case study for a textile firm, Inf. Sci. 177 (16/15) [30] Ihsan (2007) 3364–3382. [31] Yishui Zhu, Roman Y. Shtykh, Qun Jin, A human-centric framework for context-aware flowable services in cloud computing environments, Inf. Sci. 257 (2014) 231–247.
Please cite this article in press as: C.R. Choi, H.Y. Jeong, A broker-based quality evaluation system for service selection according to the QoS preferences of users, Inform. Sci. (2014), http://dx.doi.org/10.1016/j.ins.2014.02.141