Vous êtes sur la page 1sur 143

Découverte et sélection des web services dans le cadre du e-Learning selon le profil utilisateur

ATMANI Hocine SEFSAFI Soumia

2008/2009

Ministère de l’enseignement supérieur et de la recherche scientifique

Ecole nationale Supérieure d’Informatique (ESI) Oued-Smar, Alger

Mémoire de fin d’études

Pour l’obtention du diplôme d’ingénieur

d’état en informatique

Option : Systèmes d’information

Thème Découverte et sélection des web services dans le cadre du e-Learning selon le profil utilisateur

Réalisé par

- ATMANI HOCINE

- SEFSAFI SOUMIA

Promotion : 2008/2009

Encadré par

- M. H. AMROUCHE

- M. A.BALLA

Ecole nationale Supérieure d’Informatique (ESI)

Découverte et sélection des web services dans le cadre du e- Learning selon le profil utilisateur

ATMANI Hocine SEFSAFI Soumia

Ecole national Supérieure d’Informatique (ESI)

MEMOIRE PRÉSENTÉ EN VUE DE L'OBTENTION DU DIPLÔME D’INGENIEUR D’ETAT EN INFORMATIQUE (SYSTEMES D’INFORMATION)

JUIN 2009

©ATMANI Hocine, SEFSAFI Soumia, 2009.

DédicacesDédicacesDédicacesDédicaces

En signe d’amour de gratitude et de respect je dédie ce modeste travail :

A mes très chers parents qui sans leur aide ce travail n’aura pas vu le jour :

Mon cher père qui a voulu me voir réussir et à qui je dois beaucoup,

Ma chère maman qui a toujours su être à mes cotés, maman que dieu protège,

te

A la mémoire de mes chers grands parents Cherif et Khedoudja,

A mon frère Sidali qui m’a soutenu et aidé durant mes années d’études,

A mes sœurs Souad, Mouna et Kahina,

A mon amie et binôme Soumia qui par son savoir faire et son sens de l’humour a facilité la naissance de ce travail, ainsi que sa famille,

A tous mes amis de la cité et ceux du village qui m’ont toujours soutenu et encouragé et avec qui j’ai passé de bons moments. Qu’ils m’excusent de ne pas pouvoir les citer au risque d’oublier quelqu’un,

HOCINE

DédicacesDédicacesDédicacesDédicaces

Je dédie ce modeste travail :

A mes très chers parents qui m’ont couvert d’amour, de soutient qu’ils trouvent dans ce mémoire le fruit de leur travail :

Mon papa que je ne remercierai jamais assez pour tout ce qu’il a fait pour moi, que dieu le garde à jamais,

Ma maman qui m’abreuve d’amour et d’affection intarissable, source de mon bonheur et ma raison d’être,

A mes chers grand- parents que dieu les protège, ainsi que mes oncles et tantes,

A mon unique frère Mustapha,

A ma sœur et amie Assia et notre p’tite et adorable sœur Noufida,

A celui qui m’a supportée pendant neuf mois de travail, et qui a su par son enthousiasme et sa bonne humeur mener à bien ce mémoire, mon ami et binôme Hocine ainsi que sa famille que j’aime beaucoup,

A toutes mes amies de l’enfance, et celles de l’ESI en particulier fairouz,

SOUMIASOUMIASOUMIASOUMIA

Remerciements

Louange à Allah tout puissant qui nous a guidés pour l’accomplissement de ce modeste travail.

Amar pour sa

gentillesse et la confiance qu’il nous a accordée pour la réalisation de ce mémoire.

Nous tenons à remercier particulièrement M.BALLA

Un grand merci à M.AMROUCHE Hakim qui nous a encadrés au cours de ces neufs mois durant lesquels son aide précieuse, ses conseils et orientations nous ont été d'un précieux apport afin de mener à beau et à bien ce travail que nous espérons être dignes de la confiance qu'il a placée en nous.

Notre reconnaissance va tout naturellement à Mlle BOUDALI Fatiha pour son orientation et ses minutieux conseils qui nous ont aidés pour la réalisation de notre travail.

Nous aimerons exprimer notre gratitude aux personnes qui nous ont fait l'honneur de participer au jury de ce mémoire.

Enfin nous adressons nos sincères remerciements à toute personne qui nous a soutenus et encouragés au cours de la réalisation de notre projet.

Résumé

Actuellement, le nombre de plateformes e-Learning à base de Web services est de plus en plus croissant. Par conséquent, leur découverte devient un défi très important. Pour rendre le mécanisme de découverte plus efficace, la technologie des Web services sémantiques a été proposée par exemple l’utilisation des ontologies telle que DAML-S et afin de soutenir la description des critères ergonomiques et technologiques d’une plateforme e-Learning, une extension a été rajoutée à DAML-S dans un travail effectué par Mlle Boudali dans le cadre d’un mémoire de magistère à l’INI.

Notre projet s’inscrit dans la continuité de ce travail et consiste à concevoir et réaliser un prototype pour la publication et la découverte de services Web dans le cadre du e-Learning et leur adaptation selon le profil de l’utilisateur à l’aide des ontologies. En effet, vu la diversité des utilisateurs et des conditions dans lesquelles ils accèdent aux services Web, d’autres paramètres doivent être considérés lors de la découverte, tel que le type du dispositif utilisé, les préférences de l’utilisateur, etc. Tous ces paramètres forment le profil de l’utilisateur.

Mots-clés

E-Learning, Web services, Web services sémantique, WSDL, DAML-S, Ontologie.

Abstract

Currently, the number of e-learning platforms based on Web services is increasingly growing. Consequently, their discovery becomes a very important challenge. To make the discovery mechanism more effective, the technology of semantic Web services was proposed for example the use of the ontology DAML-S and in order to support the description of the ergonomic and technological criteria of the platform, an extension has been added to DAML- S in a work by Miss BOUDALI under a report of magister. Our project is a continuation of this work and consists to design and construct a prototype for the publication and the discovery of Web services in e-Learning and their adaptation according to user's profile using ontology. Indeed, considering the diversity of the users and the conditions in which they reach the Web services, other parameters must be considered during the discovery, such as the type of the device used, the preferences of the user, etc. All these parameters form the user profile.

Keywords

E-Learning, Web services, Web services semantics, WSDL, DAML-S, Ontology.

Sommaire

Introduction générale

 

1

Première partie

Etat de l'art

Chapitre I : E-learning

1.

Introduction

 

3

2.Définition du e-learning

3

 

2.1. Définition1

3

2.2. Définition2

4

3. Les technologies du e-Learning

4

 

3.1.

Outils synchrones

4

3.1.1. Classes virtuelles et visioconférences

4

3.1.2. Télévision interactive (webcasting)

4

3.1.3. Chat

 

5

3.2.

Outils asynchrones

5

3.2.1. Forum

 

5

3.2.2. Foire aux questions

5

3.2.3. Transfert de fichier

5

4. Les plateformes e-Learning

5

 

4.1. Les Learning Management Systems (LMS)

5

4.2. Les Learning Content Management Systems (LCMS)

6

4.3. Comparaison entre LMS et LCMS

7

5. Les acteurs d’une plateforme

 

8

 

5.1. Le formateur

8

5.2. L’apprenant

8

5.3. L’administrateur

8

6. Le Profil utilisateur

9

6.1. Définition

9

6.2. Le contenu du profil utilisateur

9

 

6.2.1. Le modèle PAPI

10

6.2.2. Instructional Management Systems (IMS)

11

6.2.2.1. Le modèle IMS LIP

 

12

6.2.2.2. IMS ePortfolio

14

6.2.3.

Synthèse

14

7. Conclusion

 

15

Chapitre II : Les Web services Introduction

16

I. Les Web services

17

1. Définition d’un Service Web

17

2. Architecture des Web services

17

3. Le XML et les trois standards SOAP, WSDL et UDDI

20

 

3.1. XML

20

3.2. SOAP (Simple Object Access Protocol)

21

3.3. Description WSDL (Web Services Description Language)

22

3.4. Référentiel UDDI (Universal Description, Discovery and Integration)

25

4. Applications des services Web

29

4.1.

Application e-Learning

29

5. Conclusion

31

II. Le Web sémantique

32

 

1. Définition

32

2. Langages pour le Web sémantique

33

2.1. RDF (Resource Description Framework)

34

2.2. OWL (Web Ontology Language)

35

3. Les ontologies

37

3.1. Définition

37

3.2. Les composants de l’ontologie

37

 

4. Conclusion

39

III. Les services Web sémantiques

40

1. Présentation des services Web sémantique

40

2. Objectifs des services Web sémantique

41

2.1. La découverte automatique des services Web

41

2.2. Invocation automatique de services Web

41

2.3. Composition automatique de services Web

41

2.4. Surveillance automatique de l’exécution de services Web

42

3. Une architecture étendue pour les services Web

42

4. DAML-S

44

4.1.

Interaction avec WSDL

45

5. Conclusion

47

Conclusion

48

Chapitre III : La découverte des Web services

1. Introduction

49

2. Les mécanismes de découverte

49

2.1. Approches basées sur des descriptions syntaxiques des services Web

50

2.1.1.

L’approche UDDI

50

2.2. Découverte dynamique des services

50

2.2.1.

Approche DAML-S

51

2.2.1.1. Les critiques de DAML-S

52

2.2.2.

La découverte des services web selon la qualité de services

52

3. Quelques travaux de découverte des services Web sémantiques

53

I. Un prototype et un algorithme pour la découverte de services Web

54

II. Un modèle de métadonnées pour l'indexation des services e-Learning

57

III. Un algorithme de découverte des services e-Learning

60

4. La comparaison des approches étudiées

63

5. Conclusion

64

 

Deuxième partie Conception et mise en œuvre

Chapitre IV : Conception du système

 

1. Introduction

65

2. Objectifs du système

65

3. Insuffisance de DAML-S dans le cadre du e-Learning

66

3.1. L’ontologie de qualité d’apprentissage (QA)

66

3.2. Intégration de l’otologie QA avec DAML-S

67

4. L’ontologie du profil utilisateur

68

5. Architecture du système

69

6. Les Diagrammes UML représentatifs du système

70

6.1. Inscription des utilisateurs

71

6.2. Gestion des utilisateurs

71

6.3. Gestion des profils

73

6.4. Recherche des services Web

75

6.5. Publication des services Web

76

7.

Algorithme de découverte des Web services

78

8. Algorithme de sélection des résultats selon le profil utilisateur

81

9. Conclusion

83

Chapitre V : Mise en œuvre du système

1. Introduction

84

2. Environnement de développement

85

2.1. Le langage Java

85

2.2. La technologie jsp et servlets

85

2.3. Apache Tomcat

85

2.4. Eclipse 3.2

86

2.5. Protégé 3.2

86

2.6. JUDDI 0.9rc4 et l'API UDDI4J

86

3. Les ontologies

87

4. Implémentation de l’application EAsyLearn

89

4.1. Architecture Modèle/Vue/Contrôleur

89

4.2. Implémentation des modules de l'application

90

4.2.1. Le contrôleur

90

4.2.2. Les modèles

90

4.2.3. Vues de l’application

91

5. Déploiement de l’application EAsyLearn

92

6. Les interfaces de l’application

93

7. Conclusion

97

Conclusion et perspectives

98

Bibliographie

100

Annexes

Annexe A : L’ontologie Qualité d’apprentissage Annexe B : L’ontologie Profil Utilisateur Annexe C : Le modèle MVC

Liste des tableaux

Table 1 : Règles de correspondance entre DAML-S et

46

Table 2 : Architecture de mesure pour

61

Table 3 : Comparaison des travaux de découverte

63

Liste des figures

Figure 1 : Le rôle du LMS et du LCMS dans la diffusion de contenus éducatifs pour le Web 6

Figure 2 : Couvertures fonctionnelles des LMS et des

Figure 4 : Architecture des Web services

7

Figure 3 : Représentation de la proposition de standard PAPI Learner

Erreur

! Signet non

défini.

Figure 5 : Couches technologiques des services

Erreur ! Signet non défini. Erreur ! Signet non défini.

Figure 6 : Schéma d’un message SOAP

21

Figure 7 : Architecture Figure 8 : Structure UDDI

Erreur ! Signet non défini. Erreur ! Signet non défini.

Figure 9 : Modèle de données de l’annuaire

27

Figure 10 :Capture d'écran de la page Business_Search.aspx

29

Figure 11 :Les activités e-Learning comme services Figure 12 : Les couches du Web Figure 13 : Exemple de graphe RDF Figure 14 : Un exemple

Erreur ! Signet non défini. Erreur ! Signet non défini. Erreur ! Signet non défini. Erreur ! Signet non défini.

Figure 15 : Evolution vers les services Web sémantique

40

Figure 16 : Pile des Web services sémantiques Figure 17 : Classes principales de l'ontologie DAML-S

Erreur ! Signet non défini. Erreur ! Signet non défini.

Figure 18 : Vue d’ensemble des fonctionnalités de D 2

55

Figure 19 : L’architecture de découverte des services e-Learning. Erreur ! Signet non défini.

Figure 20 : Ontologie de qualité

66

Figure 21 : Ontologie des

67

Figure 22 : Architecture du

69

Figure 23 : Diagramme des cas d’utilisation

70

Figure 24 : Diagramme de séquence d’inscription des utilisateurs

71

Figure 25 : Diagramme de séquence «validation des

72

Figure 26 : Diagramme de séquence de «suppression des

73

Figure 27 : Diagramme de séquence de «consultation de

74

Figure 28 : Diagramme de séquence « modification du profil »

75

Figure 29 : Diagramme de séquence de découverte des services Web

76

Figure 30 : Diagramme de séquence de publication de services

77

Figure 31 : L'ontologie des services

87

Figure 32: L'ontologie profil

88

Figure 33 : Schéma de déploiement de l'application EAsyLarn

92

Figure 34 : Interface principale de

93

Figure 35 : Interface de recherche

94

Figure 36 : Interface résultat de la

95

Figure 37 : Interface de recherche

96

Figure 38 : Interface de résultat de

96

IntroductionIntroductionIntroductionIntroduction généralegénéralegénéralegénérale

IntroductionIntroductionIntroductionIntroduction généralegénéralegénéralegénérale

IntroductionIntroductionIntroductionIntroduction généralegénéralegénéralegénérale

Introduction générale

Introduction générale

L’introduction des nouvelles Technologies de l’Information et de la Communication "TIC" dans la formation a fait apparaitre un nouveau mode d’apprentissage appelé le e- Learning. Il s’agit d’une évolution rapide des technologies pour l’apprentissage, rendue possible par le développement planétaire de l’Internet. Ce mode d’apprentissage est basé sur l’accès des formations en ligne, interactives et parfois personnalisées, diffusées par l’intermédiaire d’un réseau -Internet ou Intranet- ou d’un autre média électronique. Cet accès permet de développer les compétences des apprenants, tout en rendant le processus d’apprentissage indépendant du temps et du lieu. Une plateforme E-Learning peut être considérée comme un ensemble de Web services, qui constituent une infrastructure technologique distribuée faite pour assembler des systèmes hétérogènes en un seul et même modèle logique à travers un réseau et qui coopèrent entre eux pour fournir certaines fonctionnalités aux acteurs de la plateforme. En quelques mois, les Web Services sont devenus le nouveau point de convergence technologique de l'ensemble des acteurs du marché de l'informatique, grâce à la disponibilité immédiate d’outils et de standards permettant la découverte et l’invocation automatisées des fonctions métiers via un échange de messages informatisés (SOAP, UDDI, WSDL). Cependant ces mêmes standards, largement utilisés actuellement, ne permettent de décrire les fonctionnalités des Web Services que de manière syntaxique ce qui rend leur découverte moins efficace. La nouvelle génération du Web dite Web services sémantiques a pour ambition de lever cette difficulté. Les ressources du Web seront plus aisément accessibles aussi bien par l’homme que par la machine, grâce à la représentation sémantique de leurs contenus. Les services Web sémantiques sont des services Web dotés de descriptions sémantiques et cela est réalisé grâce à plusieurs langages et formalismes, entre autres l’ontologie DAML-S. DAML-S offre, en plus de la description syntaxique, des informations sémantiques sur le fonctionnement du service. Ces informations peuvent être utilisées pour améliorer la qualité de la découverte. Appliqué au domaine du e-Learning, DAML-S ne décrit pas les critères ergonomiques et technologiques des services Web et pour bien décrire ces critères une extension a été ajoutée à DAML-S dans le cadre d’un mémoire de Magister, cette extension consiste en une ontologie de qualité d’apprentissage (QA) et notre projet s’inscrit dans la continuité de ce travail.

