Abstract
The applications based on Web services (WS) composition are gaining momentum as an approach to build autonomous, heterogenous and distributed applications. Often a unique WS does not provide the required funcionality, therefore it is necessary to carry out a composition of WS in order to get the expected results. Optimizing the WS composition requires an efficient way to select the best Web services. Solving this problem can be a very complex task involving many criteria. In this work an approach is proposed to accomplish the WS selection from services previously registered and classified according to their quality of service (QoS) parameters. QoS parameters are characterized by an ontology and their values stored in a semantic database. The values of QoS corresponding to providers are collected automatically by an evaluation agent of QoS. In this way the service composition benefits from this proposal being easier and more efficient, taking into account only the best services and respecting the quality of service requirements established by the user. The results from the experiments performed with data involving real WS and artificially created data show that the proposed method is a feasible option to do a better selection of WS in the context of a WS composition.
Keywords
Introduction
The World Wide Web Consortium defines a Web service as a software system designed to support interoperable interaction machine to machine on a network. It has an interface described in a format which can be processed by machines (generally WSDL [1]). Other systems interact with the Web service in a way prescribed by its description using SOAP messages, tipically transported by HTTP with a XML serialization combined with another standards related with the Web [2]. When simple Web services are not able to fulfill with complex requirements they can be combined to create composed services which can satisfy such requirements.
In order to create a composed Web service it would be ideal to discover and select the most suitable service for the possible client requests. However the number of Web services increases continously whence to find the best service is not a trivial problem especially if, to do the selection not only funcionality of the service is considered but QoS parameters such as availability, execution time, among others. Managing the quality of service allows to develop a set of techniques whose goal is to match the needs of the requesters and service providers based on the resources of the network and the available processing capacity [3].
Semantic technologies like SAWSDL [4] have been employed in different approaches with the objective to associate semantic annotations to WSDL for describing the Web services and easing the composition [5]. The ontologies are used as a semantic model to define annotations of the elements of WSDL that can be used for the semantic interoperability of the QoS parameters. Many works [5–9] mention the different ontologies of quality of service parameters and algorithms which use such ontologies to select the most suitable Web service. Additionally, other works [6, 10] consider making a classification of Web services with the aim to achieve a better selection of Web services. It is intended in this way to simplify the process so that the composition is carried out only with the best services.
In the present work a new integrated approach is presented in order to effectively select the suitable WS which fulfill the requirements of the WS requesters. The proposed method consists in defining an evaluation agent of quality of service for the WS providers. The agent achieves a better reliability about the values of QoS delivered by each WS, releasing from that responsibility to the providers themselfs. In that way a non intrusive method to evaluate to WS providers is obtained which is independent of its implementation (either SOAP or REST).
The evaluated WS are registered and classified in a semantic database which is defined by means of an ontology specifically designed to characterize the QoS parameters and their properties. The characterized data from the evaluated WS serve as entry point for the WS selection agent, thereby easing the selection process demanded by the requirements of the WS clients. In this manner, in a composition process of WS the best evaluated WS are delivered. Using the signaled composition of WS has also the advantage of preserving the availability and throughput of the global WS system.
The rest of the paper is organized as follows: the Section 2 describes briefly the concept of ontologies, the Section 3 presents the state of the art about works related to the development of ontologies to characterize the quality of service in WS, as well as vinculated approaches in the area of Web services selection. At the end of the same section it is described the limitations located during the review of related works. In the Section 4 it is explained the evaluation agent of quality of service including the aspects decisions about the design of the semantic database and the developed ontology. The Section 5 describes the WS selection agent. The Section 6 depicts the experiments carried out with the components of this proposal. Finally the conclusions and current work are presented.
OWL ontologies
An ontology is an explicit specification of a conceptualization, that is, a specification of objects, concepts and other entities, all of them existing in some area of interest as well as the relationships between them, [11]. The terms provided by the ontology can be used to express specific propositions of a domain or situations within it, thus an ontology can represent beliefs, objectives, hypotheses and predictions about this domain, in addition to simple facts [12].
From a philosophical perspective, an ontology is the study of the types of things that exist. However, in artificial intelligence domain, the term ontology usually means both vocabulary and knowledge. Indeed, an ontology implies the definition of a vocabulary for the characterization of concepts, often specialized for some domain. However, a vocabulary as such is not an ontology, since an ontology includes the conceptualizations that the terms in the vocabulary are intended to capture. Identifying vocabulary (and conceptualizations) generally requires careful analysis of the types of objects and relationships that may exist in the domain. In addition, the term ontology refers to a body of knowledge that describes some domain of the world by using a vocabulary for such representation. This vocabulary provides a set of terms describing the facts about the domain of interest, while the body of knowledge represented with that vocabulary is a collection of facts about that domain [12].
The OWL language represents the de facto standard for specifying ontologies. Protégé [13] is a software tool developed by Standford University that provides a simple way to create ontologies in OWL language, which is based on RDF/XML.
Ontologies have been widely used to model different domains in computer science. In the particular domain of Web services, a significant number of ontologies have been defined to represent their main characteristics. In this work, we are particularly interested in the ontology proposals that seek to characterize the QoS properties related to Web services. These ontologies intend to extend the information requirements related to the WS, in order to know them better and thereby better match the requirements of the clients with the services offered by the providers.
In the next section we describe the main works about ontologies based on QoS for Web services. As well as the proposals for selecting Web services that better adapt to different criteria.
Related work
Quality of service ontologies applied to Web services
Tran and Tsuhi [7] have made a review of the current approaches on the topic of quality of services (QoS) focused on the development of ontologies applied to Web services. Different types of QoS properties can have different types of values, moreover they can have different trends: they can be positives (the higher the value the higher the benefit) or negatives (the higher the value the lower the benefit). The referred review lists the following approaches: OWL-Q is an ontology of superior level whose modular focus make it flexible to add support ontologies. This is an upper level ontology that extends OWL-S, and it is separated in multiple and independent facets. Connecting Facet links OWL-Q and OWLS-S ontologies, defines concepts and vocabulary for QoS advertisements and requirements. Basic Facet associates a service profile with QoS offers. QoS Metric Facet describes classes and properties used for defining QoS metrics. Unit Facet describes the unit of a QoS metric. This ontology provides a detailed specification for modeling QoS information. Its modular approach makes this ontology flexible to add more necessary support ontologies for an applied application. QoS Ontology Language is focused on the development of QoS Ontologies and related vocabulary. It provides a list of important QoS attributes. This QoS ontology contains necessary classes for describing QoS attributes: QoSParameter representing QoS attributes; Metric defining the way a QoS attribute is assigned with a value (including metric type, value, conversion formula, statistical functions); QoSImpact expressing how a QoS attribute contributes to the service quality; Type specifying a specific QoS category to which a QoS attribute belongs; Nature indicating the static or dynamic nature of a QoS attribute; Aggregated indicating how a QoS attribute is composed of other attributes; Node identifying the network node (service providers or service clients) which may impact on the value of a QoS attribute; Relationship representing the way a QoS attribute is correlated with other attributes. onQoS was developed to let service consumers specify QoS requirements and to let service providers publish the quality of the services they offer. It also gives a well defined specification for metrics, data types, metric transformations and definition of a common set of QoS properties. Composed of three complimentary and extensible ontology layers. Upper ontology provides concepts for formulating and answering QoS information. Middle ontology extends and refines concepts in the upper ontology to specify domain-independent QoS parameters, QoS metrics, and QoS scales. Low ontology defines concepts, properties, and constraints for QoS information of a specific domain. WSMO-QoS is used to describe a QoS model, specific quality metrics, attributes of values and their corresponding sizes. The WSMO (Web Service Model Ontology) model and features are used to describes a QoS model, specific quality metrics, value attributes and their metrics. It provides a means for specifying detailed quality aspects about WS in the WSMO framework. A new class QoS is defined as a subclass of the nonFunctionalProperties class in WSMO and can be attached to the class Web service or the class Goal. The QoS class includes attributes for specifying details of a QoS property. QoSOnt ontology is based on taxonomies and existing QoS models. It has a focus similar to OWL-Q and onQoS. This ontology includes several ontologies organized into three layers. Base layer includes generic QoS concepts and unit ontologies. Attribute layer contains ontologies defining particular QoS attributes and their metrics. Domain-specific layer links the lower layers to specific types of systems. E.g. network systems and Web service system. At the core of QoSOnt is a taxonomy of Attributes and Metrics i.e. two trees formed using the subClassOf construct. An attribute is e.g. reliability, performance. A metric is e.g. Probability of Failure on Demand, Transactional Throughput. This becomes a (complex) directed graph once properties are considered, e.g. The Property hasMetric (and its inverse isMetricOf) is the basic link between the attribute and metric trees. DAML-QoS is specific for Web services and it was developed from DAML-S ontology which was modified for doing QoS specifications. It supports quality levels and role use for consumers and providers. It includes three layers: the QoS profile layer designed for matchmaking purpose, the QoS property definition layer for elaborating the property’s domain and range constraints, and the metric layer for definition and measurement of QoS metrics.
The ontology proposed by Maximilien and Singh [14] enables to agents of its proposed service algorithm finding coincidences with published quality levels for consumers with specific preferences on quality of services. Providers state politics and consumers state preferences using the ontology. The ontology is divided in three parts. The upper ontology which contains generic concepts of quality and defines the basic concepts associated to quality like measure and relations. The middle ontology incorporates many aspects of quality found in distributed systems like availability. Tipically, the middle ontology is completed with a lower ontology specific to the domain.
Selection of Web services
Maximilien and Singh [14] implemented an architecture based on agents which is executed in a WSAF (Web Service Agent Framework). WSAF incorporates agents of services selection which use a QoS ontology and an XML language of politics allowing to consumers and providers of services to expose their quality parameters. For each service, WSAF creates a service agent which exhibits the service interface with additional functionality to capture the preferences or politics of services quality and consulting other agents about coincidences. The proposed QoS ontology enables to service agents to find coincidences with quality levels published for consumers with specific preferences of quality of services. The referenced work does not give enough detail about the executed tests.
Junhao et al. [8] propose an ontology which supports different measurements and the matching of heterogeneous quality of service attributes. It also has a great capability of extensibility and semantic description. Based on this ontology, an algorithm of semantic Web service selection was developed consisting in four phases: first, a semantic matching is done between an array of service requests and a set of published services, then the measures of quality of service parameters are unified. After, a pairing of values with the set of published services is done permitting, as last phase, a user to select the best Web service according to a custom selection. The results of the realized experimentation showed that the proposed algorithm selects the service which is the best adapted to the requirements.
Raj and Sasipraba [15] present a Web service selection model in which a quality of service manager is implemented. The manager acts as mediator between the client and the provider. It binds the published data with the service. The selection is performed based on the functional requirements and the quality of service of the client which specifies threshold values of quality parameters. After that process, a set of service candidates satisfying functional and quality requirements is obtained for being classified and selected. Classification is carried out according to quality of service usefulness. Finally, the service with the best quality is selected and returned to the client. The experimentation results show that the Web services were succesfully published and classified according to user requirements.
Tran, Puntheranurak y Tsuji [6] acomplish a coincidence of services by means of the evaluation on how a request and a service fulfill the requirements for both of them. The role of the algorithm is assessing the level of functional satisfaction of a Web service according to a request by pairing their functional descriptions for the service. If it exists more than one operation of service that have coincidence with the requested operation the list of operations is ordered in agreement with a set of criteria which take into account the degree of fulfillment with the requirements of both the request and the services. Although it is mentioned that the algorithm was implemented no results are mentioned.
Chitra et al. [10] proposed a model for selection of Web services using Naïve Bayes to classify the quality of service by means of the pairing of ontologies’ patterns. Naïve Bayes is an algorithm of machine learning which works on the conditional probability of Bayes theorem. The user requests a service with or without specifying QoS functionalities. A Web service that coincides with the required features is obtained from a UDDI register. All the obtained services are converted to ontologies and stored for future reference. The pairing process is performed in three steps: syntactic similarity, based on string comparison, semantic, computed for words using WordNet and structural which compares the structure of ontologies through a number representing a similarity level between concepts. Tests done in a scenario involving real Web services show that a better selection can be achieved with the proposed method.
Lim et al. [16] propose an approach of selection for Web services based in the satisfaction of three parts: user, Web service and community, taking into account that the Web services reside in a community. For the first part, the parameters of quality of service for the current service. In the second part, because of being part of a community the service expects certain workload, a satisfied Web service will rest available in the community for longer and will distribute its resources to a greater extent. An unsatisfied service could leave the community earlier and negatively affect the level of quality of service for the users. Finally, the selection is carried out through a master Web service which measures its satisfaction in terms of cost, such satisfaction represents how good the community is respect to other communities. The realized experimentation shows that the consideration of the three parts has beneficial results for the user compared with the approach that considers only user satisfaction.
Shi et al. [17] present a user centered calculation of quality of service values, taking into account differences between experienced and novel users. The experienced users can have an idea of the range for a particular quality of service parameter and also to have a preference on some parameters rather than others. To apply such knowledge is impossible for new users. The calculation of the quality of service parameters is separated in three phases: preprocessing of values (like normalization or other process), user satisfaction (degree of coincidence between the required quality by the user and the quality provided by the available Web services) and the agreggation of multiple properties (different weights for each property). For the study in question a translation service is selected and according to the cost and the quality of the translation the obtained results were satisfactory for both new and experimented users.
Nagy et al. [18] proposed an algorithm of selection based on quality of service which is able to identify the best Web service candidate given the service description and the criteria for quality of service provided by the user. A semantic matcher is used to improve the selection precision. Data storage techniques are used to realize a better selection based on requirements and previous selections done by the user. The algorithm obtains a set with the best services already classified. Using as criteria of quality of service the level of confidence, execution time and the cost by service in a set of simulated services. The tests showed that the proposed method provides a bigger number of candidate services extending the options to find the best service, though the bigger the number of providers the bigger the planning time for requests.
Harshavardhanan et al. [19] proposed an architecture of quality of service managers to select the best Web service which is obtained from a query realized by the client including his requirements of quality of service. The proposal employs a UDDI register to accomodate the information of quality of service and the quality agent to ease the service discovery. The quality agent will select the most suitable of the Web services for the requester by satisfying his constraints and preferences of quality of service. The agent architecture is divided in three layers: the first is the interaction one which contains the clients and services providers, the second is the agent one which contains the methods of selection of Web services and also the methods of service validation (generally carried out by a third party), and finally, the repository of Web services where the services and the quality of service parameters are published.
Limitations of related work
The ontologies reviewed in Section 3.1 have the following limitations [7]: OWL-Q has a weak support of priorities for quality of service and does not include common definitions of QoS. QoS Ontology Language has a very low support of metrics and data types definitions. onQoS leaves many characteristics of QoS properties aside and has a limited support for QoS related information like priorities, levels, etc. WSMO-QoS does not have concrete definitions about a set of common QoS properties and provides few support about the use of QoS information. With QoSOnt ontology is not posible to specify a QoS profile from a set of QoS characteristics moreover it does not have support for QoS relations. DAML-QoS is very limited because it does not offer comparative effects definition, nor priorities moreover it does not have concrete definitions of QoS properties.
The ontology proposed by Maximilien y Singh [14] does not support metrics nor priorities although it covers the most of the other limitations. The ontology provides a great variety of classes covering many aspects of QoS parameters exceeding the needs of the work presented in this paper. We have developed a new ontology taking as starting point the referenced ontology, details are presented in Section 4.2.
In the aspect of service selection, the reviewed works, in general, do not consider that the user requirements can change during the process [8], they only return a service as a result and therefore they are not prepared for a composition context [9]. In [6, 14] implementations are introduced but without details or results.
Evaluation agent of quality of service
The function of the evaluation agent of QoS is to measure the parameters of quality of service for Web services providers. The parameters of quality of service employed and their definitions [15] are the following: Availability. Probability of a successful access to the service for a request. It is obtained using the equation:
Response time of the Web service. Elapsed time between the moment of request and the moment of answer reception.
Throughput. Maximum number of requests that are successfully executed in a given time.
The agent is provided with the URL of the services in question, it executes the service a previously determined number of times and returns the QoS parameters values corresponding to the service.
In order to register the Web services and their respectives quality of service parameters, two options were considered: A modified UDDI register for the support of the semantic information. Universal Description, Discovery and Integration (UDDI) [20] is a set of registers based on Web which expose information of companies or other entities together with their technical interfaces or APIs. The registers are available through operator sites, and anyone can seek information about Web services published by or in behalf the company. However, the lack of understandable by machines semantic information in the UDDI registers hinders its use for automatic services discovery. In order to overcome these limitations tools like FUSION [21] have been developed. FUSION is a register of Web services semantically improved based on UDDI specifications which improves the publishing of Web services. A platform that permits query and update of semantic information. With the rise of the semantic Web, knowledge and information based applications have been developed and modeled with metadata languages, for example, Resource Description Framework (RDF) [22]. RDF [23] is a general purpose language for representing information in the Web. Apache Jena [24] is a platform able to create and read ontologies in form of RDF graphs and, by means of SPARQL [25], to make queries and updates. The platform provides the server Fuseki which supports SPARQL queries and let to store data persistently.
The modified UDDI registers for storing semantic information, like FUSION, are a good option. However their main drawback is that them consider only services using SOAP and WSDL, leaving aside more recent solutions for Web services solutions like REST. A semantic platform represents a more suitable and flexible solution to store the QoS parameters, independently of the Web service type. Thus it was decided to use an ontology, Apache Jena and the query language SPARQL to store data.
Ontology for Web services
An ontology will be used in two moments of the composition process. First, when obtaining and storing QoS parameters values, and then to the moment of recovering them and to determine which services will be used in further stages of the process. Implemented in Java, the conection with the ontology is made by using the platform Jena. This platform provides functions to access, query and update by means of the query language SPARQL the information stored in the ontology. Such information is found in a set of independent files which can be modified without changing the original file for the ontology. Figure 1 shows the needed SPARQL code to add a new value for a parameter of QoS in a specific Web service. Additionally it can be added data like date among others. Figure 2 shows the code to retrieve the value of the availability parameter for a specific Web service. Figure 3 shows an image in Protégé of the classes that define our ontology. The Tables 1 and 2 show the elements belonging to the ontology and their description. The Jena’s API is available at https://jena.apache.org/documentation/javadoc/.

