• Aucun résultat trouvé

4. LES PROCESSUS DANS LES APPROCHES A BASE DE SERVICES

4.4. L’analyse des approches à base de services

4.4.3. L’approche SATIS

L’approche SATIS (Semantically AnnotaTed Intentions for Services) [Mirbel et al., 2009] s’inscrit dans le courant des approches de recherche de services web par les buts. SATIS a pour objectif principal d’offrir à des utilisateurs finaux non-informaticiens de décrire leurs démarches de recherche de services web pour opérationnaliser un service métier. Cette approche permet aux utilisateurs finaux d’exprimer leurs besoins (sous forme d’intentions ou buts et de stratégies mises en œuvre pour atteindre ces intentions) et de les aider à trouver les services web disponibles qui correspondent à leurs besoins. Cette approche se focalise sur un domaine métier particulier pour lequel des connaissances du domaine et des descriptions de services web sont disponibles : par exemple un domaine où des services web sémantiques (décrits à l’aide d’annotations sémantiques) et une ou plusieurs ontologies sont disponibles.

SATIS propose un environnement permettant de mettre à la disposition des membres d’une communauté des fragments réutilisables de démarche pour implémenter leur(s) but(s) métier(s). Pour

cela, cette approche s’appuie sur la spécification de haut niveau d’activités métiers à l’aide d’un modèle intentionnel dans le but d’en dériver des spécifications de services web. Cette approche s’intéresse également au partage de ces fragments de démarche dans une communauté d’utilisateurs qui partagent un même intérêt pour un sujet ou un problème et collaborent sur une période prolongée pour partager des idées, trouver des solutions et construire des innovations dans le contexte d’un domaine d’application particulier.

SATIS s’appuie sur les modèles et langages du Web sémantique comme un cadre unifié pour représenter (i) les besoins intentionnels de haut niveau des utilisateurs finaux, (ii) les patrons de spécifications de services web et (iii) les spécifications des services web. En ce qui concerne les besoins intentionnels de haut niveau des utilisateurs finaux, l’approche a adapté le modèle de la carte MAP [Rolland, 2007] en rassemblant ses éléments dans une ontologie dédiée à la représentation des processus intentionnels [Corby et al., 2009] ; Cette ontologie est spécifiée en RDFS [W3C, 2004]. Les spécifications de services web sont représentées à l’aide de l’ontologie OWL-S [OWL-S, 2005]. Enfin, les patrons de spécifications de services web sont spécifiés à l’aide du langage de requête pour RDF SPARQL [W3C-SPARQL, 2009]. Ainsi les patrons de spécification de services web sont modélisés par des patrons de graphes qui sont projetés sur les graphes des annotations de services web.

La figure 44 montre les cinq phases de l’approche SATIS. Ces phases seront discutées plus en détail dans la suite de ce document. L’approche s’appuie sur un vocabulaire commun et sémantique. Elle s’appuie sur :

• Une ontologie dédiée aux processus intentionnels (la MAP étendue pour les services Web),

• Une ontologie dédiée au domaine métier (ou « Business Domain »),

• Une ontologie pour la description des services Web, comme OWL-S [OWL-S, 2004] par exemple.

FIGURE 44. L’APPROCHE SATIS [MIRBEL ET AL., 2009]

Au cours de la phase d’élicitation, les utilisateurs finaux définissent leurs fragments de démarches en décrivant les intentions et les stratégies. La figure 45 montre un exemple de besoin intentionnel de haut niveau des utilisateurs finaux. Cet exemple porte sur une démarche pour rechercher des informations sur les bases de données relationnelles, par exemple dans le cadre de la conception d’un cours sur ce sujet dans une communauté d’enseignants. Nous pouvons remarquer que l’intention de recherche de ressources sur l’historique des bases de données relationnelles est facultative (il existe deux chemins de l’intention du départ « start » à l’intention finale « stop », l’un incluant cette intention, l’autre non) et que deux stratégies sont proposées pour réaliser l’intention de chercher des ressources sur le pilotage d’une base de données relationnelle depuis un langage de programmation.