Introduction générale

Vu la diversité des utilisateurs et des conditions dans lesquelles ils accèdent aux services Web, d’autres paramètres doivent être considérés lors de la découverte, tel que le type du dispositif utilisé, les préférences de l’utilisateur, etc. Tous ces paramètres forment le profil de l’utilisateur pour ce faire nous allons utiliser une ontologie profil utilisateur.

Organisation du document

Ce document est composé de deux parties : la partie état de l’art et la partie conception et mise en œuvre du système.

La première partie, propose un état de l’art concernant les notions du l’e-Learning et

des Web services. Cette partie comprend trois chapitres :

Le premier chapitre traite le domaine du e-Learning, les plateformes et les différents types d’acteurs. Ainsi que la notion du profil utilisateur. Le second chapitre porte sur la notion des Web services : il présente l’architecture et les différents standards ainsi que l’application des Web services dans le domaine du e- Learning. Il présente aussi les différents langages du Web sémantique, les services Web sémantique et précise l’importance des ontologies. Le troisième chapitre se focalise sur les différentes techniques de découverte des Web services ainsi que quelques prototypes de découverte.

La deuxième partie, décrit la conception et l'implémentation de notre application "EAsyLearn". Elle se compose de deux chapitres :

Le premier chapitre porte sur la conception du système et traite sa modélisation, à base d’ontologies ainsi que son architecture. Le deuxième chapitre traite l’implémentation et la mise en œuvre de notre application. Il décrit les outils de développement et illustre les principales fonctionnalités du système.

PartiePartiePartiePartie IIII EtatEtatEtatEtat dededede l’Artl’Artl’Artl’Art

PartiePartiePartiePartie IIII

EtatEtatEtatEtat dededede l’Artl’Artl’Artl’Art

PartiePartiePartiePartie IIII EtatEtatEtatEtat dededede l’Artl’Artl’Artl’Art

Chapitre I

Chapitre I Le E-Learning

Le E-Learning

Chapitre I

E-Learning

1. Introduction

Les nouvelles Technologies de l’Information et de la Communication "TIC" améliorent profondément nos façons de nous informer, de communiquer et de nous former. Cette émergence technologique fait apparaître un nouveau mode d’apprentissage connu sous le nom de l’e-Learning. Il constitue un processus d'apprentissage à distance s'appuyant sur des ressources multimédias, qui permet à une ou plusieurs personnes de se former à partir de leur ordinateur. Son but principal est bien d’améliorer la qualité de l’apprentissage et non de se substituer aux modes d’apprentissages traditionnels. La première partie de ce chapitre traite la définition du E-Learning, acteurs et intervenants et les principales plateformes existantes. Dans la deuxième partie nous aborderons la notion du profil utilisateur.

2. E-Learning

L'apprentissage en ligne ou e-Learning, étymologiquement l'apprentissage par des moyens électroniques, peut être caractérisé selon plusieurs points de vue: économique, organisationnel, pédagogique, technologique.

Afin de mieux comprendre la notion du e-Learning, nous citons ici deux définitions que l’on trouve communément dans la littérature.

Définition 1

«le e-Learning est un mode d'apprentissage basé sur l'utilisation des nouvelles technologies, permettant l'accès à des formations en ligne, interactives et parfois personnalisées, diffusées par l'intermédiaire d'internet, d'un intranet ou autre média électronique, afin de développer les compétences, tout en rendant le processus d'apprentissage indépendant de l'heure et de l'endroit. »[Guide, 05]

Chapitre I

E-Learning

Définition 2

La définition de l'apprentissage en ligne (e-Learning) donnée par l'Union Européenne est : « l’e-Learning est l’utilisation des nouvelles technologies multimédias de l’Internet pour améliorer la qualité de l’apprentissage en facilitant d’une part l’accès à des ressources et à des services, d’autre part les échanges et la collaboration à distance ».

En anglais, le terme e-Learning, employé par le monde économique, résulte d’une volonté d’unifier des termes tels que : « Open and Distance Learning » (ODL) pour qualifier sa dimension ouverte et qui vient du monde de la formation à distance, « Computer-Mediated Communication » (CMC) pour traduire les technologies de communication (Mails, Forum, Groupware) appliquées à la formation, « Web-Based Training » (WBT) pour traduire la technologie dominante sur Internet pour la formation, « Distributed Learning » qui traduit plus une approche pédagogique de type constructiviste et fondée sur la Cognition Distribuée [Grabinger , 01].

3. Les technologies du e-Learning

Le e-Learning désigne des dispositifs fonctionnant via les nouvelles technologies de l’information et de la communication et Internet en particulier. On distingue des outils synchrones et asynchrones :

3. 1. Outils synchrones

3.1.1 Classes virtuelles et visioconférences :

Un outil de communication bidirectionnelle de groupe, qui privilégie l’articulation et l’audiovisuel et des télécommunications où l’ordinateur est sollicité d’une manière auxiliaire, par deux biais essentiellement : d’une part celui du traitement du signal et de l’automatisation des prises de vue et de parole [Moeglin, 99]

3.1.2 Télévision interactive (webcasting) : Télévision interactive est une technique

de livraison de diffusion audio ou vidéo sur le Web en direct ou en différé.

3.1.3 Chat : Echange de message en temps réel via un logiciel spécifique.

Chapitre I

E-Learning

3.2. Outils asynchrones : l’interactivité n’est pas en temps réel mais en différé :

3.2.1. Forum : offre la possibilité de faire une communication collective différée (une

discussion asynchrone) afin de développer, grouper des informations par thème, confronter les idées…etc.

3.2.2 Foire aux questions : Les questions de chaque apprenant, leurs réponses données

par un formateur, voire un autre apprenant sont consultables par tous.

3.2.3 Transfert de fichier : une fonctionnalité très utile, permet d’envoyer des

documents, des photos, des vidéos,…etc.

4. Les plateformes e-Learning

Une plateforme pédagogique est un logiciel qui permet de gérer des parcours, des programmes, des étapes d’une façon très fine (gestion des individus, de groupes et sous groupes, gestion des contenus par module, session ou formation). Elle doit également donner la possibilité de relier certaines fonctionnalités (par exemple, offrir un tableau de bord des rendus de devoirs de chaque individu, masquer ou rendre visible rapidement un document ou un ensemble de documents, etc.).

Dans le domaine du e-Learning on peut distinguer deux types de plateformes : les LMS (Learning Management System) et les LCMS (Learning Content Management System).

4.1. Les Learning Management Systems (LMS)

Un LMS (Learning Management System) ou MLE (Managed Learning Environment) ou VLE (Virtual Learning Environment) ou CMS (Course Management System) ou LSS (Learning Support System) est un système logiciel développé pour accompagner les enseignants dans leur gestion des cours d'éducation en ligne pour leurs étudiants. Les services offerts incluent généralement un contrôle d'accès, des outils de communication (synchrones et/ou asynchrones) et l'administration des groupes d'utilisateurs.

La plupart de ces systèmes présentent également des générateurs internes de tests d'évaluation que l'on retrouve sous forme de QCM, QCU, vrai/faux, texte à trous, appariements. Ces activités sont soit soumises à validation par l'enseignant soit proposées comme activités de régulation en auto-évaluation. D'une manière générale, elles sont intégrables en tant que

Chapitre I

E-Learning

ressources pédagogiques dans un parcours d'apprentissage au sein de la plateforme. Si celle-ci est compatible avec le standard SCORM 1 , les résultats à ces activités d'évaluation sont alors pris en compte dans la gestion du parcours d'apprentissage de l'étudiant [URL, 1]

4.2. Les Learning Content Management Systems (LCMS):

Ces systèmes permettent à des experts d’un domaine, à des développeurs, de coopérer (via le Web) pour créer des contenus éducatifs (ou Learning Contents) aussi réutilisables que possible [Rengarajan, 01]

aussi réutilisables que possible [Rengarajan, 01] Figure 1. Le rôle du LMS et du LCMS dans

Figure 1. Le rôle du LMS et du LCMS dans la diffusion de contenus éducatifs

pour le Web [Benayache, 05]

1 SCORM (Sharable Content Object Reference Model).

Le standard en matière de conception de cours et de plates-formes e-Learning (LMS).

Un cours respectant SCORM sera Réutilisable, accessible, interopérable, durable.

Chapitre I

E-Learning

4.3 Comparaison entre LMS et LCMS

Les fonctionnalités des LMS et des LCMS sont complémentaires bien qu’elles se recoupent sur certains points (figure 2) :

• les LMS permettent de créer du contenu, mais de façon souvent limitée.

• les LCMS permettent en théorie de diffuser des contenus de façon plus complète que les

LMS (personnalisation dynamique), mais cette fonctionnalité n’est pas toujours applicable ;

de plus, si certains LCMS intègrent des fonctions de reporting, cela reste assez rare.

des fonctions de reporting, cela reste assez rare. Figure 2. Couvertures fonctionnelles des LMS et des

Figure 2. Couvertures fonctionnelles des LMS et des LCMS [LMS, 03]

Chapitre I

E-Learning

5. Les acteurs d’une plateforme

On distingue trois profils d’utilisateurs d’une plateforme : l’apprenant, le formateur, et l’administrateur.

5.1. Le formateur

- crée des parcours pédagogiques types et individualisés de son enseignement.

- incorpore des ressources pédagogiques multimédias.

- suit les activités des apprenants.

5.2. L’apprenant

- consulte en ligne ou télécharge les contenus pédagogiques qui lui sont recommandés

- organise et a une vue de l’évolution de son travail

- effectue des exercices, s’auto évalue et transmet des travaux à corriger

Formateurs et apprenants communiquent individuellement ou en groupe, créent des thèmes de discussion et peuvent dans certains cas collaborer à des documents communs [Luana, 08].

5.3. L’administrateur

L’administrateur, de son côté, assure l’installation et la maintenance du système, gère les droits d’accès, crée des liens vers d’autres systèmes et ressources externes.

Ainsi, une plateforme peut comporter des fonctionnalités relatives à la gestion des compétences, à la gestion des ressources pédagogiques, à la gestion de la qualité de la formation, etc. [Benayache, 05]

Chapitre I

E-Learning

6. Profil utilisateur

Un processus d’accès personnalisé à l’information a pour objectif de délivrer à l’utilisateur une information pertinente et appropriée à ses préférences, ses centres d’intérêts ou plus globalement son profil.

6.1. Définition

« Un profil utilisateur peut être défini comme un ensemble de préférences caractérisant le centre d'intérêt de l'utilisateur, les modes de production, d'affichage ou d'ordonnancement des résultats de ses requêtes, son niveau de sécurité ou de confidentialité, la qualité de l'information désirée et le poids relatif des unes par rapport aux autres de ses préférences »[URL, 2]

6.2 Le contenu du profil utilisateur

On peut représenter le profil utilisateur sur deux dimensions, la première présente le centre d’intérêt de l’utilisateur à long terme (La dimension du profil persistant), La deuxième (La dimension du profil évolutif), présente le centre d’intérêt utilisateur à court terme.

La dimension du profil persistant contient :

- Les données personnelles : définissent l’identité de l’utilisateur (Code, Nom, Prénom, âge).

- Le domaine : un ensemble de termes qui définissent le domaine de l’utilisateur.

- Les pages Web visitées par l’utilisateur.

- Les rapports rédigés par l’utilisateur.

- Les documents jugés pertinents pour chaque serveur.

- Liste des serveurs sélectionnés.

La dimension du profil évolutif contient :

- Le centre d’intérêt à court terme : contient les documents jugés pertinents au moment de la consultation des résultats de recherche.

Chapitre I

E-Learning

Le profil persistant est exploité dans le processus de sélection de serveurs. Le profil évolutif consiste à affiner la requête utilisateur, pour construire une requête plus représentative aux besoins de l’utilisateur à court terme, avec moins d’effort de ce dernier. La requête affinée (reformulée) sera utilisée dans le processus de recherche et dans le processus de fusion des résultats.

Ces données sur l'utilisateur peuvent être décrites à l’aide de modèles standards.

On cite les standards: Personnel and Private Information Standard (PAPI) et Instructional Management Systems (IMS), qui traitent de plusieurs catégories relatives à l'information sur un apprenant.

6.2.1. Le modèle PAPI

PAPI (Public And Private Information for Learners) est un standard développé au sein du groupe Learner Model Working Group. Il s’est donné comme objectif de spécifier la sémantique et la syntaxe des informations sur l’apprenant. Ces informations peuvent être de diverses natures : acquisition de connaissances, préférences de l’apprenant, ses performances et ses compétences, ses relations avec d’autres apprenants, etc. [PAPI 01]

ses relations avec d’autres apprenants, etc. [PAPI 01] Figure 3. Représentation de la proposition de standard

Figure 3. Représentation de la proposition de standard PAPI Learner

Chapitre I

E-Learning

Le profil d’apprenant PAPI comprend donc les éléments suivants :

informations personnelles sur l’apprenant (PAPI Learner Personal).

informations relationnelles, relatives aux relations entretenues par l’apprenant avec les autres utilisateurs - professeurs, autres étudiants, etc. (PAPI Learner Relations).

informations sur la sécurité : Mot de passe, clés, etc. (PAPI Learner Security)

informations sur la performance de l’apprenant (PAPI Learner Performance)

informations « portfolio » qui constituent une collection représentative de travaux de l’apprenant utilisées en tant qu’illustrations de ses capacités

informations liées aux préférences de l’apprenant destinées à améliorer l’interaction homme-machine et à permettre l’adaptation automatique des systèmes aux besoins spécifiques de l’apprenant. Les préférences incluent des caractéristiques techniques, liées à l’interface, ou à la présentation des contenus. Ces préférences peuvent être explicitement identifiées par l’utilisateur ou être inférées à partir de son comportement.

6.2.2. Instructional Management Systems (IMS)

IMS est un consortium récent (1997), qui représente un regroupement de 250 établissements éducatifs dont le MIT (Massachusetts Institute of Technology) et UCM (Université Carnegie Mellon), d’entreprises telles que Apple et IBM, d’agences gouvernementales telles qu’Industrie Canada et des sociétés de développement telles que Canvas Learning et Blackboard.

La standardisation recherchée par le consortium IMS concerne les domaines suivants :

- L’enregistrement des informations sur les apprenants.

- L’échange des données pour les systèmes d’administration.

- La description des matériaux pédagogiques, afin de faciliter la publication et la recherche sur le Web.

- L’interopérabilité des matériaux entre eux.

Chapitre I

E-Learning

- L’interopérabilité des plateformes avec les matériaux et le système d’information des organisations.

IMS a permis d’établir un ensemble de spécifications pour structurer un contenu pédagogique, modéliser un étudiant, ou modéliser à un niveau général comment décrire, référencer et changer des connaissances, des compétences, des tâches ou des qualifications. Les différents groupes de travail appartenant au consortium approfondissent de multiples aspects liés à la formation en ligne :

- Compétences professionnelles,

- Gestion des contenus,

- Définition des profils d’apprenants,

- Ingénierie pédagogique,

- Accessibilité (pour les handicapés, etc.),

- Bibliothèques virtuelles. [Benayache, 05]

6.2.2. 1. Le modèle IMS LIP

Le modèle IMS LIP, qui désigne IMS Learner Information Package, définit une structure XML pour l'échange des données apprenant entre systèmes coopérants tels que : les systèmes de gestion d'apprentissage, les systèmes des ressources humaines, les systèmes de gestion des données des apprenants, les systèmes de gestion des connaissances, et d'autres systèmes utilisant les processus d'apprentissage.

