A metamodel of WSDL Web services using SAWSDL ... - IEEE Xplore

2 downloads 471 Views 410KB Size Report
paper proposes a semantic Web services metamodel founded on. SAWSDL language. ... These factors encouraged the development of various standards for ...
A metamodel of WSDL Web services using SAWSDL semantic annotations Naima Erchidi Elyacoubi, Fatima-Zahra Belouadha, Ounsa Roudiès SIR Laboratory, Department of Computer Science, Mohammadia School of Engineering (EMI), BP 765. Av Ibn Sina Agdal, Rabat, Morocco. [email protected], [email protected], [email protected] Abstract—The Web services technology is founded on the use of a number of standards based particularly on XML, such as SOAP, WSDL, UDDI and BPEL. However, these standards are not sufficient to allow an automation of the various tasks of the Web service’s life cycle, namely the discovery, the invocation, the publication and the composition. Recently, the W3C consortium produced the SAWSDL language. This language is a new standard enabling the semantic Web services’ description. It allows the semantic annotation of WSDL elements and XML schemas. Within the framework of the MDA approach, this paper proposes a semantic Web services metamodel founded on SAWSDL language. This metamodel would constitute an abstraction of the complexity of the use of the WSDL standard. It would also enable developers to easily implement semantic Web services based applications. Keywords: Semantic Web service, metamodel, SAWSDL, semantic annotation, ontology, MDA.

I.

INTRODUCTION

The information exchange in a distributed environment is not a recent paradigm. CORBA (Common Object Request Broker Architecture), DCOM (Distributed Component Object Model) and RMI (Remote Method Invocation) are reliable and secured technologies which answer this purpose. However, their deployment and their interoperation seem to be complicated. Today, the Web services constitute a specific implementation of SOA architecture. They are standardized thanks to the democratization of the high-speed Internet access, the simplicity of their implementation and their interoperability. The Web services are supported by various consortia and software publishers: W3C (World Wide Web Consortium), OASIS (Organization for the Advancement off Structured Information Standards), WS-I (Services Web Interoperability Organization), Microsoft, IBM, SUN, APPLE, SAP, etc. These factors encouraged the development of various standards for this technology. They are already standardized or in the course of standardization, such as SOAP (Simple Object Access Protocol) which is a communication protocol, UDDI (Universal Description, Discovery and Integration) which is a Web services repository, WS-Security which constitutes a standard of security, BPEL4WS (Business Process Execution Language for Web Services) which serves to the orchestration of services, WS-reliability which is a

978-1-4244-3806-8/09/$25.00 © 2009 IEEE

standard, used to control the good routing of the messages exchanged between customers and providers services, and WS-transaction which is a transactions management standard. The idea of the Web services was born from the need to provide a simple way of distributing and reusing a distant application. Thus, the first generation of standards supporting this technology was developed to meet primarily these aims. The first standards do not cover certain aspects related to the discovery, the composition and the selection of the services. WSDL (Web Service Description Language) is a first standard being used for the description of the Web service’s interface. However, this language does not sufficiently or explicitly describe a Web service to enable an automatic use. New standards and approaches were developed to also enable the description of the Web services’ semantic. The SAWSDL (Semantic Annotations for Web Services Description Language) standard belongs to this category [1]. SAWSDL is a new language standardized by the W3C consortium. It constitutes an extension of the WSDL language, which is based on the approach proposed in WSDL-S (WSDLsemantic), to describe the semantics of the Web services. Noting that WSDL is a standard which continues to be the most used language to describe Web services, we proposed in a preceding work [2] a composite Web services metamodel according to this standard. In this paper, we extend this metamodel by the integration of the semantic aspect supported by SAWSDL. The article is constituted of seven sections. Section 2 presents our metamodel of composite Web services proposed in [2]. In section 3, we discuss the problematic of the tasks’ automation related to the Web services, and the impact of a semantic description of the services. We also evoke the approaches and the standards which were proposed to support the semantic Web services. Our approach of modeling the semantic of the Web services concerns the manner of describing Web services in SAWSDL. Section 4 exposes our metamodel of semantic Web services through a view focusing on the semantic elements of SAWSDL. An example of the semantic Web services illustrates our proposal in section 5. Related works, which were also interested in modeling the semantic Web services, are discussed in section 6. In the last section, we conclude and evoke the perspectives of this work.