Code in SPARQL to insert a new value for the parameter of availability in the service represented by ServiceId.

Code in SPARQL to retrieve the values for the parameter of availability in the service represented by ServiceId.

Developed ontology for Web services registration.
Ontology classes
Properties of the ontology
The Web services selection agent is responsible for assigning a number (reward for calling this service), for each Web service according to its quality of service. This number could be taken into account by the Web services composition manager in order to determine if the Web service in question will be taken into account or not. The reward is calculated according to the Equation 4 [26].
w
i
∈ [0, 1] is the weight of each of the quality of service parameters. By changing the value of w
i
, one can specify that the parameter i is more or less important when considering the Web service. For example, when a Web service must have a shorter runtime, regardless of its cost, the weight assigned to its “response time” parameter should be greater than the weight assigned to its “cost” parameter.
Experimentation involves two scenarios: a real scenario using the services presented in Section 6.1 and another one with artificially generated data. The issue of compatibility between services is a complex one that deserves a thorough study, which is partially addressed in this work, taking into account only the QoS values of the provider services. Thus, the experiments assumed that if the services met the QoS criteria, then they were suitable for the selection process. All experiments were performed on a computer with Intel Core i5 2.5 GHz processor, 64-bit Windows 8.1 operating system, and 6 GB of RAM.
Evaluation agent of quality of service
In order to obtain the values of QoS parameters, two classes of WS were considered: The first class is a weather service in which the temperature of a city can be obtained. The another class is a Web service that can be used to convert temperatures from one unit to another, for example from Fahrenheit to Celsius. In the class of weather we have 3 Web services. These were selected because they were freely available and had a clear yet enough documentation that allowed the use of services without major complications. Of course, the strategy defined here can be extended, applying it to others Web services with diverse characteristics, such as greater complexity, greater number of suppliers, paid ones as Amazon Web services, etc.
In the class of temperature conversion there are 4 Web services. A simple calculator Web service like the one available in http://www.dneonline.com/calculator.asm. Given that
ConvertTemperature Web service.44 TemperatureConversions Web service.5 TempConver Web service.6
While weather Web services can provide the temperature in the desired unit, for this work it is assumed that they will return the result in Fahrenheit degrees. Likewise, temperature conversion Web services (except the calculator) can be indicated on which unit the response is to be found. It is assumed that they will receive the temperature in Fahrenheit degrees and return it in Celsius degrees.
The process to get the value of a quality of service parameter was as follows: Each WS was executed a total of C T = 50 times, recording the total time of all requests (the time of each request from the instant when the Web service is called until the response is received), and the number of successful and failed requests. Using the formulas presented in Section 4 for the Availability, Response Time and Throughput parameters, the values of each parameter were obtained for each WS. The process was repeated at instants when a real request could be made. Some requests were made in the morning and others in the afternoon, for several days (approximately one week). A pause was done for a while (few days) and then the process was repeated.
In general, WS were available on all times when requests were made. Only the ConvertTemperature service had availability problems, and if it has an availability of 0 also has a throughput of 0.
Table 3 shows average values of QoS parameters obtained for each WS provider.
Average values for QoS parameters
Experimentation with the Web services selection agent consisted in applying equations such as 4 with different weights to determine if a Web service will be taken into account by the composition manager. The Equation 6[27] were applied to the obtained QoS values:
Where W m and W n are the weights of the quality of service parameters, q i represents the negative QoS parameters (better if it has a lower value) and q j represents the positive parameters.
The composition manager consists of joining the Web services according to the values obtained by the equations using the Dijkstra algorithm.77 Therefore, the service with the lowest value QoS (s) would be selected by the composition manager. However, a modification was made aiming at the service with highest value QoS (s) is selected, in such case q i represents to the positive parameters and q j to the negative ones.
The experiments are aimed at verifying whether the application of equations affects the composition process.
In the real scenario, both equations were used to calculate the number or reward representing the Web services and the simple Dijkstra algorithm was applied in the composition manager.
Although the use of any of two equations did not affect the final result, each one has the following disadvantages: In Equation 4, the use of a very large weight for the response time parameter causes the number obtained to be negative, which is inadequate for the composition manager, since the latter can not handle negative weights. This was the case of the set of weights marked with the number 2 in Table 4. Equation 6 requires extra processing because it needs first to compute
Weights used for experiments with the real scenario
For the artificial scenario, the same method of the real scenario was used, except that only sets of weights numbers 1 and 3 were used. In this case, the results indicated that the use of one or the other equation affected the final result of the composition manager. 100 layers of 15 WS each were used. The results obtained are as follows. Taking into account the result of the composition manager obtained with the Equation 6, and the rewards obtained with the Equation 4, and comparing it with the result obtained with the latter, it is concluded that, it is precisely with the result obtained with Equation 4 that a better quality of service value is obtained. In addition, a review layer by layer showed that the first equation selects better Web services. The second equation does not favor some QoS parameter even taking into account the weights. First equation meets the goal of favoring one or another QoS parameter according to the provided weights. Table 5 shows that the values of quality of service obtained when using the weights of sets 1 and 3 are smaller to the case in which no weights are used. However, in Table 6 it can be seen that for the set of weights number 1, the availability value obtained is greater than that obtained with the set of weights number 3, and that obtained in the case where no weights are used. This is because a larger weight has been assigned for this parameter. In the same way, in Table 7 it can be seen that by assigning a greater weight to the response time in the set of weights 3, a slightly lower value is obtained (at a smaller response time better the service is) compared to the case without weights, and much smaller than the one obtained with set 1.
Comparison between the values of QoS using Equations 1 and 2
Comparison between the values of availability using Equations 1 and 2
Comparison between the values of response time using Equations 1 and 2
In this paper an approach was proposed to improve the selection of Web services. The quality of service evaluator takes the available Web services providers, obtains their quality of service parameters, and stores them in a semantic database characterized by an ontology. The Web services selection agent takes the previously stored quality of service values and generates a list that allows selecting the best WS.
The quality of service evaluator evaluated the availability, response time, and throughput values of seven real Web services. The values obtained were used in the next phase. The Web services selection agent assigned each service a number or reward that would serve to make a simple filtering. Additionally, tests were done to compare 2 equations that would serve to obtain the reward. The Equation 4 proved that, when applied, Web services with better values of QoS parameters are obtained, compared to the Equation 6.
The results obtained from this work have been used successfully to provide better Web services to a composition manager using the Dijkstra algorithm [28].
The approach presented here lays a good foundation that can be extended by considering more QoS parameters, allowing with this the possibility of adapting to more complex QoS requirements by the clients. Likewise, it is contemplated to carry out more experimental tests with a greater quantity and diversity of Web services, both SOAP and REST type. As the emerging issue of cloud computing, and being Web services technology a core part of its implementation, a Web services application that we believe could be interesting to evaluate in the near future, corresponds to WS for NLP.
This same approach can be used as a complement to the Web services discovery process. What we consider to be applied in our research on the design of self-healing architectures for the support of WS-based applications, particularly when it is necessary to apply recovery actions such as WS substitution and duplication in order to recover the health of the system.
Finally, the experiments assumed the compatibility of the outputs of the weather web services were fully compatible with the temperature conversion services. An interesting exercise would be to take into account these compatibilities by using the isCompatibleWith property of the presented ontology, which must be developed to fulfill a goal closer to reality.
Footnotes
Acknowledgments
We thank Universidad Autónoma de Yucatán (UADY) and Consejo Nacional de Ciencia y Tecnología (CONACYT Mexico) for financial support for doing this research.