Il représente un modèle de données qui permet de décrire les caractéristiques nécessaires d'un utilisateur pour des usages généraux tels que :

- Enregistrement et gestion de l'historique de l'apprentissage de l'apprenant.

- Engagement de l'apprenant dans une expérience d'apprentissage.

- Découverte des opportunités d'apprentissage de l'apprenant.

Chapitre I

E-Learning

Ci-dessous sont présentées en bref les onze catégories du modèle IMS LIP.

Dans ces définitions, le terme «Personne» représente un apprenant, un organisme ou autre utilisateur de système d’e-formation.

1. Identification : Cette catégorie contient des éléments qui aident à identifier la personne tels

que son nom, son adresse, son email, etc.

2. Accessibility : Cette catégorie permet de décrire les préférences de la personne, ses

langues, et ses éventuels handicaps.

3. QCL : Cette catégorie permet de décrire les qualifications, les certifications et les diplômes

attribués à une personne.

4. Activity : Cette catégorie regroupe les données sur les activités liées au travail et à la

formation d’une personne.

5. Goal : Cette catégorie contient les données sur les objectifs des personnes.

6. Competency : Cette catégorie décrit les compétences associées avec la formation formelle

ou informelle d’une personne et son expérience de travail.

7. Interest : Cette catégorie regroupe les données sur les hobbies et les activités créatrices

d’une personne.

8. Transcript : Cette catégorie permet de décrire les données sur les bulletins de notes de la

personne.

9. Affiliation : Cette catégorie inclut les informations sur la description de l’organisation

associée à la personne.

10. Securitykey : Cette catégorie regroupe les données de sécurité d’une personne, tels que

les mots de passe et les codes de sécurité qui doivent être utilisés durant ses communications.

Pour chaque clé de sécurité une structure différente sera utilisée.

11. Relationship : Cette catégorie permet de décrire les relations entre les structures de

données utilisées pour stocker les données de la personne employée dans ce modèle

[Oubahssi, 05]

Chapitre I

E-Learning

6.2.2.2. IMS ePortfolio

La spécification ePortfolio est fortement reliée à la spécification LIP. Elle vise à définir un standard pour les ePortfolio, outil de plus en plus utilisé dans les contextes éducatifs de tout secteur, du primaire à l’université. Cette spécification peut être considérée à première vue comme un sur-ensemble de la spécification LIP. Quand une activité pédagogique est réalisée par un apprenant, cette information peut être ajoutée de façon automatique à son ePortfolio. Il en est de même quand il réalise un travail, ce dernier sera stocké dans son ePortfolio. Que ce soit avec la spécification LIP ou ePortfolio [Paquette,

02]

6.2.3. Synthèse :

PAPI et IMS LIP forment une des premières bases de structuration des données participant (ou utilisateur) qui peuvent être échangées entre les différents systèmes de e- formation. En effet, les six catégories du modèle PAPI forment l’une des premières spécifications d’échange des données participant, mais ses éléments ne sont pas suffisamment complets pour couvrir toutes les données apprenant qui peuvent être échangées entre les systèmes d’e- formation. Les éléments de ce modèle restent une description générale de l’apprenant. Ces spécifications ont été développées ensuite par IMS pour donner une version améliorée sous le nom d’IMS LIP, Dans ce modèle beaucoup d’améliorations ont été apportées au modèle PAPI, on retrouve les activités pédagogiques liées à l’apprenant. Par la suite, IMS étend son LIP pour donner l’IMS ePortfolio, qui peut spécifier plus d’informations sur les apprenants et donne plus de flexibilité d’échange d’informations.

Chapitre I

E-Learning

7. Conclusion

Le principe derrière le e-Learning est de remplacer les anciennes façons temps/place/contenu de l’apprentissage prédéterminé avec des processus d’apprentissage rapides/ouverts/personnalisés.

Les enjeux du e-Learning s’inscrivent dans une perspective d’amélioration du processus d’apprentissage et d’accès à la connaissance, de rationalisation des coûts de fonctionnement de l’organisation et d’augmentation de la flexibilité d’accès à l’apprentissage grâce à des parcours adaptés aux besoins de chacun avec des concepts comme l’autonomie et la personnalisation.

Une plateforme E-Learning peut être considérée comme un ensemble de Web services, qui constituent une infrastructure technologique distribuée faite pour assembler des systèmes hétérogènes en un seul et même modèle logique à travers un réseau et qui coopèrent entre eux pour fournir certaines fonctionnalités aux acteurs de la plateforme.

Nous présentons les Web services plus en détail dans le chapitre qui suit.

Chapitre II

Chapitre II Les Web Services

Les Web Services

Chapitre II

Les web services

Introduction

Avec l'essor du Web qui a eu dans les dernières années, il a surgi le besoin de permettre qu'une application client invoque un service d'une application serveur en utilisant Internet. Ce besoin a été l'origine de ce qui se connaît comme services Web. En tenant en compte que les services Web permettent de connecter des applications différentes.

Leur objectif principal est de faciliter l'accès aux applications entre entreprises et ainsi de simplifier les échanges de données. Ils poursuivent un vieux rêve de l'informatique distribuée où les applications pourraient interopérer à travers le réseau, indépendamment de leur plateforme et de leur langage d'implémentation. Pour ces raisons les activités de recherche et de développement autour de ce sujet ont un dynamisme très haut.

Dans ce chapitre on décrira en première partie les technologies plus liés aux services Web, ensuite on expliquera la notion du Web sémantique dans la deuxième partie et enfin dans la troisième partie on parlera des services Web sémantiques.

Chapitre II

Les web services

I. Web Service

Les Web services servent à transformer le Web en un dispositif distribué où les programmes (services) peuvent interagir de manière intelligente en étant capables de se découvrir automatiquement, de négocier entre eux et de se composer en des services plus complexes. En d’autres termes, l’idée poursuivie avec les Web services, est de mieux exploiter les technologies de l’Internet en substituant, autant que possible, les humains qui réalisent actuellement un certain nombre de services (ou tâches), par des machines en vue de permettre une découverte et/ou une composition automatique de services sur l’Internet.

1. Définition d’un Service Web

Le groupe de W3C (World Wide Web Consortium), qui travaille sur les services Web a utilisé dans un document appelé «Web Services Architecture» la définition de service Web suivante

« Un service Web est un système logiciel destiné à supporter l’interaction ordinateur–ordinateur sur le réseau. Il a une interface décrite en un format traitable par l’ordinateur (e.g. WSDL). Autres systèmes réagissent réciproquement avec le service Web d’une façon prescrite par sa description en utilisant des messages SOAP, typiquement transmis avec le protocole http et une sérialisation XML, en conjonction avec d'autres standards relatifs au Web » [w3c, 04]

2. Architecture des Web Services

Les efforts de recherche et de développement récents autour des Web services ont conduit à un certain nombre de spécifications qui définissent aujourd’hui l’architecture de référence des Web services. Cette architecture vise trois objectifs importants [URL, 3]: (i) identification des composants fonctionnels, (ii) définition des relations entre ces composants et (iii) établissement d’un ensemble de contraintes sur chaque composant de manière à garantir les propriétés globales de l’architecture.

L’architecture de référence des Web services (voir figure 4) s’articule autour des trois rôles suivants :

Chapitre II

Les web services

Le fournisseur de service : correspond au propriétaire du service. D’un point de vue technique, il est constitué par la plateforme d’accueil du service.

Le client : correspond au demandeur de service. D’un point de vue technique, il est constitué

par l’application qui va rechercher et invoquer un service. L’application cliente peut être elle- même un Web service.

L’annuaire des services : correspond à un registre de descriptions de services offrant des facilités de publication de services à l’intention des fournisseurs ainsi que des facilités de recherche de services à l’intention des clients.

de recherche de services à l’intention des clients. Figure 4. Architecture des Web services. Le fournisseur

Figure 4. Architecture des Web services.

Le fournisseur de services définit la description de son service et la publie dans un annuaire de service.

Le client utilise les facilités de recherche disponibles au niveau de l’annuaire pour retrouver et sélectionner un service donné. Il examine ensuite la description du service sélectionné pour récupérer les informations nécessaires lui permettant de se connecter au fournisseur du service et d’interagir avec l’implémentation du service considéré.

Chapitre II

Les web services

Pour garantir l’interopérabilité des trois opérations précédentes (publication, recherche et lien), des propositions de standards ont été élaborées pour chaque type d’interactions. Nous citons, notamment les standards émergents suivants :

• SOAP définit un protocole de transmission de messages basé sur XML.

• WSDL introduit une grammaire commune pour la description des services.

• UDDI fournit l’infrastructure de base pour la publication et la découverte des services.

Toutes ces technologies sont disposées en couches et constituent l'architecture services Web comme l’illustre ce schéma :

services Web comme l’illustre ce schéma : Figure 5. Couches technologiques des services Web. Les

Figure 5. Couches technologiques des services Web.

Les couches XML et SOAP sont les couches de plus bas niveau, elles permettent le transport de l'information. XSD et WSDL permettent de décrire le service aux utilisateurs externes. Enfin la couche la plus haute UDDI décrit ce qu'est capable de faire le service, c'est la couche la plus sémantique [Hermes, 05]

Chapitre II

Les web services

3. Le XML et les trois standards SOAP, WSDL et UDDI

3.1. XML

Le XML (eXtensible Markup Language) est le fondement des standards des Web services. Ce format permet de dissocier l’information de la présentation. Il permet d’échanger des messages simples ce qui va s’avérer très pratique pour les Web services.

Promulgué en 1998 par le W3C, on retrouve dans XML une généralisation des idées contenues dans HTML (HyperText Markup Language).

XML a été conçu pour des documents complexes, en s’appuyant sur 5 grands principes :

Lisibilité par les machines et les utilisateurs

Définition sans ambiguïté du contenu d’un document

Définition sans ambiguïté de la structure d’un document

Séparation entre documents et relations entre documents

Séparation entre structure du document et présentation du document

Le format XML a été conçu pour permettre le déchiffrement direct par l’utilisateur comme par les programmes.

Le contenu d’un document est décrit par une succession d’éléments (blocs de texte encadrés par de paires de balises ouvrantes et fermantes) qui sont les unités de contenu. Ces éléments sont liés entre eux par une hiérarchie, certains éléments apparaissent imbriqués dans d’autres.

Voici un simple exemple pour illustrer la structure XML

<?xml version=' 1.0' encoding="ISO-8859- 1"?> <catalogue> <stage
<?xml version=' 1.0' encoding="ISO-8859- 1"?>
<catalogue>
<stage id="XMLpres">
<intitule>XML et les bases de données</intitule>
<prerequis> connaître les langages SQL et HTML</prerequis>
</stage>
</catalogue>

Chapitre II

Les web services

3.2. SOAP (Simple Object Access Protocol)

SOAP est un protocole pour l’échange d’information dans un environnement reparti, basé sur le standard XML. Ce protocole consiste en trois parties : une enveloppe qui définit un canevas pour décrire le contenu du message et comment le traiter, un jeu de règles de codage à exprimer les cas de types de données défini par l’application et une convention pour représenter des appels de procédure éloignés et ses réponses [SOAP, 04]

SOAP n’est pas lié à aucun système d’exploitation ni langage de programmation. Il est indépendant du langage d’implémentation des applications client et serveur. En plus, il peut potentiellement être utilisé avec une variété de protocoles (eg. HTTP, HTTP Extension Framework).

3.2.1 La structure de message SOAP

La figure suivante illustre les éléments principaux d’un message SOAP :

illustre les éléments principaux d’un message SOAP : Figure 6. Schéma d’un message SOAP [ Rampacek,

Figure 6. Schéma d’un message SOAP [Rampacek, 06]

Chapitre II

Les web services

3.2.1.1 L’en-tête du protocole de transport: Cette partie dépend du protocole de

transport utilisé. Par exemple, si le protocole HTTP est utilisé, cet en-tête contient :

– la version de HTTP utilisée,

– la date de génération de la page,

– le type d’encodage du contenu, etc.

3.2.1.2 Les messages SOAP (l’enveloppe) : l’enveloppe est subdivisée en deux sous-

parties : la partie en-tête et la partie corps du message. Elle permet également de spécifier des environnements de noms XML utilisés dans la suite du message.

3.2.1.2.1 L’en-tête du message SOAP: L’en-tête SOAP (SOAP Header) est optionnel et

extensible. Les balises XML permettant de symboliser cette partie sont <env:Header> et </env:Header>.

Ces balises peuvent être complétées par des attributs permettant de définir le domaine de noms du service Web.

3.2.1.2.2 Le corps du message SOAP: Les données spécifiques à l’application se trouvent

dans le corps du message SOAP (SOAP Body). Tout ce qui est présent dans cette section est défini lors de la conception de l’application. Enfin, les balises symbolisant cette partie sont

<env:Body> et </env:Body>.

3.3. Description WSDL (Web Services Description Language)

La spécification WSDL joue un rôle important dans l’interopérabilité des composants services Web. Moyennant un schéma uniforme obéissant à une sémantique bien définie (figure 7), elle permet aux composants de définir ce qui est nécessaire à leur invocation. La spécification WSDL est définie selon une sémantique totalement indépendante du modèle de programmation de l’application.

Elle sépare clairement la définition abstraite du service (échange de messages) de ses mécanismes de liaison (définition des protocoles applicatifs). Cette dernière caractéristique permet aux composants d’interagir même si l’application a été modifiée, ce qui est un point important pour assurer l’interopérabilité des services.

Chapitre II

Les web services

Un document WSDL utilise les éléments suivants dans la définition des services Web :

éléments suivants dans la définition des services Web : Figure 7. Architecture WSDL [Guitton, 06] ∑

Figure 7.

Architecture WSDL [Guitton, 06]

Types un conteneur pour les définitions de types de données à l'aide d'un système de types (tel que XSD).

Message

une définition de type, abstraite, des données transmises.

Operation

une description abstraite d'une action supportée par le service.

série abstraite d'opérations supportées par un ou plusieurs points finaux.

Port Type

Binding

une spécification concrète relative au protocole et au format de données pour un

type de port particulier.

Port un point final unique défini comme une combinaison d'une liaison et d’une adresse réseau.

Service

une série de points réseau.

WSDL définit un mécanisme commun de liaison. Il est utilisé pour attacher un protocole, ou un

format de données, ou une structure spécifique à un message, une opération, ou un point abstrait.

Il permet de réutiliser les définitions abstraites.

Chapitre II

Les web services

Voici un exemple de fichier wsdl de la fonction int foo(int arg)du langage C :

<?xml version="1.0" encoding="UTF-8" ?> <definitions name="FooSample"
<?xml version="1.0" encoding="UTF-8" ?>
<definitions name="FooSample"
targetNamespace="http://tempuri.org/wsdl/"
xmlns:wsdlns="http://tempuri.org/wsdl/"
xmlns:typens="http://tempuri.org/xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:stk="http://schemas.microsoft.com/soap-toolkit/wsdl-extension"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types><schema targetNamespace="http://tempuri.org/xsd"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
elementFormDefault="qualified" ></schema></types>
<message name="Simple.foo">
<part name="arg" type="xsd:int"/> </message>
<message name="Simple.fooResponse">
<part name="result" type="xsd:int"/></message>
<portType name="SimplePortType">
<operation name="foo" parameterOrder="arg" >
<input message="wsdlns:Simple.foo"/>
<output message="wsdlns:Simple.fooResponse"/></operation>
</portType>
<binding name="SimpleBinding" type="wsdlns:SimplePortType">
<stk:binding preferredEncoding="UTF-8" />
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="foo">
<soap:operation
soapAction="http://tempuri.org/action/Simple.foo"/>
<input>
<soap:body use="encoded" namespace="http://tempuri.org/message/"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" /></input>
<output>
<soap:body use="encoded" namespace="http://tempuri.org/message/"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</output>
</operation>
</binding>
<service name="FOOSAMPLEService">
<port name="SimplePort" binding="wsdlns:SimpleBinding">
<soap:addresslocation="http://carlos:8080/FooSample/FooSample.asp"/>
</port>
</service>
</definitions>

Chapitre II

Les web services

and

Integration)