653

II.

OUR METAMODEL OF COMPOSITES WEB SERVICES

The WSDL language, as well as SAWSDL which is an extension of the first one, constitute models of abstract description of the Web services. Both are used to describe, in a XML format, the public interface of a Web service. This one informs on the manner of interacting with the Web service. It answers three questions in general: what the service makes, how and where to find it. In particular, a description using WSDL provides abstract information describing the functional aspect of the Web service (methods, types and parameters) and other technical information enabling the concrete connection to the service (format of exchanged messages, protocol of supported transport, access address to the service, etc.). The principal elements used to describe a Web service according to the WSDL standard are: •

Types: they define the abstract elements used in the description of the Web service. They can be simple or complex.



Messages: they are messages exchanged between the Web service and the customer application (input, output and fault messages). Each operation provided by a Web service is described by at most, one input message and one output message. These messages relate to the parameters of the operation.



Interfaces (or portTypes in WSDL1.0): they constitute aggregations of operations provided by the service.



Bindings: they specify in particular the protocol used to invoke the methods of an interface.



Services and ports: the service can constitute an aggregation of ports. A port is an endpoint enabling the access to an interface through an URI address.

which classifies it according to business schemas, like North American Industry Classification System (NAICS) or Universal Standard Products and Services Classification (UNSPSC). Thinking that this type of information could reduce the cost of research and discovery of the Web services, which the number is still increasing on Internet, we also took account of the business category in our metamodel. In addition, the Web services can be classified according to two types of services: atomic or composite services. A composite Web service represents an aggregation of composite or atomic Web services. The orchestration of its components must be explicitly specified. Thus, we proposed to associate a model of orchestration to the composite Web service. This model constitutes a UML activity diagram which coordinates the components of the service. Fig. 1 illustrates a view of our metamodel proposed in [2]. The elements of this metamodel are UML classes. This language constitutes a standard of modeling, having the advantage of providing readable graphic representations. The metaclass “Web service” is an aggregation of several ports. The metaclass “port” is associated to the metaclass “interface” by the association metaclass “binding”. The metaclass “interface” constitutes an aggregation of several operations. In addition, the metaclass “operation” is associated to the metaclass “parameter” which defines its inputs and outputs. A parameter naturally refers to a metaclass indicating its simple or complex type. The metaclass “Web service” is also associated to the metaclasses “category” and “Quality of service”. In addition, the metaclass “community of services” constitutes an aggregation of the Web services. The relation of composition between Web services is expressed by the composite pattern. The metaclass “Web service” is also associated to the metaclass “orchestration Model”.

In order to elaborate a metamodel that can meet the requirements related to the composition, the discovery, the selection and the adaptability to Web services’ changes, we introduced, in a preceding work [2], new elements into the description of the Web services and we proposed a specification of their composition. To remedy to the problem of behavioral changes and volatility of Web services, we proposed to mention the community of services to which the described Web service belongs. We indicate by community of service a collection of Web services which provide the same functionalities without necessarily having same quality of service (QoS). By consequence, a Web service can be replaced by another member of its community in case of problem. In optics to allow a customer to select, among the discovered Web services, the most appropriate service according to its QoS requirements, we considered that criteria like the cost, the time of execution and the security level are necessary for the description of the Web services. The OWL-S (Ontology Web Language-Semantic) standard describes a Web service by its business category,

654

Parameter

Fault Input

Operation

Output

Interface Binding

Community of services

Category

Atomic Web service

Port

Web Service

Quality of service

Composite Web Service Behavior

Orchestration Model

Figure 1. Vew of our WSDL composite Web service metamodel.

III.

The application of semantic Web technologies approaches led to the semantic Web services.

PROBLEMATIC OF AUTOMATISATION AND PROPOSED SEMANTIC APPROACHES

