• Aucun résultat trouvé

Le Multiview WSDL pour la description des services multivues

IV. VSoaMLTool : Outil de génération de code automatique

IV.6. Du PIM (VSoaML) vers des descriptions (MVWSDL)

IV.6.1.1 Le Multiview WSDL pour la description des services multivues

WSDL (Web Service Description Language) est un standard W3C qui définit un format de description des services web fondé sur XML. Les services sont représentés en WSDL comme un maillage de terminaisons agissant sur des messages contenant des informations sur des documents ou des procédures indépendamment des protocoles de transport de messages utilisés.

WSDL permet principalement la description d‟un service web et plus spécifiquement : Ses interfaces

Ses opérations fournies Les paramètres d‟entrée/sortie

Le type des paramètres de chaque opération

Les points d‟entrées (URL) des différentes opérations.

Dans la pratique, le standard WSDL définit un langage pour l‟élaboration des documents XML pour la description des services. Chaque document WSDL contient une ou plusieurs définitions de Services Web reprenant, pour chacun d‟entre eux, les différents composants (types de données, messages, types de port, liaisons et ports). Il est également possible d‟utiliser la balise <Import> pour fragmenter et rassembler les documents WSDL. Comme pour SOAP, la définition

des balises WSDL elles-mêmes. Le squelette général d‟un document WSDL est illustré par le schéma suivant (cf. figure 92) :

Figure 92–Structure d'un document WSDL

Plusieurs extensions du standard WSDL ont été proposées dans la littérature pour la prise en compte de différentes préoccupations non prises en compte initialement par le standard WSDL. Dans ce sens, Q-WSDL, C-WSDL, SAWSDL(Farrel et al., 2007) ont été définies pour la prise en compte respectivement de la qualité de service, du contexte ou de la sémantique. Dans notre approche, nous proposons MVWSDL comme une légère extension du standard WSDL. En effet, le standard WSDL définit un schéma XML pour la description du service. Ce schéma XML se base sur six éléments principaux (Types, Messages, PortType, Binding, Port, Service) permettant de définir les interfaces de services, leurs opérations, les paramètres d‟entrée/sortie de chaque opération, le type de ces paramètres ainsi que les points d‟entrée (URL) de ces opérations. Cependant, ce standard ne permet pas la prise en compte du profil de l‟acteur interagissant avec le service. En effet, deux clients de service avec de profils différents peuvent avoir la même description WSDL. Ainsi, nous définissons une extension du standard WSDL pour la description d‟un service multivues. Une telle extension est appelée MVWSDL (MultiView WSDL). Cette extension permet de faire adapter chaque élément du WSDL à l‟acteur interagissant avec le service. L‟objectif de cette extension est, d‟une part, de décrire dans un seul document XML l‟ensemble des interfaces fournies des services qu‟elles soient simples ou multivues. D‟autre part, elle permet d‟adapter cette description à l‟exécution suivant le profil de l‟utilisateur interagissant

<definitions> <message> … </message> <portType> <operation> …</operation> <operation> … </operation> … </portType> <binding> … </binding> <service> <port> … </port> <port> … </port> </service> </definitions>

avec le service en fournissant à chaque utilisateur la description WSDL standard correspondant à son profil.

Dans l‟objectif de génération de code conformément aux principes et aux standards de l‟approche MDA, nous avons établi le métamodèle de MVWSDL comme une extension du métamodèle WSDL pour la prise en compte du type d‟acteur interagissant avec le service via l‟ajout de la métaclasse «actor» au métamodèle WSDL. Une telle métaclasse permet de définir le type d‟acteur interagissant avec le service, et s‟associe aux principales métaclasses du métamodèle WSDL (cf. figure 93) qui doivent s‟adapter aux profils des utilisateurs.

Le métamodèle de MVWSDL définit les éléments suivants :

Definition : Definition est l‟élément principal du métamodèle de MVWSDL. il contient les éléments : Import, Type, Message, PortType, Binding et Service Import : cet élément permet l‟association d‟un espace de noms à la localisation

d‟un document XML.

Types : cet élément est utilisé pour la définition des types simples ou complexes en se basant sur un schéma XML. Dans l‟objectif de maximiser l‟interopérabilité entre plateformes hétérogènes, WSDL adopte le XSD comme un système de types.

Message : cet élément permet la représentation abstraite des données que le service envoie ou reçoit. Chaque Message se compose des parties (élément Part) permettant la description d‟une partie d‟un message.

PortType : cet élément permet la définition des interfaces de service. Chaque PortType se compose d‟un ensemble d‟opérations abstraites. Chaque opération possède en entrée /sortie un message. les opérations constituant les portType d‟un service sont caractérisées par les éléments onewyaoperation, RequestResponseoperation, sollicitResponse et notificationOperation.

Binding : l‟élément binding permet de spécifier un protocole concret de transport (SOAP, HTTP/GET, SMTP, etc.). Il permet aussi de spécifier les formats de données pour les opérations et les messages définis dans un portType donné. L‟élément bindingOperation contient les éléments input, output et fault décrits selon la réalisation concrète de l‟appel.

Port : cet élément permet de spécifier une adresse d‟une liaison définissant un simple point terminal de communication.

Service : cet élément permet de décrire un service en identifiant ses interfaces et leur localisation

Actor : cet élément permet la définition des acteurs potentiels intéragissant avec le service. Il est en relation avec les éléments principaux du métamodèle WSDL (Types, Message, PortType, Binding, Service).

Figure 93–Métamodèle MVWSDL