Dans un environnement ouvert comme Internet, la description d’un service Web n’est d’aucune utilité s’il n’existe pas de moyen de localiser aussi bien les services Web que leurs descriptions WSDL : c’est le rôle des référentiels UDDI. La spécification UDDI constitue une norme pour les annuaires de services Web. Les fournisseurs disposent d’un schéma de description permettant de publier des données concernant leurs activités, la liste des services qu’ils offrent et les détails techniques de chaque service. La spécification offre également une API (Application Programming Interface) aux applications clientes, pour consulter et extraire des données concernant un service et/ou son fournisseur.

3.4.1. Définition UDDI

UDDI est une spécification en langage XML d'un catalogue des services offerts par les entreprises sur leurs sites Web. Le catalogue comprend les adresses et les contacts des entreprises, une classification sectorielle et une description des services proposés. UDDI fournit différentes manières de recherche à travers les pages jaunes, vertes et blanches, il est facile à interroger sur Internet mais n’impose pas de contraintes sur la description de services que doivent introduire les fournisseurs de ces derniers pour publier leurs services. [Chauvet, 02] Les données capturées dans l’UDDI sont divisées en trois catégories :

3.4.

Référentiel UDDI

(Universal

Description,

Discovery

divisées en trois catégories : 3.4. Référentiel UDDI (Universal Description, Discovery Figure 8. Structure UDDI 25

Figure 8. Structure UDDI

Chapitre II

Les web services

pages blanches (White Pages ) : elles regroupent les informations sur les noms des entreprises publiant leurs White Pages) : elles regroupent les informations sur les noms des entreprises publiant leurs services Web, les moyens de les contacter, etc.

pages jaunes (Yellow Pages ) : elles regroupent les informations à propos des standards de classification des Yellow Pages) : elles regroupent les informations à propos des standards de classification des entreprises.

pages vertes (Green Pages ) : elles contiennent des informations techniques comme les services offerts par une Green Pages) : elles contiennent des informations techniques comme les services offerts par une entreprise, leur spécification, etc.

3.4.2. Les différents rôles d’UDDI

UDDI fournit trois services de bases :

Publish : ce service gère comment le fournisseur de service Web s’enregistre lui-même ainsi que ses services (en utilisant UDDI). Find : ce service gère comment un client peut localiser le service Web désiré (cela peut passer par des invocations de services Web pour une utilisation automatique par un programme ou par une consultation d’annuaire en utilisant des mots clés). Bind : ce service gère également comment un client peut se connecter et utiliser le service Web une fois celui-ci localisé. Les entreprises qui fournissent ce service et hébergent un annuaire global UDDI sont appelées des opérateurs UDDI. Ils sont responsables de la synchronisation de l’information des annuaires :

cette synchronisation d’annuaires s’appelle la réplication. Il existe de nombreux annuaires UDDI dont les principaux sont :

celui de Microsoft : http://uddi.microsoft.com

celui d’IBM : http://uddi.ibm.com

Un des enjeux de UDDI est d’éviter le monopole d’une entreprise qui, par un annuaire quelconque, donnerait comme réponse systématiquement ses services Web plutôt que celle des autres : ce genre de pratique étant fortement limité car les annuaires UDDI se doivent d’avoir un contenu identique aux autres annuaires. Ainsi, il permet de donner des solutions industriellement

viables pour la localisation de services Web.

3.4.3. Le modèle de données UDDI

UDDI est un modèle d’information composé de structures de données persistantes appelées entités. Ces entités doivent être décrites en XML et sont stockées dans les différents nœuds UDDI.

Chapitre II

Les web services

businessEntity publisherAssertion Information about the party who publishes information about family of services
businessEntity
publisherAssertion
Information about the party
who publishes information
about family of services
Information about the
relationship between parties,
asserted by one or both parties
<tModels>
serviceEntity
Descriptive information about
a particular web services
Descriptions of specifications for
services.
<bindingTemplate>
Technical information about
service entry point and
construction specification

Figure 9. Modèle de données de l’annuaire UDDI. [Rahee, 05]

businessEntity : cette entité décrit l’entreprise (également appelée fournisseur) qui permet d’accéder aux services Web qu’elle publie : cette entité permet de regrouper toutes les informations concernant le nom, les contacts de l’entreprise. Chaque enregistrement est associé à une clé unique appelée UUID (Universal Unique Identifier). Ce sont les éléments accessibles par l’annuaire pages blanches. businessService : cette entité représente une classification des services. Elle est contenue dans l’entité businessEntity décrite précédemment, et elle contient une clé unique identifiant un service particulier. Ce sont les éléments accessibles par l’annuaire pages jaunes.

Chapitre II

Les web services

bindingTemplate : cette entité est utilisée pour les détails techniques des services Web. Elle contient des informations sur le point d’accès du service (l’adresse du service). Ce sont les éléments accessibles par l’annuaire pages vertes. tModel : cette entité permet de stocker les informations spécifiques aux services, comme le comportement, les conventions de typages et les types eux-mêmes utilisés par les services. Elle regroupe donc les informations contenues dans les fichiers WSDL. publisherAssertion : assertions contractuelles entre partenaires dans le cadre des échanges d’exécution d’un service. Voici une capture d'écran de la page Business_Search.aspx. Une recherche a été faite sur le répertoire UDDI de Microsoft pour toutes les entreprises commençant par la lettre "M". L'identificateur unique pour une entreprise est appelé un "Business Key".

pour une entreprise est appelé un "Business Key". Figure 10. Capture d'écran de la page

Figure 10. Capture d'écran de la page Business_Search.aspx

Chapitre II

Les web services

4. Applications des services Web

Les services Web sont un formidable outil pour créer des applications distribuées; comme ils sont composés de XML et de SOAP, ils s'appliquent par nature à de multiples plateformes, citons par exemple : la finance, domaine médicale, la télécommunication, le e-commerce, l’e- Learning,…etc. Dans notre cas on s’intéresse au domaine du e-Learning.

4.1. Application e-Learning

La fonction principale des plateformes e-Learning (e-formation) est de fournir à l'apprenant les bonnes activités avec les bons outils au bon moment en fonction de ses besoins. Cela nécessite l'application de mécanismes d'animation et de coordination des modules et des activités pédagogiques. Si un système e-Learning est une collection d'activités ou de processus, nous pouvons découper ses fonctionnalités en un certain nombre de fonctions autonomes qui peuvent alors être réalisées séparément sous la forme d’applications autonomes ou de e-services, en utilisant la technologie des services Web. Exemple du projet XESOP (Environnement XML sémantique pour la création et la diffusion via le Web des objets pédagogiques)

L’approche de ce projet est fondée sur la conviction qu'un système e-Learning est une collection d'activités ou de processus qui ont un effet d’une part sur les étudiants et d’autre part sur le contenu pédagogique convenablement choisi sous forme d’objets pédagogiques (Learning Objects). Ainsi les fonctionnalités de base d'un système e-Learning peuvent être découpées en un certain nombre de fonctions, qui peuvent alors être implantées séparément sous la forme des services Web. La mise à disposition de ces services permet la réutilisation du contenu et des fonctionnalités dans une plateforme e-Learning. Le projet XESOP propose une étude et des solutions sur les moyens technologiques des environnements e-Learning. Ses éléments essentiels comprennent, d’une part, des supports sémantiques pour la création, la présentation et le stockage des objets pédagogiques basés sur des technologies XML et d’autre part, des moyens pour la gestion du parcours de l’étudiant et l’exécution d’exercices à distance. Dans ce projet, l’évolution des travaux est guidée par une perception d’un système e- Learning, à savoir, une collection d'activités ou de processus. Ces processus peuvent être décomposés d’abord en éléments autonomes et par la suite réalisés et proposés comme des

Chapitre II

Les web services

Services Web à savoir :la conception d’un contenu pédagogique, la publication d’un cours à partir d’un contenu choisi, la gestion des objets pédagogiques, la mise à jour d’un contenu pédagogique, l’adaptation d’un contenu à la demande, la recherche et présentation d’un contenu pédagogique, l’inscription d’un étudiant et gestion de son compte et profil, l’évaluation des connaissances acquises, mise en place et gestion d’une classe virtuelle, gestion d’un système de communication synchronisé de type chat… La publication et la recherche des objets pédagogiques peuvent se faire dans un cadre UDDI faisant partie de l’architecture des services Web. Ses caractéristiques assurent le stockage de données concernant la description des objets pédagogiques.

données concernant la description des objets pédagogiques. Figure 11. Les activités e-Learning comme services Web

Figure 11. Les activités e-Learning comme services Web [Madjarov, 05]

En utilisant un tel schéma fonctionnel, le contenu pédagogique serait publié et organisé pour être échangé, et serait accessible dans un environnement fondé sur des services Web

Chapitre II

Les web services

5. Conclusion

En quelques mois, les Web Services sont devenus le nouveau point de convergence technologique de l'ensemble des acteurs du marché de l'informatique, grâce à la disponibilité immédiate d’outils et de standards permettant l’invocation automatisée des fonctions métiers via un échange de messages informatisés (SOAP, UDDI, WSDL). Cependant ces mêmes standards, largement utilisés actuellement, ne permettent de décrire les fonctionnalités des Web Services que de manière syntaxique. En effet le Web actuel est essentiellement syntaxique, dans le sens que la structure de documents (ou ressources au sens large) est bien définie, mais que son contenu reste quasi inaccessible aux traitements machines. Seuls les humains peuvent interpréter leurs contenus. La nouvelle génération de Web dite Web sémantique a pour ambition de lever cette difficulté. Les ressources du Web seront plus aisément accessibles aussi bien par l’homme que par la machine, grâce à la représentation sémantique de leurs contenus.

Chapitre II

Les web services

II. Web sémantique

Depuis le début des années 2000, de nombreux axes de recherches concernant Internet se sont tournés vers le Web sémantique. Internet est un immense réservoir de documents en tout genre (articles, sites personnels, audio, vidéos) mais plus ces ressources s’accumulent, plus la recherche d’une information précise s’avère difficile. Tim Berners-Lee, pionnier dans le domaine d’Internet, propose alors d’ajouter à toutes ces ressources une sémantique qui permettrait aux systèmes informatiques d’en « comprendre » le sens en accédant à des collections structurées d’informations et à des règles d’inférence qui peuvent être utilisées pour conduire des raisonnements automatisés : c’est la naissance du Web sémantique.

1. Définition

L'expression Web sémantique, attribuée à Tim Berners-Lee au sein du W3C, fait d’abord référence à la vision du Web de demain comme un vaste espace d’échange de ressources entre êtres humains et machines permettant une exploitation, qualitativement supérieure, de grands volumes d’informations et de services variés. Le Web sémantique, concrètement, est d’abord une infrastructure pour permettre l’utilisation de connaissances formalisées en plus du contenu informel actuel du Web, même si aucun consensus n’existe sur jusqu’où cette formalisation doit aller. Cette infrastructure doit permettre d’abord de localiser, d’identifier et de transformer des ressources de manière robuste et saine tout en renforçant l’esprit d’ouverture du Web avec sa diversité d’utilisateurs. Elle doit s’appuyer sur un certain niveau de consensus portant, par exemple, sur les langages de représentation ou sur les ontologies (sera expliquée plus loin dans ce chapitre) utilisées. Elle doit contribuer à assurer, le plus automatiquement possible, l’interopérabilité et les transformations entre les différents formalismes et les différentes ontologies. Elle doit faciliter la mise en œuvre de calculs et de raisonnements complexes tout en offrant des garanties supérieures sur leur validité. Elle doit offrir des mécanismes de protection (droits d’accès, d’utilisation et de reproduction), ainsi que des mécanismes permettant de qualifier les connaissances afin d’augmenter le niveau de confiance des utilisateurs.

Chapitre II

Les web services

2. Les langages pour le Web sémantique

Il a été bien reconnu dans la communauté du Web Sémantique que les ontologies jouent un rôle clé dans la livraison du Web Sémantique en facilitant le partage d’information entre les communautés des humains et des agents logiciels. Cependant, le manque de sémantique dans les schémas XML ne permet pas aux personnes de créer de nouveaux vocabulaires (Le même terme peut être utilisé avec différents sens dans différents contextes et des termes différents peuvent être utilisés pour des articles ayant le même sens).

RDF et RDF Schema ont essayé de résoudre ce problème en permettant d’associer des sémantiques simples. Avec RDF Schema, une personne peut définir des classes qui ayant plusieurs sous-classes et super classes, et peut aussi définir des propriétés pouvant avoir des sous propriétés, de domaines ou d’intervalles. Dans ce sens RDF Schema est un langage d’ontologie pour le Web primitif. Pour atteindre l’interopérabilité entre les divers schémas développés de façon autonome, des sémantiques plus riches sont nécessaires.

La proposition du W3C s’appuie au départ sur une pyramide de langages dont seulement les couches basses sont aujourd’hui relativement stabilisées. La figure 12 montre une des versions de l’organisation en couches proposée par le W3C

versions de l’organisation en couches proposée par le W3C Figure 12. Les couches du Web Sémantique

Figure 12. Les couches du Web Sémantique [Boutemedjet, 04]

Chapitre II

Les web services

XML : fournit une surface syntaxique pour les documents structurés mais ne fournit aucune contrainte sémantique sur le sens de ces documents.

XML Schema : est un langage pour restreindre la structure des documents XML et étendre aussi XML avec des types de données.

RDF : est un modèle de données pour les objets (« ressources ») et les relations entre eux, fournissant des sémantiques simples pour ce modèle de données qui peuvent être représentées en XML.

RDF Schema : est un vocabulaire pour décrire les propriétés et les classes des ressources RDF.

OWL : ajoute plus de vocabulaire pour décrire les propriétés et les classes entre autres, les relations entre les classes, cardinalité, égalité, typage de propriétés plus riche, caractéristiques des propriétés et les hiérarchies des propriétés et des classes.

Nous allons présenter plus en détail les langages RDF et OWL.

2.1. RDF (Resource Description Framework)

RDF est un langage d’assertions destiné à exprimer les propositions en utilisant des vocabulaires formels et précis, plus spécialement ceux exprimés en RDFS, pour accéder et utiliser le World Wide Web et il est destiné pour fournir les fondations de base pour les autres langages d’assertion avancés ayant les mêmes objectifs.

Une assertion telle que définie sur le site du W3C est une expression prétendue être vraie et peut dépendre de plusieurs facteurs incluant les conventions sociales, les commentaires dans un langage naturel et des liens vers des documents fournissant du contenu (content-bearing documents). La plupart de ce contenu est inaccessible aux traitements des machines et est mentionné ici seulement pour envisager que les sémantiques formelles décrites dans le document de spécification n’ont pas l’intention de fournir une analyse complète du « sens ».

Un document RDF est un ensemble de triplets de la forme <sujet, prédicat, objet>. Les éléments de ces triplets peuvent être des URIs (Universal Resource Identifiers) [Berners, 00], des littéraux ou des variables. Cet ensemble de triplet peut être représenté de façon naturelle par un graphe plus précisément un multi-graphe orienté étiqueté où les éléments apparaissant comme sujet ou objet sont des sommets, et chaque triplet est représenté par un arc dont l’origine est son sujet et la

Chapitre II

Les web services

destination est son objet. Ce d ocument sera codé en machine par un docum ent RDF/XML ou N3, mais est souvent représenté so us une forme graphique (voir la figure 13).

so us une forme graphique (voir la figure 13 ). Figure 13. Exemple de graphe RDF

Figure 13. Exemple de graphe RDF

Vu les nombreuses limitation s qui bornent la capacité d'expression des c onnaissances établies à l'aide de RDF/RDFS. On peu t citer, par exemple, l'impossibilité de rais onner et de mener des raisonnements automatisés (a utomated reasoning) sur les modèles de c onnaissances établis à l'aide de RDF/RDFS. C'est ce manque que se propose de combler OWL.