As we noted in section 1, the technology of the Web services was accompanied by many standards. However, these standards do not remedy to the problem of adaptability to Web services’ changes, and do not cover all aspects related to different tasks of the Web service’s life cycle, namely, the discovery, the invocation, the publication and the composition. Indeed, many enterprises applications, in particular, can constantly have need to discover and use existing Web services, or to compose them to meet new requirements or a complex request (eg. a travel agency can for example use both fly and hotel booking services to respond a customer’s query). The number of Web services which increase on Internet makes their discovery and/or composition a complex task. Automating these tasks is a solution which would reduce the cost of the Web services’ implementation. Nevertheless, with this intention, we think that it is necessary to enrich the description of the Web services by explicit and comprehensible semantics, which can be used by the machine. In particular, the elements, describing two similar Web services provided by two providers of services, can be noted and represented differently. The Tmodels of the UDDI repository enable the companies to describe their own services without control on the methods names and the names and types of fields (parameters). The classification of the partners in terms of their business categories can also be expressed differently. The UDDI repository enables the publication of the Web services according to categorization schemas. Two providers can provide the same Web service (from the functional point of view) that they represent differently. This, in fact, does not guarantee a reliable and easy research of all similar Web services belonging to the same category of business. The discovery of services should take account of the semantics of both business categories and functional parameters, to provide reliable results. Indeed, Even if two Web services are identified by parameters belonging to the same type, a discovery process, which is based on the checking of homogeneity of the parameters types, is not adequate. We consider two services which provide information on the flights. Each one requires a date as input and provides a list of flights. These services respectively give information on the programmed and cancelled flights at this date. A research, based on the types of inputs and outputs or which also use a business category code, is not adequate. It provides as result both services. However, these services do not satisfy the same request. The semantics of the functional capacities should be considered in a discovery process as well as in the composition of services. The machine must be able to locate Web services, whose functionalities are complementary and can be composed to meet a complex request. In addition, the semantic Web proposes a common vocabulary described in an ontology, which constitutes a shared conceptualization of knowledge of a given domain.

and

Many approaches are proposed for the description of the semantic Web services such as OWL-S, WSMO, SWSF and WSDL-S. The OWL-S standard is a language for the description of Web services. It constitutes an ontology based on the OWL language. This standard provides comprehensible descriptions of Web services which can be used by the machine. It aims at the localization and the selection of the Web services. It is particularly interested on the automation of the composition, the invocation, the discovery and the interoperation of the Web services. WSDLS is an approach which allows annotating the Web services. It is based on current standards, allowing the use of a multitude of languages of semantic representation to annotate the services. WSMO (Web Service Modeling Ontology) is a complete semantic Web services framework. It combines the semantic Web and the Web services technologies. WSMO is based on the use of the WSML (Web Service Modeling Language) language. In addition, SWSF (Semantic Web Services Framework) is also a semantic Web services framework. It is founded on the use of the SWSL (Semantic Web Services Language) language and the SWSO (Semantic Web Services Ontology) ontology. This proliferation of approaches led to several distinct adhoc styles of the integration with WSDL. To remedy to this situation, the W3C consortium proposed the SAWSDL, which is a new standard for semantic annotation of the WSDL and XML schemas [1]. This standard proposes a set of extension attributes, describing the semantics of the elements contained in a WSDL file and which are used for the description of a Web service. SAWSDL defines a manner to carry out an annotation independently of the language used for the semantic description. SAWSDL reuses and is founded on mechanisms proposed in WSDL-S. It constitutes the result of this work. IV.

OUR APPROACH OF MODELING SAWSDL SEMANTIC WEB SERVICES

Noting the impact of semantics on the automation of the Web services’ life cycle, we expose in this section a view of our semantic Web services metamodel. This view illustrates our modeling of the semantic extensions proposed in SAWSDL to annotate various elements of WSDL. The description of a semantic Web service according to the SAWSDL standard refers to ontologies. The use of ontologies makes it possible to enrich the functional description of the services by semantic information. Thus, the interface, the operations, and their inputs/outputs (parameters) must all be associated to concepts defined in one or more ontologies. In addition, the parameters of an operation also refer to types of data, which provide information about their data representation. These types of data are also semantically annotated and related to concepts of semantic models (ontologies). Nevertheless, the representation of data used in a semantic model can be different from that adopted by a provider of Web services. For example, a provider of a

655

bibliographical Web service can choose to represent an author by only one string indicating at the same time his name and his first name, Whereas, the author concept of a bibliographical ontology is described by a structure constituted of two fields: name and first name.

The association of the metaclasses “type” and “semantic element” in fig. 2, is sufficient to model the annotation of the types independently of their structures (the metaclasses “simple type” and “complex type” are both specified as types).