La phase de formalisation, est divisée en deux activités. D’abord, le modèle de la carte MAP est raffiné. Le raffinement peut être réalisé au niveau d’une section en donnant une nouvelle carte qui décrit comment atteindre une intention cible d’une façon plus détaillée.

La deuxième sous-étape consiste à générer et/ou écrire (d’une façon semi-automatique) une requête RDF SPARQL [W3C-SPARQL, 2009] afin de concrétiser chaque section par un service Web approprié ou un ensemble de spécifications de services Web. En effet, la requête SPARQL vise à récupérer la description d’un service Web ou un ensemble de services Web supportant l’accomplissement de l’intention cible de la section à laquelle la requête est associée. La figure 46 montre le résultat de la réalisation de la phase de formalisation.

FIGURE 46. MODELE DE LA CARTE ET SA REQUETE RDF SPARQL [MIRBEL ET AL., 2009]

La phase de fragmentation consiste en la transformation de toutes les spécifications capturées pendant la phase de formalisation en un ensemble de règles CORESE [Corby et al., 2008]. CORESE est un moteur de recherche sémantique basé sur le modèle des graphes conceptuels. CORESE intègre un moteur de chaînage arrière exploitant des règles implémentées par des requêtes SPARQL de la forme CONSTRUCT-WHERE. La représentation d’un fragment de démarche est réalisée par la requête SPARQL, dont la clause CONSTRUCT est un patron de graphe permettant de construire la représentation RDF de la section de la carte considérée et dont la clause WHERE est un patron de graphe qui représente soit une carte (règle abstraite) soit un critère de recherche de ressources pertinentes (règle concrète). Dans le cas d’une règle abstraite, la clause WHERE est un patron de graphe représentant une sous-carte permettant la réalisation de l’intention cible du fragment. Dans le cas d’une règle concrète, la clause WHERE est un graphe qui permet de retrouver les ressources pertinentes, c'est-à-dire celles avec les annotations RDF pour lesquelles il existe des appariements avec ce graphe requête. Les règles correspondant aux fragments présentés dans la figure 46 sont représentées dans la figure 47.

FIGURE 47. EXEMPLE DE FRAGMENTS DES REGLES CORESE [MIRBEL ET AL., 2009]

La dernière étape de SATIS « population » consiste à dériver les spécifications sémantiques des services web pour opérationnaliser l’ensemble des intentions et des stratégies associées à la requête en cours de réalisation. Dans cette dérivation, les spécifications CORESE correspondent à la base de connaissances (stockées sur la forme de requêtes) d’annotations RDF décrivant les services Web disponibles. L'instanciation du processus de recherche et de découverte des services web est réalisée en appliquant les règles qui implémentent les fragments de démarches en chaînage arrière. Ce processus d’instanciation est fait à l’exécution et dépend des services Web disponibles.

La table suivante synthétise l’évaluation de l’approche SATIS.

Vue Question Critère SATIS [Mirbel et al., 2009]

Valeurs Pourquoi ? Dans quel cadre utiliser

l’approche ?

Domaine applicatif La gestion des processus métier

Qui ? Qui sont les clients de l’approche ?

Clients de l’approche, Métiers, opérationnels (Expert du domaine métier, utilisateurs finaux « non informaticiens »)

Communication client-fournisseur

Ontologie de processus intentionnels basée sur RDFS, Spécification de services web basée sur OWL-S

Quand ? Quand utiliser l’approche ?

Portée de la mise en œuvre de l’approche

Conception, exécution

La technologie utilisée Services web Comment ? A quels niveaux

d’abstraction les

Les niveaux

d’abstraction considérés

services sont-ils définis ? Comment les approches

sont elles

développées ?

Le type d’approche Descendante

Type de la notation Semi-formelle

Le langage MAP, RDF SPARQL, OWL-S

Les outils supportant l’approche

Moteur de recherche CORESE

TABLEAU 15. RESUME DU CADRE DE REFERENCE POUR L’APPROCHE MAAS