2.2. OWL (Web On tology Language)

Le langage OWL a ét é conçu pour être utilisé par les applications qui traitent le contenu

L facilite grandement

l’interopérabilité au niveau m achine du contenu du Web plus que ce qui e st déjà supporté par les

XML, RDF et RDF Schema

expressifs OWL Lite,

OWL DL et OWL Full [W3C, 04]. OWL peut être utilisé pour r eprésenter le sens des termes dans des voc abulaires ainsi que les relations qui existent entre ce s termes. Cette représentation des termes et de leurs interrelations

(RDF-S) en fournissant du vocabulaire su pplémentaire avec des

sémantiques formelles. OWL possède des sous-langages de plus en plus

de l’information au lieu de la présenter seulement aux êtres humains. OW

est appelée ontologie [W3 C, 04]. OWL est une révision du lang age d’ontologie Web

de l’application de

DAML 2 +OIL 3 incorporant le s leçons apprises de la conception et

2 DAML : Darpa Agent Markup Lang uage, Extension de RDF pour construire des ontologi es. 3 OIL : Ontology Interchange Lang uage,Équivalent européen de DAML ne reposant pa s sur RDF DAML+OIL :fusion de DAML et OIL, langage de définition des ontologies.

Chapitre II

Les web services

DAML+OIL. OWL décrit la structure d’un domaine en terme de classes et de propriétés comme les approches orientées objets.

Bien qu’OWL soit dérivé de DAML+OIL qui est équivalent à un langage très expressif de la logique des descriptions. Certaines caractéristiques font qu’il n’existe aucun algorithme d’inférence décidable avec toute cette puissance d’expression. Par exemple, les propriétés dans OWL peuvent être déclarées comme symétriques, une classe peut être traitée simultanément comme une collection d’individus ou comme un seul individu pour son propre compte. OWL Permet à une ontologie d’augmenter le sens du vocabulaire prédéfini (RDF et OWL). De ce fait OWL fournit des sous langages de plus en plus expressifs conçus pour faire un compromis entre son pouvoir expressif et son pouvoir de raisonnement.

1. OWL Lite : Supporte les utilisateurs qui ont besoin des hiérarchies de classifications et

des caractéristiques de contraintes simples. Par exemple, lorsqu’il supporte les contraintes de cardinalité, il permet seulement les valeurs 0 et 1.

2. OWL DL : Supporte les utilisateurs qui demandent un maximum d’expressivité tout en

maintenant la complétude (garantie de calculer toutes les conclusions) et la décidabilité (tous les

calculs doivent finir en un temps fini). OWL DL contient tout les constructeurs du langage OWL mais sont utilisables avec des restrictions (par exemple, lorsqu’une classe peut être une sous classe de plusieurs autre classes, une classe ne peut être une instance d’une autre classe).

3. OWL Full : destiné aux utilisateurs qui demandent un maximum d’expressivité avec la

liberté syntaxique de RDF sans aucune garantie de calculs. Par exemple, une classe peut être traitée comme une collection d’individus et en même temps peut être vue comme un seul individu. OWL Full permet aussi à une ontologie d’augmenter le sens du vocabulaire prédéfini (RDF et OWL).

OWL doit son nom au terme « ontologie », un mot emprunté à la philosophie qui, s'il est d'origine grecque, ne fut manifestement créé qu'au XVIIe siècle.

Chapitre II

Les web services

3. Les ontologies

Les ontologies ont été développées dans le domaine de l'intelligence artificielle pour faciliter le partage et la réutilisation de connaissances. Elles sont utilisées dans différents domaines de recherche comme l'ingénierie de connaissances, la représentation de connaissances, la recherche d'informations, le commerce électronique, le Web sémantique, les services Web, etc.

3.1. Définition

Plusieurs définitions de l'ontologie ont été proposées. Neches et ses collègues [Neches, 91] définissent l'ontologie comme suit : « Une ontologie définit les termes de base (concepts, entités, attributs, processus, etc.) et les vocabulaires d'un domaine et des relations qui permettent de définir des extensions des vocabulaires ». Cette définition indique qu'une ontologie inclut non seulement les termes et les vocabulaires qui sont définis explicitement mais encore les termes qui peuvent être inférés en utilisant des relations ou des règles. Thomas Gruber [Gruber, 93] donne la définition suivante : « Une ontologie est une spécification formelle explicite d'une conceptualisation partagée ». Le terme « conceptualisation » réfère à un modèle abstrait d'un phénomène dans le monde, en ayant identifié les concepts appropriés à ce phénomène. La notion « partagée » réfère au fait qu'une ontologie capture la connaissance consensuelle, c -à-d, non réservée à quelques individus, mais partagée par un groupe.

3.2. Les composants de l'ontologie Une ontologie est constituée de plusieurs

composants comme :

Les concepts : aussi appelés termes ou classes de l'ontologie. Ils correspondent à la définition des caractéristiques d'un domaine particulier décrit par l'ontologie. Chaque concept regroupe un ensemble de propriétés et peut contenir d'autres concepts. Les relations : traduisent les associations existant entre les concepts de l'ontologie. Ces relations incluent des associations comme : sous-classe-de (héritage), partie-de (composition), etc. Ces relations permettent de déterminer la structuration et l'interrelation des concepts, les uns par rapport aux autres. Les instances des concepts : ce sont les objets qui peuvent être définis dans une ontologie.

Chapitre II

Les web services

Les ontologies peuvent se représenter par des réseaux sémantiques, la figure 14 nous montre un exemple d'ontologie représentée par un réseau sémantique.

nous montre un exemple d'ontologie représentée par un réseau sémantique. Figure 14. Un exemple d’ontologie. 38

Figure 14. Un exemple d’ontologie.

Chapitre II

Les web services

4. Conclusion

Le Web Sémantique est une vision du futur Web dans lequel l’information est donnée un sens explicite facilitant ainsi aux machines le traitement et l’intégration des informations sur le Web. Le Web Sémantique sera construit sur la capacité de XML de définir des schémas de balisage personnalisés et sur la flexibilité de l’approche RDF pour représenter les données. Si les machines sont supposées faire des tâches de raisonnement utiles sur ces documents, le langage doit aller au-delà des sémantiques de base du RDF Schema. OWL a été conçu pour répondre à ce besoin pour un langage d’ontologie pour le Web. Appliqués aux Services Web, les principes du Web sémantique doivent permettre de décrire la sémantique de leurs fonctionnalités, et les raisonnements induits constituent par conséquent une proposition d’automatisation des différentes tâches de leur cycle de vie.

Chapitre II

les web services

III. Services Web Sémantique

L’idée consiste à faire converger le Web sémantique et les services Web afin de proposer des services et des procédés qui prennent en compte la connaissance que l’on peut avoir d’un service ou d’un procédé afin de pouvoir profiter des travaux sur le raisonnement à partir de connaissances qui ont été mis en avant par le Web sémantique.

1. présentation des services Web sémantique

Le terme Services Web Sémantique est réservé pour l’automatisation des tâches d’utilisation des services tels que la découverte, la sélection, la composition et l’établissement des services appropriés. Les Web services sémantiques se situent à la convergence de deux domaines de recherche importants qui concernent les technologies de l’Internet : le Web sémantique et les Web services. Cette tâche est accomplie en rendant les services Web auto- exploitables par machine. De la même façon que le Web sémantique a promis de permettre aux machines de tirer partie du contenu statique du Web en utilisant des annotations. L’idée d’appliquer des techniques semblables aux services Web est très intéressante.

semblables aux services Web est très intéressante. Figure 15. Evolution vers les services Web sémantique

Figure 15. Evolution vers les services Web sémantique [Phan, 05]

Chapitre II

les web services

2. Objectifs des services Web sémantique

L’objectif visé par la notion de Web services sémantiques est de créer un Web

sémantique de services dont les propriétés, les capacités, les interfaces et les effets sont décrits de manière non ambiguë et exploitable par des machines et ce en utilisant les couches techniques sans pour autant en être conceptuellement dépendants. La sémantique ainsi exprimée permettra l’automatisation des fonctionnalités suivantes:

• Processus de description et de publication des services

• Découverte des services

• Sélection des services

• Composition des services

• Fourniture et administration des services

2.1. La découverte automatique des services Web

Actuellement cette tâche doit être réalisée par un humain qui doit utiliser un moteur de recherche ou un annuaire pour trouver le service, lire la page Web qui décrit l’utilité et l’utilisation du service, puis l’exécuter manuellement pour vérifier que celui-ci correspond bien aux attentes de l’utilisateur. Le langage DAML-S 4 doit donc fournir une description déclarative des propriétés et des capacités du service Web.

2.2. Invocation automatique de services Web

L’invocation automatique d’un service signifie l’exécution du service par un programme informatique ou un agent logiciel. Cet agent doit être capable d’interpréter la description DAML-S afin de délivrer les données nécessaires à l’exécution du service Web.

2.3. Composition automatique de services Web

L’objectif qu’un utilisateur veut atteindre nécessite souvent l’utilisation de plusieurs services Web. L’agent logiciel chargé d’atteindre cet objectif doit disposer de suffisamment de données afin de pouvoir sélectionner, composer et interoperer automatiquement ces services Web. Les descriptions DAML-S et OWL-S doivent donc pouvoir fournir toutes ces informations.

4 Daml-s va être détaillé plus loin dans ce chapitre.

Chapitre II

les web services

2.4. Surveillance automatique de l’exécution de services Web

Un des problèmes majeurs avec l’exécution des services, du fait de leur nature distribuée, est que l’utilisateur ne connait pas le temps d’exécution de ces services. Lors de la composition de plusieurs services, l’utilisateur doit pouvoir connaitre l’état d’avancement de ses différentes requêtes.

3. une architecture étendue pour les services Web

Différentes extensions de l’architecture de référence ont été proposées dans la littérature. Le groupe architecture du W3C travaille activement à l’élaboration d’une architecture étendue standard. Une architecture étendue est constituée de plusieurs couches se superposant les unes sur les autres, d’où le nom de pile des Web services. La figure 16 décrit un exemple d’une telle pile. La pile est constituée de plusieurs couches, chaque couche s’appuyant sur un standard particulier. On retrouve, au-dessus de la couche de transport, les trois couches formant l’infrastructure de base décrite précédemment. Ces couches s’appuient sur les standards émergents SOAP, WSDL et UDDI. Une couche « Business process » est ajoutée permettant de rendre les business processes accessibles à l’intérieur d’une entreprise et au-delà même des frontières d’une entreprise. Les couches dites transversales (ex. sécurité, administration, transactions et qualité de services (QoS)) permettent de compléter la couche business process. La couche « semantics » vient s’intégrer à chacune des quatre couches supérieures et permettent ainsi d’automatiser ses processus.

Chapitre II

les web services

Chapitre II les web services Figure 16. Pile des Web services sémantiques [Toumani, 04] 43

Figure 16. Pile des Web services sémantiques [Toumani, 04]

Chapitre II

les web services

4. DAML-S

DAML-S [Ankolenkar, 02] est un langage de description de services basé sur XML utilisant le modèle des logiques de descriptions (et plus précisément DAML+OIL). Son intérêt est qu’il est un langage de haut niveau pour la description et l’invocation des services Web dans lequel la sémantique est incluse, contrairement par exemple à UDDI, DAML-S est composé de trois parties principales:

à UDDI, DAML-S est composé de trois parties principales: Figure 17. Classes principales de l'ontologie DAML-S

Figure 17. Classes principales de l'ontologie DAML-S [Guitton, 06]

Service Profile qui permet la description, la promotion et la découverte des services, en décrivant non seulement les services fournis, mais également des préconditions à la fourniture de ce service, comme « avoir une carte bleue valide » ou « être membre d’un des pays de l’Union Européenne ». Les recherches sur les services peuvent se faire en prenant n’importe quel élément de Service Profile comme critère.

Service Model qui présente le fonctionnement du service en décrivant dans le détail et de manière relativement abstraite les opérations à effectuer pour y accéder. Certains éléments du Service Model peuvent être utilisés à la manière du Service Profile afin de fournir des informations supplémentaires à un utilisateur pour qui les opérations à effectuer seraient également un critère de choix. C’est le Service Model qui va permettre une composition des services si besoin est. Il permet également d’effectuer un contrôle poussé du déroulement du service.

Chapitre II

les web services

Service Grounding va présenter clairement et dans le détail la manière d’accéder à un service. Tout type abstrait déclaré dans le Service Model s’y verra attribuer une manière non ambiguë d’échanger l’information. C’est dans cette partie que le protocole et les formats des messages entre autres sont spécifiés.

Pour l’instant, DAML-S est un langage qui est encore en cours de spécification, mais dont les grandes lignes sont déjà tracées. Un moyen de l’interfacer avec WSDL a été proposé afin de pallier son absence de gestion d’échange de messages, ce qui permettra par exemple d’utiliser SOAP pour échanger des messages XML. DAML-S pourra alors être réservé à une description abstraite et sémantique des services, permettant également d’exprimer des contraintes sur les paramètres et d’utiliser des constructeurs (comme « si…alors…sinon… »).

DAML-S est une des seules solutions proposant une réelle sémantique des données, et pas seulement des champs prédestinés par la structure des standards ou par des « feuilles de styles » utilisées pour décrire les services ; de plus, son utilisation des logiques de descriptions pour modéliser les services permet une grande puissance d’expression, que ne possèdent pas les autres systèmes.

4.1. Interaction avec WSDL

DAML-S fournit une spécification de haut niveau, c'est-à-dire au niveau "application". Cette spécification est intéressante pour la découverte et la composition, mais elle est insuffisante pour l'invocation d'un service Web. WSDL, quant à lui, fournit une spécification de plus bas niveau (niveau "interface") qui permet de réaliser l'invocation d'un service. Ces deux langages paraissent donc complémentaires. C'est pourquoi, certains articles proposent de réaliser le "grounding" d'un service à l'aide de WSDL.

Effectuer un "grounding" en WSDL nécessite deux étapes. La première consiste à créer une sous-classe de la classe "Service Grounding" propre à l'usage de WSDL. La seconde étape nécessite un mécanisme de correspondance entre certains concepts de DAML-S et certains de WSDL. Il existe trois grandes règles de correspondance :

de WSDL. Il existe trois grandes règles de correspondance : un processus atomique en DAML-S correspond

un processus atomique en DAML-S correspond à la notion d'opération de WSDL. Il

existe quatre situations où cette correspondance peut être obtenue. Ces quatre situations sont

résumées à la table 1.

2. DAML-S autorise d'avoir un ensemble d'entrées ou de sorties. Cette notion n'existe pas en

WSDL, c'est pourquoi un ensemble d'entrées ou de sorties sera traduit, en WSDL, par un message unique.

1.

Chapitre II

les web services

3. la notion de type des entrées et sorties de DAML-S correspond à la notion de type abstrait de WSDL. Cette correspondance permet la traduction des entrées et des sorties. Grâce à ces deux étapes, il est aise de créer un "grounding" pour un service DAML-S en WSDL.

un "grounding" pour un service DAML-S en WSDL. Table 1. Règles de correspondance entre DAML-S et

Table 1. Règles de correspondance entre DAML-S et WSDL [Gautier, 04]

Chapitre II

les web services

5. Conclusion

Les services Web sémantiques sont des services Web dotés de descriptions sémantiques. Cette sémantique est apportée grâce aux ontologies une des technologies importantes du Web sémantique. Les Web services sémantiques se situent à la convergence de deux domaines de recherche importants qui concernent les technologies de l’Internet : le Web sémantique et les Web services. Le Web sémantique s’intéresse principalement aux informations statiques disponibles sur le Web et les moyens de les décrire de manière intelligible pour les machines. Les Web services, quant à eux, ont pour préoccupation première l’interopérabilité entre applications via le Web en vue de rendre le Web plus dynamique.

Chapitre II

les web services

Conclusion