To remedy the problem of heterogeneity between the representation of the data type’s schemas and the organization adopted in a semantic model, SAWSDL uses a mechanism of transformation of data called “schema mapping”. This mechanism consists to specify the mapping rules from the XML schemas to the semantic models or the reverse. The mapping rules are simply expressed by indicating the URL of functions executing the appropriate transformations.

Interface

Category

0..*

0..* CategoryModelReference

0..*

0..*

Semantic Element

“ModelReference”: This attribute associates a WSDL element to a concept of an ontology by mentioning the URI of the ontology and the identifier of the concept concerned.



“LiftingSchemaMapping”: This attribute is added to the definition of a given data type. It mentions the URL of the function transforming it according to the representation of its equivalent in a given semantic model.



“LoweringSchemaMapping”: This attribute is similar to the attribute “LiftingSchemaMapping”. It indicates exceptionally the mapping from the semantic model to the data schema.

The semantic Web services metamodel, that we propose in this paper, is based particularly on the semantic annotations used in SAWSDL. Fig. 2 illustrates a view of our metamodel, modeling the semantic annotations of the functional capacities of the Web services. The metaclasses “interface”, “operation”, “parameter” (input, output or fault) and “type” are all associated to the metaclass “Semantic Element” by the relation “model reference”. The metaclass “semantic Element” refers to a given concept of ontology, to which the annotated element is semantically equivalent. It indicates the URI address of the ontology and the concept concerned. It can, indeed, provide references to several concepts in a given semantic model.

0..*

Type

operation

OperationModelReference

0..*

TypeModelReference

Simple Type

0..*

0..*

0..*

According to above mentioned mechanisms, three extension attributes are used, by default, in SAWSDL: •

*

InterfaceModelReference

ParameterModelReference

Input

1..*

1 *

Fault

Output

0..*

Parameter

Complex Type

Figure 2. View of the metamodel specifying the semantic annotation of the functional capacities of the WSDL Web services.

Fig. 3 illustrates a view of our metamodel, modeling the semantic annotations of the XML schemas. The mapping relation between a type and a semantic element is modeled through the association between the metaclasses “type” and “semantic element”, which is additionally defined by an association metaclass “schema mapping”. The metaclass “schema mapping” indicates the mapping rules in two directions. Thus, it is specialized by two metaclasses “lifting” and “lowering”. The metaclass “schema mapping” provides the address of the appropriate function which can execute conversions of types between schema XML and ontologies.

Type

We also annotate the semantic category of a Web service. This would make it possible to identify the services of the same category even if their categories were defined according to different taxonomies such as: NAICS or UNSPSC.

0..* TypeModelReference 0..*

Semantic Element

Schema mapping

In addition, the complex types of data in SAWSDL can be annotated in two different ways or by combining both: •

Annotation of low level: It consists on annotating the fields of the complex type, i.e. the sub-types which constitute the complex type.



Annotation of high level: It consists on annotating globally and only the complex type.

Lowering

Lifting

Figure 3. View of the metamodel specifying the semantic annotation of the XML schemas.

656

V.

ILLUSTRATIVE EXAMPLE

The contribution of the Web services approach is without a doubt obvious. It is adapted to many applications and could constitute the appropriate solution to the problems of information exchange in a distributed environment, and to the problem of interoperability, in particular in case of the ebusiness applications. Today, several services such as, the meteorological services, the travel agencies services and the banking services are implemented through Web services. In this section, we use a travel service example to illustrate our approach. The service “buyPlaneTicket” allows paying a plane ticket by credit card. It requires, as inputs, the identity of a person (name and first name), a flight number and the identifier of the credit card (number, type and expiring date). If the card is valid, the service will reserve a place and change the balance. This service offers an interface composed of three operations: “cardValidation”, “Reserve” and “buyTicket”. The first operation “cardValidation” receives the identifier of a credit card and verify its validity. The second operation “Reserve” reserves a place when it receives the identity of a person and a flight number. The third service “buyTicket” changes the balance corresponding to a valid credit card. Fig. 4 illustrates a view of the service’s “buyPlaneTicket” model. The classes in this model are stereotyped. The used

PersonType

FlyType

+nom: string +Prenom: string

+NumFly: integer

person Fly

TicketPlane

VI.

Automating the composition and the discovery of the Web services on the one hand, and making easier their development on the other hand, constituted the main aims of several research works. The modeling of the Web services was explored in various manners, going from the formal models to the UML models. Certain works adopted Petri networks based approaches [3]. Others used the process algebra [4] and finite states automate [5] or the semantic graphs [6].

BankCard

CardType +Nom: string +Type: string +ExpireDate: date

BuyTicket CardValidation

Card

ValidationState

Figure 4. View of a travel service model.

657

BankCardToCard CardToBankCard { URI= //.../Transform2}

{Ontologie = POFLY;URI=...} CardState

{ URI=//.../Transform1}

ShemaMappingBankCard&Card

BuyPlaneticket

BuyState

RELATED WORKS

{ontologie = POBANK; URI=...}

buyPlaneticket

Reserve

stereotypes refer to metaclasses evoked in our metamodel. In this example, we annote the interface provided by the service, the operation, their inputs/outputs and the data types. Indeed, we associate them to different concepts of ontologies through the classes stereotyped “semanticElement”. The association between the data type “card type” and the semantic element “bankCard” is for example, also specified by two classes stereotyped as “lifting” and “lowering” classes. These classes indicate the URI of two functions “transform1” and “transform2”. These functions realize the mapping between the type “CardType” and the representation of the equivalent concept of the ontology “POBank”. In this example, this concept is represented by a string containing the number, the type and the expiring date separated by dots, when the type “CardType” is a structure of three separated fields.

Gronmo and Skogan in [7] propose a simple UML metamodel for the WSDL composite Web services. In this work, the management of the composition of the Web services is considered as a management of workflow. An extension of the UML activity diagram used in this work was given in [8] by the specification of the control patterns necessary to the Web services composition. The semantic aspect of the Web services was discussed by Gronmo and other coauthors through a UML profile presented in another paper [9]. In this work, the authors define a UML profile. This profile constitutes a package of a profile for modeling the Web services components and a UML profile of ontology. The profile proposed enables modeling OWL-S semantic Web services. The authors propose a transformation of the UML models of Web services into OWL-S files. They also explain how their UML profile can be transformed into a WSML description.

Transformation rules automate the generation of code from models.

Within the framework of the MDA approach, Timm and Gannod propose in [10] a model for the OWL-S semantic Web services. Their metamodel distinguishes three essential components: the service profile, the service model (process model) and grounding model. The authors discuss in [11] the possibility of transforming UML activities diagrams into OWL-S services models, and WSDL files into OWL-S grounding models using XSLT.

The metamodel that we proposed can include various extension attributes of WSDL such as: “modelreference”, “liftingSchemaMapping” and “loweringSchemaMapping”. The attribute “modelreference” refers to an ontology. It enables associating various components of the Web service, such as the interfaces, the operations, the inputs, the outputs and the faults to a concept of a given ontology. The elements of annotation “liftingSchemaMapping” and “loweringSchemaMapping” specify the transformations between data types and semantic information described in ontologies.

Martin and al. provide guidelines to jointly use OWL-S and SAWSDL [12]. In [13], the authors propose a UML profile for the WSMO ontology. They used the OCL (Object Constraints Language) language to represent the WSMO logical axioms. METEOR-S tools proposed by Rajasekaran and al. in [14] enable the users to annotate the operations and their parameters by semantic pre-conditions, post-conditions and types. They can also generate WSDL-S and OWL-S files. However, these tools do not make it possible to import existing documents concerning semantic Web services. METEOR-S project studies also the possibility to semantically annotate other Web services standards, such as WS-BPEL, using SAWDSL descriptions [15]. There were several efforts to define semantic Web services metamodels. However, we think that no metamodel was proposed to support SAWSDL. Indeed, this new standard proposes an extension of the WSDL standard, which constitutes the most used language to implement Web services. The works, which are noted in this section, do not cover certain aspects related to the use of the Web services like the adaptability to the changes.

Concerning the new SAWSDL standard, the complexity of this language and the need of training (for developers who don’t use this language) constitute a barrier to its use and can prevent the integration of semantics to the Web services. Within the framework of the MDA approach, we proposed, in this paper, a semantic Web services metamodel according to the W3C standard SAWSDL. The modeling of the Web services using UML language in particular, will allow the automatic generation of WSDL files and the concrete implementation of the Web services. In our case, that should make it possible to generate annotated Web services, using semantic elements according to the SAWSDL.

As perspectives of this work, we envisage to initially define a UML profile for our metamodel. We also envisage extending this work by the transformations rules. These rules will make it possible to automatically generate conversions between the semantic Web services models and WSDL files. We should also finalize the composition of the semantic Web services and develop patterns and mechanisms that contribute to this purpose. REFERENCES [1]

[2]

[3]

[4]

VII. CONCLUSION The complexity of certain languages of implementation increases the cost of the applications and the time of development. The MDA approach was developed to primarily remedy this problem. This approach is founded on the models, allowing the separation between the applications logic and the business technologies used. The PlatformIndependent models of applications and behaviors of integrated systems can be realized on any technological platform (Web services, Dot Net, Corba, J2EE, etc.).

[5]

[6]

[7]

658

J. Farrell and H. Lausen (Eds)., "Semantic annotations for WSDL and XML Schema”, W3C Recommendation, 28 August 2007, http://www.w3.org/TR/sawsdl/. F.-Z. Belouadha and O. Roudiès, “Vers un modèle de spécification pour la composition de services web”, Proceedings of SIIE’08, Tunisia, pp. 602-615, February 14-16, 2008. R. Hamadi and B. Benatallah, “A petri net-based model for web service composition”, Fourteenth Australasian Database Conference (ADC’03), Adelaide, Australia, ACS publisher, vol. 17/2003, pp.191200, 2003. G. Salaün, L. Bordeaux and M. Schaerf, “Describing and reasoning on web services using process algebra”, Proceedings of the 2nd International Conference on Web Services, IEEE Computer Society Press, San Diego, pp. 43-51, July 2004. D. Berardi, F. de Rosa, L. de Santis and M. Mecella, “Finite state automata as conceptual model for e-services”, Integrated Design and Process Technology (IDPT’03), Texas, December 2003. D. Grigori and M. Bouzeghoub, “Service retrieval based on behavioral specification”, IEEE International conference of web services, Orlando, Services Computing, pp. 333-336, July 11-15, 2005. R. Gronmo, D. Skogan, I. Solheim and J. Oldevik, “ Model-driven web service development”, International Journal of Web Services Research, vol. 1, n. 4, pp. 1-13, 2004.

[8]

Gronmo, R., Solheim, I., Towards modeling web services composition in UML, WSMAI’04, pp. 72-86, Portugal, April 2004. [9] R. Gronmo, M. Jaeger and H. Hoff, “Transformations between UML and OWL-S”, European Conference ECMDA-FA. Germany, pp.269283, 2005. [10] J. T. E. Timm and G. C. Gannod, “Specifying semantic web service compositions using UML and OCL”. IEEE Conference ICWS’07, pp. 521-528, July 9-13, 2007. [11] G. C. Gannod and J. T. E. Timm, “An MDA-based approach for facilitating adoption of semantic web service technology”, in Proceedings of the 8th IEEE Enterprise Distributed Object Computing Conference Workshop on Model-Driven Semantic Web, September 2004. [12] D. Martin, M. Paolucci and M. Wagner, “Towards semantic annotations of web services OWL-S from the SAWSDL Perspective”, OWL-S: Experiences and Directions, in OWL-S Experiences and

Future Developments workshop at 4th European Semantic Web Conf (ESWC’07), Innsbruck, Austria, June 2007. [13] D. M. Sánchez, C. J. Acuña, J. M. Cavero and E. Marcos, “Towards a UML-Compliant Semantic Web Services Development”, International Workshop on Semantic-Based Software Development, Montreal, Canada, October 22, 2007. [14] P. Rajasekaran, J. A. Miller, K. Verma and A. P. Sheth, “Enhancing web services description and discovery to facilitate composition”, in semantic web services and web process composition, First International Workshopon Semantic Web Services and Web Process Composition, SWSWPC’04, San Diego, California, USA, July 6-9, 2004, Revised Selected Papers, Lecture Notes in Computer Science, vol. 3387, J. Cardoso and A. Sheth, Eds.,Springer, pp. 55-68, 2005. [15] K. Verma and A. Sheth, “Semantically annotating a web service”, in Internet Computing, IEEE, vol. 11, Issue 2, pp. 83-85, March-April 2007.

659