Les services Web deviennent des composants technologiques importants dans le domaine d’intégration d’applications, en effet, ils permettent l’interopérabilité entre divers logiciels fonctionnant sur diverses plateformes telle qu’une plateforme e-Learning. Les Web services assurent, à travers UDDI, la publication et la découverte des applications (des Web services). La réalisation de ces tâches, de manière manuelle, est clairement fastidieuse, notamment pour la tâche de découverte dont l’utilisateur doit chercher manuellement le service pertinent qui répond à ses besoins dans une grande gamme de services. Les solutions d’automatisation de cette tâche devenaient de plus en plus indispensables. Et c’est dans ce contexte que sont nés les premiers concepts d’automatisation de la découverte, ces concepts consistent, pour la plupart de temps, à ajouter de la sémantique aux Web services. L’objectif est d'exprimer de manière formelle des informations sémantiques sur les données, pour qu'elles puissent être exploitées par des ordinateurs. Les ontologies ont un rôle très important à jouer pour la réalisation du Web sémantique. Elles sont utilisées pour fournir le vocabulaire et la structure de méta données associées aux sources annotées, c'est une représentation pivot pour l'intégration de sources de données hétérogènes, pour décrire des services Web. Aujourd’hui, les Web services sémantiques constituent une voie prometteuse permettant de mieux exploiter les Web services en automatisant, autant que possible, les différentes tâches liées au cycle de vie d’un service.

Chapitre III

Chapitre III La découverte des Web services

La découverte des Web services

Chapitre III

Découverte de web services

1. Introduction

Ce qui rend la notion de service Web si attirante est qu’il semble que les services Web soient en mesure de permettre une meilleure automatisation dans la gestion des applications, par exemple en permettant leur découverte dynamique, en facilitant la communication et la négociation, voire en permettant leur composition en des services plus complexes. Dans ce contexte, le problème de la découverte dynamique des services Web est le suivant :

en supposant que l’on a un certain nombre de descriptions de services Web (provenant de fournisseurs divers et concernant par exemple le domaine du tourisme) ainsi qu’une requête d’un utilisateur (cherchant par exemple un vol et une chambre d’hôtel), comment découvrir parmi tous les services, ceux qui correspondent le plus à la requête de l’utilisateur ? Et ceci dynamiquement puisque l’utilisateur ne sait pas a priori quels services il désire obtenir et puisque l’offre de services peut changer très rapidement (pour une même requête, à des instants différents, les services découverts ne seront pas toujours les mêmes, ceux-ci pouvant à tout moment être modifiés, supprimés ou d’autres pouvant être proposés).

2. Les mécanismes de découverte

La découverte des services Web présente un axe de recherche important. Divers mécanismes de découverte ont été proposés dans la littérature. Les auteurs ont défini le mécanisme de découverte comme étant « l’acte de localisation d’une description, traitable par machine, d’un service Web non connu auparavant décrivant certains critères fonctionnels ». Actuellement les descriptions des services sont publiées dans des registres spécialement conçus à cet effet (ex : UDDI). Le but de ces registres est de faciliter la recherche des services publiés par les différents organismes commerciaux. Initialement la découverte de service Web était principalement syntaxique (correspondance syntaxique des mots-clés de la requête avec les descriptions des services Web). Mais avec le développement des technologies du Web sémantique les techniques proposées pour la découverte des services Web sont devenues essentiellement sémantiques. En général, les approches de découverte peuvent être classées en deux catégories :

1. Approches basées sur des descriptions syntaxiques des services Web. 2. Découverte dynamique des services

Chapitre III

Découverte de web services

2.1. Approches basées sur des descriptions syntaxiques des services Web

Le principe général des approches basées sur la syntaxe des descriptions des services est la comparaison syntaxique entre la requête, basée mots clés, de l’utilisateur et les descriptions syntaxiques (WSDL) des services Web.

2.1.1. L’approche UDDI

UDDI est un registre de description de services Web. UDDI est utilisé comme registre central pour la publication et la découverte, basée mots clés, des services Web. A l’étape de recherche, l’utilisateur ou le programme de recherche envoie une requête constituée de mots clés, cette requête est ensuite comparée avec les mots clés du registre UDDI. Un ensemble de descriptions des services Web est ensuite donné comme résultat de recherche, l’utilisateur sélectionne le service Web qui répond au mieux à ses exigences. Malgré sa simplicité et sa facilité d’implémentation, elle présente quand même quelques inconvénients, la méthode renvoie un nombre important de résultats ou au contraire peu de résultats.

2.2. Découverte dynamique des services

On entend par découverte dynamique la possibilité de localiser automatiquement un Web service qui répond à des besoins particuliers. Différentes approches ont été proposées dans la littérature pour réaliser la découverte dynamique des services. Toutes ces approches implantent en fait une découverte approximative car il n’est pas réaliste d’imaginer qu’il y a toujours un service qui correspond exactement aux besoins spécifiés. Ces approches diffèrent par le langage de description des services utilisé (e.g., DAML-S, logique de description…) et/ou par l’algorithme de découverte utilisé (matchmaking, test de subsumption, réécriture). Par exemple, [Bernstein, 02] propose d’utiliser des ontologies de processus pour décrire le comportement des services et définit un langage d’interrogation de processus (Process Query Language) pour interroger ces ontologies. D’autres approches basées sur une description DAML-OIL des services proposent d’exploiter les mécanismes de raisonnement fournis par DAML-OIL pour supporter la découverte dynamique des Web services.

Chapitre III

Découverte de web services

2.2.1. Approche DAML-S : DAML-S sert de support à de nombreuses tâches :

1. la découverte et la sélection d'un service qui consistent à mettre en correspondance un

demandeur de service avec un fournisseur qui répond à ce service.

2. l'invocation de ce service qui permet de réaliser l'appel effectif du service découvert.

3. l'interopération et la composition de services qui autorisent de composer des services plus

simples afin d'obtenir un service complexe qui répond aux attentes d'un demandeur.

4. la surveillance de l'évolution du processus ("Monitoring") qui sert à surveiller l'état

d'accomplissement et de déroulement du service. Au cœur de l’ontologie décrite par DAML-S, on trouve la classe service qui présente un "ServiceProfile", qui est décrite par un "ServiceModel" et supporte un "ServiceGrounding". Le "ServiceProfile" explique ce que fait le service et ce qu'il exige des autres agents, le

"ServiceModel" définit le fonctionnement du "Web Service", le "ServiceGrounding" fournit les informations nécessaires à ,l'utilisation du "Web Service" et la classe ressource donne des informations relatives aux ressources utilisées par le "Web Service". Le "ServiceProfile" sert de support à la découverte de "Web Services" et à leur sélection. Cette activité est appelée le "matching". Elle consiste, à partir d'un "ServiceProfile" hypothétique du service désiré par un demandeur, à fournir le "Web Service" du fournisseur qui propose un "ServiceProfile" qui correspond le plus à la description du demandeur. [Paolucci, 02] a établi une distinction entre différents degrés de matching:

1. Exact Match: Dans ce cas les sorties, respectivement les entrées du service demandé étant exactement identiques à celles du service publié.

2. Plug-in Match: Dans ce cas, les propriétés du service demandé sont incluses dans le service publié.

3. Subsumes Match: Dans ce cas, les propriétés du service publié sont incluses dans le service demandé.

4. Intersection Match: Dans ce cas, il existe une intersection entre les propriétés du service demandé et celles du service publié.

5. Disjoint Match: aucune correspondance n’a été trouvée.

La force de matching est décroissante de l’Exact Match vers le Disjoint Match. Le "ServiceModel" permet de réaliser plusieurs tâches importantes sur les "Web Services". En effet, après la découverte d'un service grâce à son "ServiceProfile", le "ServiceModel" permet d'effectuer une analyse plus détaillée par un agent du service afin de déterminer si le

processus répond véritablement aux attentes de cet agent.

Chapitre III

Découverte de web services

Le "ServiceGrounding" établit une correspondance entre une spécification abstraite définie en DAML-S par les "IOPE's" ("Inputs Outputs Preconditions Effects") pour un "ServiceModel" et une spécification concrète. Cette mise en correspondance permet d'accéder au service. Le "ServiceGrounding" sert donc de support à l'invocation du service. 2.2.1.1. Les critiques de DAML-S : parmi les limites de DAML-S on cite :

Le " grounding " en WSDL limite l'expressivité de DAML-S. En effet, la définition d'un grounding a souvent de l'influence sur la façon de décrire le service. De plus, certains aspects de DAML-S ne peuvent pas être traduits par un "grounding" en WSDL. Ainsi, les outputs conditionnels de DAML-S ne peuvent pas être traduits en WSDL car celui-ci n'admet qu'un seul message de sortie pour un processus. La sémantique offerte par DAML+OIL n'est pas suffisante pour restreindre les interprétations des modèles à celles voulues. Certains mécanismes de DAML-S posent des problèmes de réalisation pratique. Ainsi, le "matching" nécessite un processus très complexe. Cela entraine une perte de performance. Pour améliorer la performance, il faut alors diminuer la qualité du "matching". Cet aspect est un dilemme important étant donné que cette activité doit se faire aussi rapidement que possible et avec un degré de précision le plus élevé possible.

2.2.2. La découverte des services Web selon la qualité de services

La qualité de service ou QoS est « une combinaison de différentes qualités ou propriétés d’un service » [Menascé, 02]. C’est un ensemble non fonctionnel d’attributs qui peuvent influencer la qualité de service fournie par un Web service. Quelques exemples d’attributs de QoS sont donnés ci-dessous :

La disponibilité : est la probabilité que le système est en place et peut répondre aux demandes des utilisateurs. Généralement, il est un peu parallèle à la fiabilité et légèrement différent de la capacité.

La capacité : est la limite des demandes courantes qu'un service peut traiter. Quand le nombre de demandes courantes dépasse la capacité d'un service, sa disponibilité et sa fiabilité diminuent.

La fiabilité : est la capacité d'un service de remplir ses fonctions requises dans des conditions indiquées pendant une période spécifique.

La performance : est la mesure de la vitesse d'accomplir une demande de service. Elle est mesurée par la latence (le délai entre l'arrivée et l'accomplissement d'une demande de

Chapitre III

Découverte de web services

service), débit (le nombre de demandes accomplies pendant le temps) et temps de réponse (le délai de la demande pour obtenir une réponse du service).

Le coût : est la mesure du coût de demander un service. Il peut être chargé par nombre de

demandes de service, ou pourrait être un taux forfaitaire facturé pour une période de temps. Recherche sur la découverte de services de Web avec QoS De nombreux chercheurs travaillent sur la façon de prendre en compte des informations QoS pour les services Web dans le processus de découverte pour trouver les services qui répondent le mieux aux exigences de client. [Gouscos et al, 03] proposent une approche simple à la découverte dynamique de services Web qui modèle des attributs de gestion de services Web tels que la QoS et le prix. Ils étudient comment ce modèle simple peut être adapté et exploité dans des normes de spécifications de base telles que WSDL. Les attributs principaux de qualité et de prix de services Web sont identifiés et classés par catégorie dans deux groupes, statique et dynamique. Le prix, le temps de réponse de service promis (SRT) et la probabilité d'échec promise (POF) sont considérés comme statique dans la nature et pourrait être pris en compte dans le registre UDDI. Les valeurs réelles de QoS qui sont les SRT réels et PoF sont soumises à des mises à jour dynamiques et pourraient être stockés dans le registre UDDI ou dans le document WSDL.

Web

sémantiques

On présentera dans ce qui suit trois travaux pertinents de [Rey, 03], [Oussama, 05] et [Zhu, 08] concernant la découverte dynamique de Web services sémantiques.

3.

Quelques

travaux

de

découverte

des

services

Chapitre III

Découverte de web services

I. Un prototype et un algorithme pour la découverte de services Web dans le contexte du Web sémantique

Le problème de la découverte dynamique des e-services est le suivant : étant donnés une requête utilisateur et un ensemble de e-services, comment trouver la combinaison de services Web qui répond au mieux à la requête? Les algorithmes de découverte sont limités par le fait qu’ils sont basés sur une recherche par mots-clés, ou par tables de correspondance de couples (clé, valeur). De plus, pour une requête, ces algorithmes découvrent des e-services séparés, et non des combinaisons de services Web couvrant l’ensemble de la requête. [Rey, 03] propose sous la forme d’un nouveau raisonnement pour les LD (logique de description), une découverte qui a l’avantage d’être la seule à permettre la découverte de combinaisons de services Web pour répondre à une requête, et à fournir la différence entre la requête et les combinaisons découvertes sous la forme d’un concept réutilisable pour d’autres traitements (initiation d’un dialogue système- utilisateur par exemple). Nous présentons le système D 2 CP (Dynamic Discovery of Concepts Prototype) qui est le prototype qui implémente l’algorithme computeBCov et qui permet ce nouveau raisonnement pour la découverte dynamique de services Web, étant donné une ontologie de services Web et une requête utilisateur au format XML.

I.1. Le prototype D 2 CP

D 2 CP ou prototype de découverte dynamique de concepts est un prototype Java dans

lequel est implémenté computeBCov. Le but de ce système est d’être une plateforme de tests de l’algorithme computeBCov de découverte dynamique de services Web. Pour ceci, D 2 CP permet :

(i) de générer aléatoirement des ontologies de e-services et des requêtes associées sous la forme de fichiers XML.

(ii) de découvrir dynamiquement les meilleures combinaisons de e-services étant données une requête Q et une ontologie :

- fournies par l’utilisateur,

- ou générées par l’utilisateur à l’aide de D 2 CP.

(iii)

de faire tourner les 6 variantes de l’algorithme computeBCov

(iv)

d’obtenir les résultats de la découverte dynamique.

- sous la forme d’une trace d’exécution en arbre

- ou sous la forme de mesures de temps de chaque étape de l’algorithme.

Chapitre III

Découverte de web services

Chapitre III Découverte de web services Figure 18. Vue d’ensemble des fonctionnalités de D 2 CP

Figure 18. Vue d’ensemble des fonctionnalités de D 2 CP.

Chapitre III

Découverte de web services

I.2. L’algorithme computeBCov ComputeBCov repose sur une propriété classique des hypergraphes donnée dans [Berge, 89] et reprise dans [Mannila 94, Eiter 95], qui en fait un algorithme itératif qui, à chaque itération, génère un certain nombre de candidats pour ne conserver que les plus petits (au sens de l’inclusion ensembliste) à la fin de l’itération. Cette phase de génération de candidats peut être optimisée par deux ajouts :

La propriété des "persistants" établit une condition nécessaire et suffisante de minimalité d’un candidat. Grâce à elle, on peut donc ne générer que les candidats minimaux à chaque itération, et ce au prix d’un coût bien moindre que celui impliqué par l’élagage des non minimaux après la génération de tous les candidats possibles.

Une technique d’optimisation combinatoire appelée "Branch and Bound" (BnB) peut être

ajoutée pour améliorer encore l’algorithme de base. Elle permet d’élaguer de nombreuses branches dans l’arbre des candidats possibles grâce à l’évaluation, à chaque itération, du coût d’une solution possible, cette évaluation pouvant être calculée de deux manières possibles (BnB1 ou BnB2). On a donc au total 6 variantes pour computeBCov : avec ou sans les persistants, avec ou sans le BnB, et si avec le BnB, alors avec BnB1 ou avec BnB2. Ces 6 variantes sont toutes implémentées dans D2CP

L’algorithme computeBCov

Entrée(s) : Une ontologie T de services et une requête Q exprimées dans la logique
Entrée(s) : Une ontologie T de services et une requête Q exprimées dans la logique de description
FL 0 .
Sortie(s) : L’ensemble des meilleures combinaisons de services répondant à Q étant donné
l’ontologieT.
1: Construction de l’hypergraphe H T Q = (∑, Г) ;
2: Tr ← ;
3: CostEval ∑
du sommet V Si de plus petit cout dans e ;
Г
4:
pour chaque arête e Г faire
5:
Tr
← {transversaux minimaux générés selon l’algorithme 2}
6:
7:
8:
pour chaque transversal minimal X Tr faire
RealCost ← cout(X) ;
si RealCost > CostEval alors
9:
Tr
← Tr \ X ;
10:
sinon si RealCost < CostEval alors
11:
Eval ← RealCost+ ∑
du sommet V Si de plus petit cout dans f
Г
;
12:
si Eval < CostEval alors
13:
14:
15:
16:
17:
CostEval ← Eval ;
fin si
fin si
fin pour
fin pour
18: pour chaque X Tr tel que cout(X) = CostEval faire
19: Retourner le concept E X
20: fin pour

Chapitre III

Découverte de web services

II. Un modèle de métadonnées pour l'indexation des services e-Learning

[Oussama, 05] propose un modèle de métadonnées pour l'indexation des services e- Learning. Il propose de décrire et d'indexer des services e-Learning sur trois dimensions: en tant que ressources d'apprentissage, comme des services qui contribuent et aident les chercheurs et comme des services généraux en employant les ontologies et la représentation de connaissance pour indexer et stocker les caractéristiques des services. Sa proposition est de faire une ressource d'apprentissage non seulement comme chose téléchargeable qui est seulement exécutée sur la machine de client sans l'interaction avec des serveurs pendant le temps d'exécution mais également comme un service accessible par une interface.

II.1. Le modèle de métadonnées proposé

II.1.1. Les ressources d'apprentissage

On se basant sur le Dublin Core et IEEE LOM pour assurer la compatibilité avec les plates formes existantes et permettre la description d'une ressource d'apprentissage en général. Les ressources d’apprentissage définissent un ensemble d'éléments comme:

Titre: le nom donné à la ressource par son créateur.

Créateur: Les personnes ou les organismes principalement chargés du contenu intellectuel de la ressource.

Sujet: le sujet de la ressource, des mots-clés ou des phrases qui décrivent l'objet ou le contenu de la ressource.

Description : une description textuelle du contenu de la ressource, y compris les résumés dans le cas du document et des objets et des descriptions de contenu dans le cas de ressources visuelles.

Éditeur : les personnes ou les organismes en plus de ceux spécifiés dans l'élément créateur qui ont apporté des contributions intellectuelles significatives à la ressource mais qui est secondaire aux individus ou aux entités spécifiées dans l'élément créateur (par exemple, rédacteurs).

Date: la date à laquelle la ressource a été mise à disposition dans sa forme actuelle.

Langage : langages du contenu intellectuel de la ressource.

Format : la représentation des données de la ressource, telles que text / html, fichier Postscript, JPEG image et ainsi de suite.

Droits: le contenu de cet élément est destiné à être un lien (une URL par exemple) à un avis de droit d'auteur, les droits de gestion de déclaration et ainsi de suite.

Chapitre III

Découverte de web services

II.1.2.

Les ressources de recherches Trois champs importants sont identifiés :

II.1.2.1. Un domaine de recherche peut être décrit par:

Index : mots clés qui décrivent le domaine de recherche.

• Références : un ensemble de papiers, documents et URL qui sont utiles dans le

domaine de recherche.

•Liens: qui sont vers d'autres domaines et les thèmes qui sont liés au domaine de

recherche.

•Description: une courte description textuelle du domaine de recherche.

II.1.2.2. Un chercheur peut être décrit par:

Les informations personnelles : nom, email, numéros de téléphone, site Web et CV.

Qualité et titre: docteur, professeur, ingénieur et ainsi de suite.

Domaines de recherche : la liste des domaines de recherche.

Domaines d'enseignement: la liste des domaines de l'enseignement.

Publications : références aux documents édités.

Département: à qui le chercheur est rattaché.

II.1.2.3. Un département peut être décrit par:

Nom: du département et l'université ou l'organisme à qui le service est joint.

Adresse : l'endroit du département.

Description : une description courte du département.

Domaines de recherche : la liste des orientations de recherches du département.

Liste de chercheurs attachés au département.

Les groupes de recherche qui constituent le département.

Un type de service peut être une ressource d'étude, un logiciel, un programme, un document et ainsi de suite.

II.1.3. Service général Un service peut être défini par un ensemble de

caractéristiques comme:

Fournisseur et lieu : définit ses caractéristiques en incluant son nom et son adresse, Le lieu

détermine l'endroit de service comme une adresse de compagnie ou une adresse URL

Canaux de demande et livraison: le moyen par lequel l’utilisateur demande/ reçoit le

service

Chapitre III

Découverte de web services

Paiement et évaluation: le processus par lequel le fournisseur collecte les prix de ses services

Environnement: les caractéristiques de l'environnement utilisées pour exploiter le service.

Système de livraison : la visioconférence dans le cas des ressources d'apprentissage.

les outils d'aide: les outils (comme le Chat room, liste de diffusion etc) qui aident les clients à utiliser le service.

II.2. Représentation des connaissances et des ontologies

Dans cette approche, l’auteur a utilisé des ontologies pour indexer et stocker les

caractéristiques (propriétés) de service e-Learning par concepts. Les clients peuvent découvrir

un service en interrogeant leurs caractéristiques à partir de l'ontologie et à l'aide d'un langage

logique comme Frame-Logic. Il a utilisé un outil nommé Ontobroker, qui permet la gestion

d'ontologies. Il se compose d'une interface de recherche pour la formulation des requêtes et un

moteur d'inférence pour dériver de nouveaux faits.

Il a d'abord créé une ontologie décrivant les propriétés des services e-Learning définies

précédemment. Il a employé les structures fournies par une ontologie comme des relations

d'héritage pour construire le modèle de métadonnées pour son service. Si les métadonnées

sont plus structurées par une ontologie, les requêtes peuvent bénéficier de l'organisation

d'ontologie : elles sont plus flexibles et plus puissantes.

L'exemple suivant est un concept dans l'ontologie écrite en F-Logic, pour décrire

l'emplacement du fournisseur de services:

Provider address [ city name =>> STRING;

street name =>> STRING;

postal code =>> INTEGER;

country code =>> INTEGER].

Chapitre III

Découverte de web services

III. Un algorithme de découverte des services e-Learning basé sur la satisfaction des utilisateurs [Zhu, 08]

[Zhu, 08] Propose un algorithme appelé l'eLSDAUS, pour améliorer l'algorithme de matching 5 (jumelage) basé sur la sémantique. Dans cet algorithme, il a introduit et intégré un nouveau facteur - la satisfaction de l’utilisateur, qui représente le niveau de satisfaction de l’utilisateur concernant le résultat de découverte d’un service. Cet algorithme permet aux utilisateurs de participer dans la découverte des services e-Learning en évaluant le résultat de cette découverte. L’évaluation de l'utilisateur concernant sa satisfaction est réintroduite dans le système. En adoptant une fonction modificatrice qui prend la satisfaction des utilisateurs comme entrée, le système modifie les poids de chaque propriété du service publié, et ensuite le degré de matching augmente pour arriver au meilleur degré.

III.1. Modèle de description des services e-Learning

[Zhu, 08] propose un modèle de description des services e-Learning qui peut être défini comme 4-tuplet : eLS :={ INPUTs, OUTPUTs, QoS, US} III.1.1. INPUTs est l'ensemble des propriétés des entrées des services e-Learning,

III.1.2. OUTPUTs est l'ensemble de propriétés de sortie des services e-Learning Les concepts dans les ensembles d’INPUTs et OUTPUTs sont tous les concepts de l'ontologie de domaine des services e-Learning. III.1.3. QoS est la qualité de service. Elle décrit la capacité des services e-Learning pour répondre au besoin d'utilisateur. Un modèle QoS peut être défini comme 3-tuplet, QoS:={ RT, CT, AL}, RT représente le temps de réponse, il indique le temps de la soumission du service demandé à la réponse du service publié; CT représente le coût payé pour invoquer le service chaque fois; Al représente la disponibilité du service publié. Les valeurs de RT, CT, et AL sont initialisées par le fournisseur de service, puis ils vont changer dynamiquement sous le contrôle du système. III.1.4. US est la satisfaction des utilisateurs, elle signifie l'expérience de l'utilisateur de la comparaison entre le service retourné du système de découverte en fonction de sa demande et ses espérances. L’architecture de mesure des US peut être divisée en 3 niveaux comme l'indique la table 2.

5 Le matching est la correspondance entre les propriétés du service demandé et les services publiés.

Chapitre III

Découverte de web services

Total Target

1 er niveau

2 eme niveau

Architecture

de

mesure

pour US

INPUTs

input 1

……

input l

OUTPUTs

output 1

……

output m

QoS

RT

CT

AL

Table 2. Architecture de mesure pour US.

La satisfaction des utilisateurs à chaque mesure indicatrice peut être représentée par 5

niveaux: Très satisfait, satisfait, Normal (acceptable), non satisfait, mauvais, les valeurs de

chaque US sont 5, 4, 3, 2, 1.

US to INPUTs pour les services e-Learning peut être défini comme la valeur moyenne

; tel que m est le

une propriété

des US à toutes les valeurs d'entrée, US_INPUT=

nombre de propriétés des entrées, US_input i

INPUTs.

de propriétés des entrées, US_input i INPUTs. ∑ {1, _ i 2, 3, 4, 5} est

{1,

_ i

2,

3,

4,

5}

est

US to OUTPUTs pour les services e-Learning peut être défini comme la valeur

;

moyenne des US à toutes les valeurs de sorties, US_OUTPUT=

i
i

tel que n est le nombre de propriétés des sorties, US_output i

propriété OUTPUTs.

propriétés des sorties, US_output i propriété OUTPUTs. {1, 2, 3, 4, 5} est une ∑ US

{1, 2, 3, 4, 5} est une

US to QoS pour les services e-Learning peut être défini comme la valeur moyenne des

US pour le temps de réponse, le coût et la disponibilité.

US_QoS= (US_qos 1 +US_qos 2 +US_qos 3 )/3 ; Tel que US_qos 1, US_qos 2, US_qos 3

{1, 2, 3, 4, 5} sont le temps de réponse, le coût et la disponibilité des services e-

2 , US_qos 3 {1, 2, 3, 4, 5} sont le temps de réponse, le coût

Learning.

Chapitre III

Découverte de web services

III.2. L’ALGORITHME eLSDAUS

(1) Établir le dépôt des services publiés ;

(2) Établir le dépôt des services résultats ;

(3) jumelage des propriétés d’INPUTs ;

(4) jumelage des propriétés d’OUTPUTs ;

(5) jumelage des QoS ;

(6) Mettre les services publiés qui satisfont les entrées(INPUTs), les sorties(OUTPUTs) et la qualité de service(QoS) dans le dépôt des résultats découverts;

(7) Calculer le TotalMatchDegree (degré total de jumelage) dans le service de dépôt des résultats;

de chacun des services

(8) Selon le TotalMatchDegree, trier les services publiés dans le dépôt de résultat. Et renvoyer le résultat assorti ;

(9) Recueillir l'US aux services retournés ;

(10) Selon le US, calculer le poids de degré de matching de chaque propriété de tout le service retourné;

(11) Mettre à jour le poids de degré de matching de chaque propriété dans le dépôt des services publiés.

Requester Service provider Machmaker US agent Advetisement service Requested service US feedback Reasoning engine
Requester
Service provider
Machmaker
US agent
Advetisement service
Requested service
US feedback
Reasoning engine
US evaluator
Service updater
E-Learning service
ONtology repository

Figure 19. L’architecture de découverte des services e-Learning.

Chapitre III

Découverte de web services

4. La comparaison des approches étudiées

Après avoir présenté dans le paragraphe précédent quelques approches de découverte de Web services, nous avons établi un tableau récapitulatif et comparatif des trois approches.

 

Prototype d 2 cp

Modèle de

Algorithme

métadonnées

elSDAUS

Description des services

ontologies

ontologies

ontologies

Domaine de découverte

Général

e-Learning

e-Learning

Techniques de

Algorithme

 

Algorithme

découverte

computeBcov

Ontobroker

elSDAUS

Profil utilisateur

Ne tient pas En compte

Ne tient pas En compte

L’utilisateur participe Au processus de découverte

Exactitude des résultats

Exact Calcul de formule

Non exact Requête en f-logic

Exact Calcul de formule

Particularités

Calcul de la Couverture minimale

Indexation des services e-Learning

Réinjection de la Satisfaction de L’utilisateur

Table 1: Comparaison des travaux de découverte.

Chapitre III

Découverte de web services

5. Conclusion

La découverte de services Web constitue un axe de recherche émergeant. Diverses approches ont été proposées. Ces approches sont passées d’une recherche basée mots clé (correspondance syntaxique de la requête avec les descriptions des services Web) aux méthodes basées sémantique (degré de correspondance sémantique de la requête avec la sémantique des descriptions des services Web). Cependant vu la diversité des utilisateurs et des conditions dans lesquelles ils accèdent aux services Web, d’autres paramètres doivent être considérés lors de la découverte, tel que le type du dispositif utilisé (PDA, ordinateur portable, etc.), préférences de l’utilisateur, etc. Tous ces paramètres forment un contexte d’utilisation particulier.

PartiePartiePartiePartie IIIIIIII ConceptionConceptionConceptionConception etetetet misemisemisemise enenenen

PartiePartiePartiePartie IIIIIIII

ConceptionConceptionConceptionConception etetetet misemisemisemise enenenen œuvreœuvreœuvreœuvre

IIIIIIII ConceptionConceptionConceptionConception etetetet misemisemisemise enenenen œuvreœuvreœuvreœuvre

Chapitre IV

Chapitre IV Conception du système

Conception du système

Chapitre IV

Conception du système

1. Introduction

Tout au long de la partie précédente nous avons vu des notions tel que : e-Learning, Web services, Web sémantique, ainsi qu’une phase très importante qui consiste en leur découverte, les standards et outils utilisés. Les méthodes de découverte comme on l’a déjà vu sont passées d’une recherche basée mots clé (correspondance syntaxique de la requête avec les descriptions des services Web) aux méthodes basées sémantique en utilisant les ontologies.

En effet, notre travail consiste à réaliser une application de recherche et de sélection de services Web e-Learning et leur adaptation selon le profil utilisateur et cela à l’aide des ontologies, l’ontologie DAML-S pour la description sémantique des services Web et une ontologie pour décrire le profil utilisateur.

Dans ce chapitre nous allons décrire les objectifs de notre système, les insuffisances de DAML-S pour la description des Web services e-Learning et l’ontologie ajoutée à DAML-S, ensuite nous allons présenter l’architecture du système proposé avec ses différentes fonctionnalités.

2. Les objectifs du système

Notre travail vise à satisfaire un certain nombre d’objectifs pédagogiques en vue de satisfaire un maximum d’utilisateurs en se dotant des interfaces de recherche et affichage des résultats adaptables selon les préférences et les besoins des utilisateurs.

Nous citons parmi ces objectifs :

Notre système permet la publication de nouveaux services Web. Pour cela, il sera doté d’un module permettant au fournisseur (enseignant ou administrateur) à travers une interface interactive, de publier des informations concernant le Web service.

Il met en œuvre une interface de recherche riche offrant diverses options : recherche par mot-clé, recherche multicritère, l’interface de recherche permet aussi d’utiliser le profil utilisateur pour le filtrage et l’adaptation des résultats selon les préférences de l’utilisateur.

Chapitre IV

Conception du système

3. Insuffisance de DAML-S dans le cadre du e-Learning

DAML-S, qui est une ontologie qui nous permet de faire une description sémantique des Web services. Les agents de services e-Learning présentent des exigences sur les aspects technologiques et pédagogiques. Ceci incite les fournisseurs de services Web à les publier en mentionnant ces caractéristiques. Donc, la plupart des aspects des Web services e-Learning, tels que la découverte, la sélection, la composition ou l’invocation sont étroitement liés à ces deux éléments (les aspects technologiques et pédagogiques).

Le standard DAML-S ne fournit pas une description parfaite sur les aspects technologiques et pédagogiques des services Web e-Learning. Afin de prendre en considération ces aspects, en plus des descriptions fonctionnelles, une ontologie a été ajoutée à DAML-S dans le travail de Mlle Boudali 6 . Cette ontologie est nommée ‘ontologie de Qualité de l’Apprentissage’ (QA).et notre projet s’inscrit dans la continuité de ce travail.

3.1. L’ontologie de qualité d’apprentissage (QA)

Une description des plateformes e-Learning selon les caractéristiques pédagogiques, technologiques et financières s’est avérée nécessaire pour le choix de service Web. L’ontologie de qualité d’apprentissage (QA) a été élaborée dans cette fin. Cette ontologie a le schéma suivant :

Est

Qualité d’apprentissage Informations Informations pédagogiques financières Informations techniques Figure 20.
Qualité
d’apprentissage
Informations
Informations
pédagogiques
financières
Informations
techniques
Figure 20. Ontologie de qualité d’apprentissage.

6 Mémoire de magister « Publication et découverte des web services pour le domaine du e-learning », à l’institut national de formation en informatique. 2008.

Chapitre IV

Conception du système

La classe « Qualité d’apprentissage »

C’est la classe principale de l’ontologie, elle est composée de trois classes qui décrivent les services Web.

I.La classe « informations pédagogiques »

Comporte les outils pour la collaboration et la communication entre les différents types d’acteurs de la plateforme, englobe tous les aspects de gestion des ressources pédagogiques, décrit les informations sur les formations réalisées avec le Web service et recouvre toutes les fonctionnalités de gestion pédagogique de formation.

II. La classe « informations techniques »

Englobe toutes les informations techniques sur le Web service tel que la possibilité de changement du système afin qu’il s’adapte aux exigences des utilisateurs, la langue du Web service, son niveau de sécurité. Elle décrit aussi les informations technologiques du Web service (Date de mise à jour, Version, Débit, etc.), les outils soft (système d’exploitation, navigateur et autres logiciels) et matériel exigés et enfin les fonctionnalités de gestion de la plateforme qui sont offertes pour un administrateur technique.

III. Les informations financières

Cette classe recouvre les coûts affectés au financement des formations, de façon directe ou indirecte, dans l’institution, le type et coût de la licence de la plateforme, les recettes et dépenses de formation, et enfin la gestion des contrats et la gestion des paiements.

3.2. Intégration de l’otologie QA avec DAML-S

Le schéma complet de l’ontologie décrivant les Web services e-Learning est illustré dans la figure ci-dessous:

services e-Learning est illustré dans la figure ci-dessous: Service Supporte Presents Communique A pour
Service Supporte Presents Communique A pour ServiceProfile Interopérabilité QA Figure 21. Ontologie des services.
Service
Supporte
Presents
Communique
A pour
ServiceProfile
Interopérabilité
QA
Figure 21. Ontologie des services.

Chapitre IV

Conception du système

L’ontologie comporte l’ontologie de qualité d’apprentissage (QA), une partie de DAML-S avec un autre élément nécessaire dans la description des services qui est l’interopérabilité du service avec d’autres services. Pour DAML-S, seulement la classe « Service » a été exploitée et enrichie par d’autres propriétés et la classe « ServiceProfil », car les autres classes (serviceGrounding et serviceModel) visent à définir les services comme un ensemble de processus.

L’interopérabilité

L’interopérabilité est la capacité d’utiliser, dans une plateforme, des composants d’enseignement développés dans une autre plateforme et la possibilité d’intégration avec des outils externes tel que LDAP 7 . Cette classe décrit les services avec lesquels le service en question peut communiquer. Elle comporte les deux propriétés suivantes :

Service : indique le service avec lequel le service en question peut communiquer, c’est une instance de la classe service.

Description : c’est une brève description qui peut être utilisée pour décrire le type de relation entre les services (les services se complètent, sont équivalent…) ou pour

décrire la configuration entre les deux services,

etc.

4. L’ontologie du profil utilisateur

Le modèle utilisateur proposé est défini comme une ontologie utilisateur générique, comprenant diverses caractéristiques d’un utilisateur, à base de concepts, sous concepts et relations entre les différents concepts. Le profil utilisateur contient des attributs qui aident à l’identifier, les informations concernant son niveau d’éducation, ses compétences, ses domaines de qualification et les dispositifs matériels et logiciels dont dispose l’utilisateur.

7 Lightweight Directory Access Protocol.

Chapitre IV

Conception du système

5. Architecture du système

Notre système est constitué d’un module pour la publication des Web services, un module pour la découverte des services Web, et enfin un module pour le filtrage des résultats trouvés lors de la recherche en utilisant l’ontologie du profil utilisateur. L’architecture du système est illustrée dans le schéma ci-après :

L’architecture du système est illustrée dans le schéma ci-après : Figure 22. Architecture du système. 69

Figure 22. Architecture du système.

Chapitre IV

Conception du système

6. Les Diagrammes UML représentatifs du système

UML (Unified Modeling Language) est une méthode de modélisation orientée objet

développée dans le but de définir la notation standard pour la modélisation des applications

construites à l’aide d’objets. L’objectif principal de notre application est de satisfaire au

mieux les demandes des utilisateurs en termes de recherche et de sélection de services Web,

il faut par conséquent bien comprendre leurs désirs et leurs besoins. Pour ce faire nous avons

utilisé les différents diagrammes UML :

- cas d’utilisations pour exprimer les interactions acteurs/système et

- diagrammes de séquence pour mettre en valeur les échanges de messages

(déclenchant des événements) entre acteurs et objets (ou entre objets et objets) de manière

chronologique et de capturer le comportement de tous les objets et acteurs impliqués dans un

cas d’utilisation.

Système de découverte et sélection de services Inscription des utilisateurs Gestion des utilisateurs « Includes
Système de découverte et sélection de services
Inscription des
utilisateurs
Gestion des
utilisateurs
« Includes »
Publication de services
web
Enseignant
S’authentifie
Administrateur
Recherche de services
web
Gestion du profil
Apprenant

Figure 23. Diagramme des cas d’utilisation.

Chapitre IV

Conception du système

6.1. « inscription des utilisateurs »

1. Description du cas « inscription des utilisateurs »

Objectif : permet l’inscription des nouveaux utilisateurs de la plateforme.

Acteurs : administrateur, enseignant et apprenant.

Pré-conditions :

-L’utilisateur n’existe pas dans le système.

Scénario :

-l’utilisateur remplie un formulaire d’identification (nom, prénom, etc.).

-ensuite il valide les informations introduites.

Post-condition :

- Le nombre d'utilisateurs est incrémenté.

2. Diagramme de séquence d’inscription des utilisateurs

Avant toute utilisation du système, l’utilisateur doit s’inscrire en introduisant ses informations à travers un formulaire.

Utilisateur Identification Web service de la gestion des utilisateurs Afficher message d’accueil Demande
Utilisateur
Identification
Web service de la
gestion des utilisateurs
Afficher message d’accueil
Demande d’inscription
Demande d’inscription
Formulaire à remplir
Formulaire remplie
Ontologie du profil

Ontologie du profil

Mise à jour de l’ontologie
Mise à jour de l’ontologie

Figure 24. Diagramme de séquence d’inscription des utilisateurs. 6.2. « gestion des utilisateurs »

1. Description du cas « gestion des utilisateurs »

Objectif : permet de gérer les utilisateurs de la plateforme.

Chapitre IV

Conception du système

Acteurs : administrateur.

Pré-conditions :

-L’administrateur doit s’identifier en introduisant son identifiant et son mot de passe.

-Le nombre d’essaies de se connecter au système ne doit pas dépasser trois.

Scénario :

-L’administrateur se connecte au système.

-L’administrateur clique sur l’onglet gestion des utilisateurs.

-il peut :- valider un nouvel utilisateur.

- supprimer un ou plusieurs utilisateurs.

Post-condition :

- Le nombre d'utilisateurs est décrémenté ou incrémenté selon le cas.

2.1. Diagramme de séquence de gestion des utilisateurs «validation des utilisateurs»

L’administrateur

consulte

la

liste

des

nouveaux

inscrits

et

valide

ensuite

leur

inscription comme présenté dans le diagramme ci-dessous :

Utilisateur Identification Web service de la gestion des utilisateurs Ontologie du profil Afficher message
Utilisateur
Identification
Web service de la
gestion des utilisateurs
Ontologie du profil
Afficher message d’accueil
Choix de l’option « gestion
des utilisateurs »
Demande d’identification
Identification
Demande d’affichage
des nouveaux inscrits
Demande de la liste
La liste des
nouveaux inscrits
Affichage de la liste
des nouveaux inscrits
Sélection et validation
des nouveaux inscrits
La liste des nouveaux
utilisateurs validée

Figure 25. Diagramme de séquence «validation des utilisateurs».

Chapitre IV

Conception du système

2.2. Diagramme de séquence de gestion des utilisateurs «suppression des utilisateurs»

L’administrateur consulte la liste des utilisateurs et supprime ensuite un ou plusieurs, comme présenté dans
L’administrateur consulte la liste des utilisateurs et supprime ensuite un ou plusieurs,
comme présenté dans le diagramme ci-dessous :
Utilisateur
Identification
Web service de la
gestion des utilisateurs
Ontologie du profil
Afficher message d’accueil
Choix de l’option gestion
des utilisateurs
Demande d’identification
Identification
Demande d’affichage des utilisateurs
Demande la liste des
utilisateurs
La liste des utilisateurs
Affichage de la liste
des utilisateurs
Sélection et suppression d’un ou plusieurs utilisateurs
Ontologie mise à jour
d’un ou plusieurs utilisateurs Ontologie mise à jour Figure 26. Diagramme de séquence de «suppression des

Figure 26. Diagramme de séquence de «suppression des utilisateurs».

6.3. « gestion des profils »

1. Description du cas « gestion des profils »

Objectif : permet de gérer les profils utilisateurs.

Acteurs : administrateur, enseignant et apprenant.

Pré-conditions :

- l’utilisateur doit être inscrit au système.

-l’utilisateur (administrateur, enseignant et apprenant) s’authentifie à travers la page d’accueil, en introduisant son login et mot de passe.

-Le nombre d’essaies de se connecter au système ne doit pas dépasser trois.

Scénario :

-l’utilisateur se connecte au système.

Chapitre IV

Conception du système

-il peut consulter son profil.

-il peut apporter des modifications sur son profil.

-l’administrateur peut consulter et modifier les profils des apprenants et enseignants.

-l’enseignant peut consulter les profils des apprenants.

2.1. Diagramme de séquence de gestion des profils utilisateur «consultation»

L’utilisateur peut consulter les données enregistrées dans son profil. Bien sur l’administrateur peut consulter les
L’utilisateur peut consulter les données enregistrées dans son profil. Bien sur
l’administrateur peut consulter les profils des enseignants et apprenants. L’enseignant a aussi
le droit de voir les profils de ses apprenants pour par exemple des raisons pédagogiques.
Web service de la
Utilisateur
Identification
Ontologie du profil
gestion des utilisateurs
Afficher message d’accueil
Choix de l’option « profil
utilisateur
Demande d’identification
Identification
Demande d’affichage
de profil utilisateur
Demande profil utilisateur
Profil utilisateur
Affichage du profil
utilisateur

Figure 27. Diagramme de séquence de «consultation de profil».

2.2. Diagramme de séquence de gestion du profil utilisateur « modification ».

L’utilisateur peut effectuer des modifications sur les données de son profil, l’enseignant peut éventuellement modifier les profils des apprenants et l’administrateur a aussi le droit d’apporter des changements sur les profils apprenants ou enseignants.

Chapitre IV

Conception du système

Utilisateur Identification Web service de la gestion des utilisateurs Ontologie du profil Afficher message
Utilisateur
Identification
Web service de la
gestion des utilisateurs
Ontologie du profil
Afficher message d’accueil
Choix de l’option « profil
utilisateur
Demande d’identification
Identification
Demande d’affichage
de profil utilisateur
Demande profil utilisateur
Profil utilisateur
Affichage du profil
utilisateur
Modification du
profil utilisateur
Profil utilisateur

Figure 28. Diagramme de séquence « modification du profil ». 6.4. « recherche des services Web » 1. Description du cas « recherche des services Web »

Objectif :

utilisateurs.

assurer

la

recherche

des

services

Web

qui

répondent

aux

besoins

Acteurs : administrateur, enseignant et apprenant.

Pré-conditions :

- l’utilisateur doit être inscrit au système.

des

-l’utilisateur (administrateur, enseignant et apprenant) s’authentifie à travers la page d’accueil, en introduisant son login et mot de passe.

-Le nombre d’essaies de se connecter au système ne doit pas dépasser trois.

Scénario :

-l’utilisateur se connecte au système.

-il introduit sa requête.

- L’utilisateur choisit les critères selon lesquels il voudrait effectuer sa recherche.

- il peut choisir d’utiliser son profil pendant la recherche ou non.

Chapitre IV

Conception du système

-s’il décide d’utiliser son profil pendant la recherche les résultats seront filtrés.

- Les services trouvés sont affichés avec une petite description.

2. Diagramme de séquence de découverte des services Web.

Les utilisateurs peuvent trouver des services Web selon leurs besoins en interrogeant

l’ontologie DAML-S et la QA ainsi que l’annuaire UDDI en introduisant une requête et/ou

des critères de recherche. L’utilisateur peut choisir d’utiliser son profil pendant la recherche.

Utilisateur Identification Traitement requête Ontologie profil Filtrage Ontologie QA+DAML-S Afficher le message
Utilisateur
Identification
Traitement requête
Ontologie profil
Filtrage
Ontologie QA+DAML-S
Afficher le message d’accueil
Demande d’identification
Identification
Demande de l’option
« recherche SW »
Traitement
requête
Requête utilisateur
Requête traitée
Critères de recherche
Résultats trouvés
Ou
Résultats trouvés
Consulter
Préférences
Résultats filtrés

Figure 29. 1Diagramme de séquence de découverte des services Web. 6.5. « publication des services Web »

1. Description du cas « publication des services Web »

Objectif : publier des services.

Acteurs : administrateur, enseignant.

Pré-conditions

- l’utilisateur doit être inscrit au système.

-l’utilisateur (administrateur, enseignant) s’authentifie à travers la page d’accueil, en introduisant son login et mot de passe.

-Le nombre d’essaies de se connecter au système ne doit pas dépasser trois.

76

Chapitre IV

Conception du système

Scénario :

- L’utilisateur introduit les informations nécessaires sur le service à publier (le nom, l’URL, description, informations pédagogiques, coût, etc.).

-l’utilisateur valide les informations introduites.

2. Diagramme de séquence de publication de services Web

Un fournisseur de service qui est soit enseignant ou administrateur a le droit de publier

ses services Web en donnant des informations concernant ces services , ces descriptions

contiennent des descriptions WSDL qui seront déposées au niveau de l’annuaire UDDI et des

descriptions sémantiques au niveau de l’ontologie DAML-s et QA.

Fournisseur
Fournisseur
Identification Description WS UDDI Afficher message d’accueil Demande de l’option « publier SW » Demande
Identification
Description WS
UDDI
Afficher message d’accueil
Demande de l’option
« publier SW »
Demande d’identification
Identification
Informations sur
le service
Description WSDL
Ontologie QA+DAML-S

Ontologie QA+DAML-S

Ontologie QA+DAML-S
Ontologie QA+DAML-S

Description sémantique

Identification Informations sur le service Description WSDL Ontologie QA+DAML-S Description sémantique

Figure 30. Diagramme de séquence de publication de services Web. Exemple de publication d’un service Web

Citons par exemple la publication d’un cours d’organisation rédigé par l’enseignant Abdesemmad Reda Ghomari, les étapes se déroulent ainsi :

L’enseignant se connecte au système et demande le volet de publication, le système lui demande de s’identifier s’il n’est pas déjà inscrit le système lui fournit un formulaire d’inscription, sinon il introduit son login et mot de passe.

Ensuite il procède à la publication en introduisant les informations suivantes :

Titre : recommandations pour réussir l’écrit et l’exposé oral.

Sujet : organisation

Langue : français

Chap