Finalement, il pr´esente des travaux ant´erieurs, il s’agit de l’interface SQI dont l’Adaptateur a besoin pour communiquer avec d’autres posants, et du langage de d´efinition des services
Trang 1M´ emoire de fin d’´ etudes
Acc`es aux contenus du syst`eme iClass grˆ ace
Trang 2De nos jours, la Technologie de l’Information et de la Communication prend partefficacement `a la formation Plusieurs syst`emes d’apprentissage sont d´evelopp´es afin
de fournir aux ´el`eves la possibilit´e d’acc´eder `a des cours facilement Cependant, enEurope, des statistiques montrent que l’on a besoin d’augmenter l’efficacit´e et l’effetd’apprentissage et d’enseignement C’est particuli`erement ´evident quand on analyseplusieurs indications de la performance de l’´ecole, le taux d’abandon par exemple
Le projet “Intelligent distributed Cognitive-based LeArning System for School”
(iClass), financ´e par la commission europ´eenne, vise `a d´evelopper un syst`eme prentissage avanc´e Il a pour but de r´esoudre le probl`eme pos´e et de pr´eparer unenvironnement pour les g´en´erations prochaines, o`u les comp´etences acquises doiventˆ
d’ap-etre mises `a jour en permanence pour r´eagir `a l’´evolution de la soci´et´e
L’Adaptateur est un composant du syst`eme iClass Il permet l’interop´erabilit´e entre
le syst`eme iClass et d’autres syst`emes d’apprentissage Ce m´emoire de fin d’´etudespr´esente le d´eveloppement de cet Adaptateur Il aborde des ´etudes pr´ealables concer-nant l’Adaptateur, des technologies utilis´ees, des propositions de la gestion num´eriquedes droits d’auteur, et la mise en application de l’Adaptateur
ii
Trang 3Nowadays, the Communication and Information Technology takes part to the tion effectively Many systems of training are developed in order to provide to the pupilthe possibility of reaching courses easily However, in Europe, some statistics show thatone needs to increase the effectiveness and the effect of the training and teaching It isparticularly obvious when one analyzes several indications of the performance of theschool, the rate of abandonment for example.
forma-The “Intelligent distributed Cognitive-based LeArning System for School” (iClass)
project, financed by the European Commission, aims at developing an advanced ning system The purpose of the project is to solve the problem and to prepare anenvironment for the next generations, where acquired competences must be updatedpermanently reflecting the evolution of the society
lear-The Adapter is a component of the iClass system It allows the interoperabilitybetween the iClass system and another learning systems This thesis presents the de-velopment of the Adapter It shows preliminary studies concerning the Adapter, thetechnologies used, the proposals of the Digital Rights Management, and the imple-mentation of the Adapter
iii
Trang 4Je tiens avant tout `a remercier David Massart, mon responsable de stage et “SeniorSoftware Architect” `a European Schoolnet Sans lui, mon stage n’existerait pas Sesconseils pertinents et son ouverture d’esprit m’ont permit d’achever ce travail.
Je tiens `a remercier Ulf W Lundin, le Directeur d’European Schoolnet, qui m’aaccord´e une bourse de stage, et m’a ´egalement encourag´e pendant mon s´ejour de 6mois `a European Schoolnet
Le travail est r´ealis´e dans le cadre du projet iClass, un projet des collaborations deplusieurs soci´et´es informatiques, p.ex., Siemens, Sun Microsystems, Microsoft, Intel,Infogate Je voudrais remercier mes coll`egues, particuli`erement Jean-Noel Colin, IgorBlyuss, Oven Colan, Ilhami Gorgun, Eric Meyvis, Ali Turkey Non seulement ils m’ontcollabor´e pour l’objectif du projet, mais ils m’ont apport´e ´egalement la chance deperfectionner mon anglais et mon fran¸cais
Je voudrais remercier mes amis `a European Schoolnet (Quentin Tr´em´erie, ChhuoyBun Chheang, Brigitte Parry, Mourad Etbaz, Sylvia Hartinger, Yong Chui Hsia, SophieVandeputte) Pendant mon stage, j’ai re¸cu leurs aides et leurs encouragements
Je voudrais ´egalement remercier mes parents, ma copine, mes soeurs, mon fr`ere quim’ont encourag´e quand j’´etais loin de la maison
Merci `a tout !
iv
Trang 5SAC Service d’Acc`es aux Contenus
CGP Conducteur-G´en´erateur-Pr´esentateur
EUN European Schoolnet
IST Information Society Technologies
SQI Simple Query Interface
XML Extensible Mark-up Language
WSDL Web Services Definition Language
SOAP Simple Object Access Protocol
UDDI Universal Description, Discovery and IntegrationCORBA Common Object Request Broker ArchitectureODRL Open Digital Rights Language
SAML Security Assertion Markup Language
SCORM Sharable Courseware Object Reference ModelJAX-RPC Java API for XML-based Remote Procedure CallJAXB Java Architecture for XML Binding
JWSDP Java Web Services Developer Pack
UML Unified Modeling Language
API Application Programming Interface
LCMS Learning Content Management System
LMS Learning Management System
LO Learning Object
LOM Learning Object Model
v
Trang 6R´ esum´ e ii
1.1 Introduction g´en´erale 1
1.2 Probl´ematique 2
1.3 Objectifs 2
1.4 Structure du rapport 3
2 Travaux concern´ es 4 2.1 Adaptateur dans le contexte de projet iClass 4
2.1.1 Introduction du projet iClass 4
2.1.2 Adaptateur dans le contexte de projet iClass 7
2.2 Travaux ant´erieurs 9
2.2.1 Interface SQI 9
2.2.2 Langage de d´efinition de services Web WSDL 11
2.2.3 Sp´ecification de SQI avec WSDL 17
2.3 Sommaire du chapitre 22
vi
Trang 73.1 Sc´enarios d’acc`es aux contenus 23
3.2 M´ecanisme de gestion num´erique des droits et d’authentification 26
3.2.1 Expression de l’accord 27
3.2.2 Protocole de n´egociation et v´erification des droits et d’authen-tification 28
3.3 Formats des donn´ees 31
3.3.1 Requˆete des m´etadonn´ees 31
3.3.2 Format des r´esultats 32
3.3.3 Requˆete de l’accord 34
3.4 Mise en application de l’Adaptateur 35
3.4.1 Environnement de d´eveloppement et de d´eploiement 35
3.4.2 Conception et impl´ementation de l’Adaptateur 36
3.4.3 Test 38
3.5 Sommaire du chapitre 38
4 Evaluation et Conclusion 39 4.1 R´esultats du travail et Evaluation 39
4.2 Conclusion 40
A Connaissances techniques de base 42 A.1 Java Architecture for XML Binding 42
A.2 Java API for XML-based RPC (JAX-RPC) 43
B Interfaces graphique de l’Adaptateur 44 B.1 Introduction 44
B.2 Interfaces de configuration 46
B.3 Interfaces d’administration 47
C Conception de l’Adaptateur 49 C.1 Introduction 49
Trang 8C.2 Conception d´etaill´ee 50
D.1 Fonctionnalit´es de l’outil 55
D.2 Cas de test 56
Trang 92.1 Environnement de collaboration du syst`eme iClass 5
2.2 Architecture du syst`eme iClass 6
2.3 Diagramme des composants qui interagissent avec l’Adaptateur 8
2.4 Diagramme de classe de la “Simple Query Interface” 10
2.5 Sp´ecification graphique de l’exemple de WSDL 17
2.6 Sp´ecification de SQI avec WSDL 18
3.1 Diagramme d’activit´e pour obtenir un objet d’apprentissage 24
3.2 Recherche des m´etadonn´ees et r´esolution le location d’un objet d’ap-prentissage 25
3.3 Un exemple d’expression des droits 27
3.4 Exemple de jeton de s´ecurit´e SAML 29
3.5 Format de l’accord 30
3.6 Protocole de gestion num´erique des droits et d’authentification 30
B.1 Page de maison de l’Adaptateur 45
B.2 Configuration param`etres de SAC 46
B.3 Configuration des param`etres du Conducteur et du Service de S´ecurit´e 47 B.4 Interface d’administration de l’Adaptateur 48
C.1 Diagramme des paquetages 51
D.1 Cr´eation de session 56
ix
Trang 10D.2 Recherche des m´etadonn´ees 57
D.3 R´esultats des m´etadonn´ees 58
D.4 R´ecup´eration de jeton de s´ecurit´e 59
D.5 Jeton de s´ecurit´e 60
Trang 112.1 Sp´ecification de SQI avec WSDL - Gestion de session 18
2.2 Sp´ecification de SQI avec WSDL - M´ethodes de la destination 20
3.1 Environnement de d´eveloppement et de d´eploiement de l’Adaptateur 36 3.2 Liste des fonctionnalit´es de l’Adaptateur 37
C.1 Liste des classes du paquetage “adapter” 52
C.2 Liste des classes du paquetage “sessionmanagement” 53
C.3 Liste des classes du paquetage “sqi” 53
C.4 Liste des classes du paquetage “timeoutmanagement” 53
C.5 Liste des classes du paquetage “tokenmanagement” 54
C.6 Liste des classes du paquetage “translation” 54
C.7 Liste des classes du paquetage “utils” 54
xi
Trang 121.1 Introduction g´ en´ erale
Dans le programme de la formation `a l’Institut de la Francophonie pour l’Informatique,l’´etudiant a l’occasion d’effectuer un stage de fin d’´etudes Il s’agit d’un stage dans
un environnement informatique francophone de type d´eveloppement ou recherche qui
a pour but de pr´eparer l’´etudiant `a la vie professionnelle, soit comme ing´enieur, soitcomme chercheur
Mon stage s’est d´eroul´e `a European Schoolnet (EUN)1, 61 rue de Tr`eves, 1040Bruxelles, Belgique C’est une organisation de plus de 26 minist`eres de l’´education
en Europe Son objectif est de d´evelopper des plates-formes d’apprentissage pour leslyc´ees, les enseignants et les apprenants en Europe Mon stage concerne `a un grandprojet dans le domaine e-learning dont l’European Schoolnet est un partenaire J’aiachev´e bien mon travail sous la direction du Dr David Massart2
J’´etais motiv´e par ce th`eme de stage car j’ai des exp´eriences et connaissancesdans le domaine e-learning comme j’ai fait des recherches sur les m´ethodologies et lesnormes employ´ees pour la formation `a distance lors de la r´ealisation de mon TIPE(Travail d’Int´erˆet Personnel Encadr´e) `a l’IFI En plus, je m’int´eresse vivement auxquestions d’interop´erabilit´e entre syst`emes d’apprentissage et `a la construction desnormes D’ailleurs, je voulais participer `a un projet international `a l’´etranger pourprofiter de l’environnement de travail et perfectionner mes comp´etences linguistiques
1Pour vous informer vite, visitez le site Web : http://www.europeanschoolnet.org
2Dr David Massart travaille en tant que “Senior Software Architect” `a l’EUN Son travail concerne
`
a l’architecture, l’interop´ erabilit´ e et aux standards pour les applications d’e-learning r´ eparties
1
Trang 13a jour en permanence, en r´eagissant `a l’´evolution de la soci´et´e
Traditionnellement, l’utilisation de la TIC (Technologie de l’Information et de laCommunication) pour l’apprentissage se concentre sur l’approche “s’entraˆıner et pra-tiquer” (c.-`a-d., l’apprenant s’entraˆıne puis pratique sur un th`eme donn´e) On n’arrivepas `a int´egrer la TIC dans l’enseignement/apprentissage en prenant en compte le pro-
fil de chaque ´etudiant et sa capacit´e `a d´efinir enfin un mod`ele d’apprentissage qui luiconvient
Le projet “Intelligent distributed Cognitive-based LeArning System for School
(iClass)” , financ´e par la commission europ´eenne, a pour but de contribuer `a lar´ealisation d’un d´ecalage :“rendre la Technologie de l’Information et de la Communica-tion davantage qu’un outil simple” Le projet vise `a d´evelopper un syst`eme d’appren-tissage `a base d’ontologies pour s´equencer les connaissances et les adapter au niveau
de compr´ehension de l’´el`eve et au style d’apprentissage qui lui convient le mieux encr´eant dynamiquement des objets d’apprentissage
Un syst`eme iClass sert non seulement ses utilisateurs, il doit pouvoir interop´ereravec des syst`emes d’apprentissage existants, par exemple les syst`emes qui sont membres
de la f´ed´eration Celebrate [20, 17] ; permettre `a ces syst`emes d’acc´eder `a ses ressourcesd’apprentissage enrichissant par des riches m´edias Le composant “iClass Adapter”(dans notre contexte, nous l’appelons d´esormais Adaptateur) vise `a r´epondre `a ceprobl`eme
Trang 14proposer un m´ecanisme de gestion num´erique des droits3 et d’authentification Enfin,tous ces aspects seront joints ensemble dans la mise en application de l’Adaptateur.
1.4 Structure du rapport
La suite du rapport est structur´ee comme suit : Chapitre 2 aborde l’introduction
du projet iClass, l’architecture de l’Adaptateur et les besoins concernant teur Il pr´esente ´egalement l’interface SQI et la technique de base utilis´es dans led´eveloppement de l’Adapter ; Chapitre 3, M´ethodes et Solutions, parle de solutionspour les sc´enarios d’acc`es aux contenus ainsi que la gestion num´erique des droits etl’authentification, et ´egalement de la mise en application de l’Adaptateur ; Finalement,Chapitre 4 donne l’´evaluation des r´esultats obtenus et la conclusion du rapport
l’Adapta-3Mots d’origine en anglais : Digital Rights Management
Trang 15Travaux concern´ es
Ce chapitre introduit le projet iClass et son architecture Puis, il aborde l’Adaptateur,c’est l’objectif du stage, et autres composants qui interagissent avec l’Adaptateur dans
le contexte du projet iClass Finalement, il pr´esente des travaux ant´erieurs, il s’agit
de l’interface SQI dont l’Adaptateur a besoin pour communiquer avec d’autres posants, et du langage de d´efinition des services Web (WSDL) qui est utilis´e poursp´ecifier l’interface SQI dans la mise en application de l’Adaptateur
com-2.1 Adaptateur dans le contexte de projet iClass
iClass est un projet de 54 mois (depuis janvier 2004), 11 millions d’euros nant du programme IST (Information Society Technologies) de la commission eu-rop´eenne et 22 partenaires dans 11 pays (minist`eres, universit´es, ´editeurs de contenu
prove-et fournisseurs des technologies, p.ex., Microsoft, Sun Microsystems, Intel, Infogateetc.)(http://www.iclass.info) Le projet vise `a d´evelopper un syst`eme d’apprentis-sage `a base d’ontologies pour s´equencer les connaissances et les adapter au niveau decompr´ehension de l’´el`eve et au style d’apprentissage qui lui convient le mieux en cr´eantdynamiquement des objets d’apprentissage La Figure 2.1 illustre l’environnement decollaboration du syst`eme iClass, y compris les apprenants, les enseignants, les parentsdes apprenants, les minist`eres d’´education, les fournisseurs de contenu, etc et leurscollaborations orient´ees-apprenant
Le projet iClass prend en compte non seulement l’apprenant et l’enseignant,ce
4
Trang 16Fig 2.1 – Environnement de collaboration du syst`eme iClass
sont les personnes qui font part directement dans un syst`eme d’apprentissage Il fournit
´
egalement des possibilit´es qui permettent aux parents, et aux minist`eres de l’´education
de suivre les ´el`eves et d’analyser les r´esultats de l’enseignement en temps r´eel (voyez
la Figure 2.1)
L’objectif du projet cherche d’une part `a formuler une nouvelle approche p´edagogiquequi exploite la capacit´e de la TIC de permettre une approche flexible et bas´ee sur ap-prenant, en prenant en compte les styles d’apprentissage, les comp´etences personnelles
et le comportement d’´etude de l’apprenant D’autre part, on va d´evelopper des outilsTIC permettant cette nouvelle approche de l’enseignement et la mettant en valeur
Ceci sera r´ealis´e en cr´eant :
– un syst`eme d’apprentissage avanc´e, fond´e sur une architecture `a base gies ;
d’ontolo-– un environnement distribu´e et de collaboration avec les participants principaux
du processus de la formation (p.ex., les parents, les professeurs, les apprenants,les minist`eres) ;
– une architecture ouverte et capable de garantir un degr´e ad´equat d’interop´erabilit´eavec les syst`emes et les outils d’apprentissage existants et de favoriser l’´evolutiondes normes existantes concernant des objets d’apprentissage
Trang 17Fig 2.2 – Architecture du syst`eme iClass
Ce syst`eme doit prendre en compte la gestion de distribution de contenus et desdroits d’acc`es aux objets d’apprentissage adaptatifs Ceci permet de prot´eger les droitsd’auteur des fournisseurs des contenus Cette question est discut´ee en d´etail `a la sec-tion 3.2.2
Afin d’atteindre l’objectif du projet, une architecture distribu´ee et ouverte estexig´ee La Figure 2.2 pr´esente une telle architecture : l’architecture du syst`eme iClass.Elle se compose des ´el´ements suivants (illustr´es `a la Figure 2.2) Notons le grandnombre de composants, donc vous pouvez passer rapidement les descriptions quisuivent
– Architecture de r´eseaux C’est l’infrastructure TCP/IP et le protocole HTTP.– Service de base de donn´ees contenant les bases de donn´ees de profils des appre-nants, de donn´ees (r´esultats) interm´ediaires de d´emarche d’un apprenant durantses ´etudes (qui sert `a g´en´erer un chemin d’apprentissage qui lui convient le mieux)etc
– Service de messagerie (SOAP, XML-RPC) Il fournit une plate-forme de gerie pour ´echanger les messages de SOAP/HTTP
messa-– R´eseau pair-`a-pair des d´epˆots des objets d’apprentissage C’est un r´eseau
Trang 18a-pair des noeuds (chaque noeud correspond `a un d´epˆot des objets sage), il a pour but d’´equilibrer la charge des demandes et ´egalement d’augmenter
d’apprentis-la capacit´e de stockage
– Service d’Acc`es aux Contenus C’est un service qui nous permet de g´erer(d’ajouter,
de mettre `a jour, de supprimer) les m´etadonn´ees des objets d’apprentissage et
de chercher des m´etadonn´ees
– Service de distribution des contenus Son rˆole consiste `a localiser et distribuerdes objets d’apprentissage
– Service de S´ecurit´e et de gestion num´erique des droits
– Composant de gestion de profil des utilisateurs
– S´electeur Grˆace aux r´esultats obtenus par un apprenant, ce composant nique avec le G´en´erateur de LO (Learning Object) pour cr´eer dynamiquementdes contenus adapt´es `a l’apprenant
commu-– Conducteur Ce composant contrˆole tous les acc`es au syst`eme iClass, y compris
le suivi des apprenants
– G´en´erateur de LO Ce composant coop`ere avec le service de distribution descontenus et le S´electeur pour g´en´erer de fa¸con dynamique des objets d’appren-tissage
– Service de Portail Un syst`eme Web qui fournit des interfaces pour les teurs, y compris un Pr´esentateur qui a pour but de consommer un objet d’ap-prentissage
utilisa-– Interfaces client Ce sont des interfaces graphiques sur les navigateurs des sateurs, sp´ecifi´ees pour chaque groupe d’utilisateurs
utili-– Autres syst`emes (syst`emes de 3`eme partie) ou syst`emes existants qui voudraientacc´eder aux contenus de riches m´edias du syst`eme iClass
– Adaptateur C’est le pont liant le syst`eme iClass aux autres syst`emes qui existentd´ej`a La conception de l’Adaptateur est le but de ce rapport
L’Adaptateur est un composant du syst`eme iClass [8] Il permet aux utilisateurs dessyst`emes existants1, comme les syst`emes de num´eriques de travail e et les syst`emes degestion de contenu d’apprentissage qui sont membres de la f´ed´eration Celebrate [20, 17],
de rechercher et d’utiliser les contenus du syst`eme iClass
1Dans le contexte de projet iClass, “syst`eme existant” se rapporte `a n’importe quel syst`eme
non-iClass qui existe d´ ej` a
Trang 19Fig 2.3 – Diagramme des composants qui interagissent avec l’Adaptateur
Les composants du syst`eme iClass interagissant avec l’Adaptateur sont indiqu´essur la Figure 2.3 Pour ex´ecuter une recherche des m´etadonn´ees, le syst`eme existantcommunique avec l’Adaptateur via la “Simple Query Interface” (pr´esent´e dans la sec-tion 2.2.1) Pour mette en jeu un objet d’apprentissage `a distance, Il connecte auConducteur-G´en´erateur-Pr´esentateur Afin de servir des requˆetes du syst`eme existant,l’Adaptateur interagit avec deux ´el´ements du syst`eme iClass : le Service d’Acc`es auxContenus (SAC) et le Service de S´ecurit´e Le Conducteur-G´en´erateur-Pr´esentateurcommunique avec l’Adaptateur et le SAC en employant leurs interfaces respectivespour ´echanger des jetons de s´ecurit´e (sous-section 3.2.1)
Le SAC est le point d’entr´ee d’un r´eseau pair-`a-pair de d´epˆots d’objets tissage [2] Il propage chaque requˆete re¸cue de noeud `a noeud Chaque noeud traite larequˆete et renvoie les r´esultats au SAC qui va les exp´edier de fa¸con asynchrone `a lasource de la requˆete, l’Adaptateur
d’appren-Le Conducteur-G´en´erateur-Pr´esentateur repr´esente le Conducteur, le G´en´erateur
et le Pr´esentateur du syst`eme iClass Le Pr´esentateur est une interface Web dont lesobjets peuvent ˆetre consomm´es Le G´en´erateur est un service qui cr´ee dynamiquementdes objets d’apprentissage depuis des d´epˆots d’objets d’apprentissage pour un casd’´etude sp´ecifique Le Conducteur a pour but de contrˆoler tous les acc`es au syst`emeiClass Ces trois composants sont group´es pour simplifier notre mod`ele Ils r´esolvent
la demande de jouer un objet d’apprentissage du syst`eme existant
Le Service de S´ecurit´e et de gestion num´erique des droits est un service Web quiproduit des jetons de s´ecurit´e (utilis´es pour authentifier les syst`emes externes) pour lessyst`emes existants lors qu’ils acc`edent au syst`eme iClass Ce service fournit ´egalementdes accords d’utilisation des objets d’apprentissage
Trang 20L’Adaptateur a pour but de fournir aux syst`emes d’apprentissage existants desacc`es au syst`eme iClass La mise en oeuvre de l’Adaptateur consiste en quatre modulessuivants :
– Gestion des connections (gestions des sessions de communication) avec les syst`emesexistants ;
– Gestion des jetons de s´ecurit´e ;
– Partie principale : recherche des m´etadonn´ees, adaptation des r´esultats et ment de l’objet d’apprentissage ;
lance-– Configuration et administration de l’Adaptateur
2.2 Travaux ant´ erieurs
Pour que les composants du syst`eme iClass et y compris l’Adaptateur soient terop´erables, une interface commune est n´ecessaire Parmi les interfaces d’interrogationexistantes 2, l’interface SQI (Simple Query Interface) est une bonne candidate grˆace
in-`
a sa simplicit´e et sa capacit´e `a fonctionner en mode asynchrone (partie 2.2.1) dont
le syst`eme ayant de r´eseau pair-`a-pair des d´epˆots comme iClass a besoin Cet sectionpr´esente l’interface SQI, un aper¸cu des services Web et le langage de sp´ecificationWSDL qui est utilis´e pour d´efinir SQI de fa¸con partageable Finalement, elle aborde
la sp´ecification de SQI avec WSDL Ce sont des ´el´ements importants dans la mise enoeuvre de l’Adaptateur
L’interface SQI (Simple Query Inteface)[16] est une interface de programmation (API)qui sert `a interroger les m´etadonn´ees des objets d’apprentissage contenus dans desd´epˆots des objets d’apprentissage h´et´erog`enes Ses caract´eristiques principales sont :
– simplicit´e et facilit´e d’impl´ementation
– neutralit´e en terme de langage d’interrogation et de format des r´esultats, et– capacit´e `a fonctionner en mode synchrone et asynchrone
Etant donn´e deux d´epˆots qui partagent au moins un langage d’interrogation et
un format des m´etadonn´ees commun, les phases suivantes sont n´ecessaires pour qu’un
2p.ex., la “IMS Digital Repository Interoperability (DRI) Specification” [4], la “Simple Query
Interface” [16], la “Zing Search/Retrieve Web Service” (SRW) [22], ou la “Open Knowledge Initiative (OKI) Open Service Definition Interface (OSID)” [13].
Trang 21d´epˆot (nomm´e “source de la requˆete”) puisse interroger un autre d´epˆot (nomm´e tination de la requˆete”) en utilisant SQI :
“des-– la source s´electionne un langage d’interrogation support´e par la destination(p.ex.,XQUERY) Nous pouvons oublier cette phase si le langage d’interrogation estd´ej`a propos´e par la destination,
– la source s´electionne un format de r´esultat disponible du cot´e de la tion(p.ex., le ”IEEE Learning Object Metadata” Cette phase peut ˆetre ´egalementomise si le format est propos´e par la destination,
destina-– la source envoie une requˆete dans le langage s´electionn´e,
– en fonction du mode de requˆete s´electionn´e, la destination fourni des r´esultatsdans le format s´electionn´e soit comme valeur retourn´ee (mode synchrone), soitpar un appel `a un m´ethode (results listener) impl´ement´ee par la source (modeasynchrone) Ce dernier mode est plus robuste Il permet `a SQI d’ˆetre utilis´eecomme interface des recherches f´ed´er´ees sans qu’il ne soit pas n´ecessaire d’at-tendre les derniers r´esultats avant de retourner les premiers r´esultats
Fig 2.4 – Diagramme de classe de la “Simple Query Interface”
Le diagramme de classe 2.4 d´ecrit les m´ethodes de SQI Il y a treize m´ethodes group´ees en quatre cat´egories : gestion des sessions, gestion des param`etres de requˆete,requˆete en mode synchrone, requˆete en mode asynchrone
re-Actuellement, les m´ethodes de gestion des sessions ne font pas partie de la sp´ecification
de SQI et peuvent ˆetre remplac´ees par tout autre m´ecanisme de gestion des sessions quiserait consid´er´e plus appropri´e Les m´ethodes courantes permettent d’ouvrir une ses-
sion anonyme (createAnonymousSession) ou authentifi´ ee (createSession) et de clˆoturer
(destroySession ) une session avec un d´epˆot cible
Trang 22Les m´ethodes de gestion des param`etres de requˆete nous permettent de configurerles param`etres de requˆete tels que le langage d’interrogation (setQueryLanguage), le
format des r´esultats (setResultsFormat ), le nombre maximum des r´esultats retourn´es
(des setMaxQueryResults ), et la dur´ee d’une requˆete (setMaxDuration ).
En mode synchrone, les r´esultats d’une requˆete sont retourn´es comme le r´esultat
d’un appel (synchronousQuery ) Des m´ethodes additionnelles permettent de choisir
le nombre des r´esultats retourn´es par un appel (setResultsSetSize), et savoir le nombre
des r´esultats d’une requˆete (getTotalResultsCount ).
En mode asynchrone, les r´esultats d’une requˆete sont envoy´es par la destination `a
la source de la requˆete en appelant une m´ethode impl´ement´ee par la source
(query-ResultsListener) Ceci implique que la source doit indiquer la location de la m´ethode
rapporter moyen d’une exception(SQIFault) qui conforte un code d’erreur pr´ed´efini3
et un message en texte libre
En pratique, l’interface SQI est impl´ement´ee dans tous les deux cˆot´es gation : la source et la destination La destination doit impl´ementer les m´ethodes degestion de session, les m´ethodes de gestion des param`etres, les m´ethodes du mode derequˆete synchrone, et la m´ethode asynchronousQuery La source d’interrogation doit
d’interro-impl´ementer la m´ethode queryResultsListener pour que la destination puisse retourner
des r´esultats si l’on applique le mode asynchrone
WSDL est l’acronyme de “Web Services Definition Language”, c’est un standard desp´ecification utilis´e pour d´ecrire les interfaces des services Web (Web Services) Cettesection pr´esente un aper¸cu des services Web ainsi que le WSDL Puis, elle parle de lasp´ecification de SQI en WSDL
3Les codes d’erreur font partie de la sp´ecification de SQI.
Trang 23Aper¸ cu de services Web
Aujourd’hui, les entreprises comptent sur des milliers de diff´erentes applications delogiciel chacune avec leur propre rˆole en faisant des affaires Pour appeler juste quelquesunes, les applications de base de donn´ees stockent des informations de clients et desinventaires, les applications Web permettent `a des clients de passer en revue et acheterdes produits en ligne, et les applications suivant les ventes identifient des tendances
et prennent des d´ecisions `a l’avenir Ces applications fonctionnent normalement sur
de diff´erents plateformes et syst`emes d’exploitation, et ´egalement elles sont mises enapplication dans diff´erents langages de programmation En cons´equence, il est tr`esdifficile que les diff´erentes applications de communiquer entre eux et partagent leursressources d’une mani`ere coordonn´ee
Pour r´esoudre le probl`eme de communication d’application-`a-application Les treprises ont besoin d’une mani`ere normalis´ee pour les applications de communiquerentre eux via des r´eseaux, n’importe comment ces applications ont ´et´e d´evelopp´ees.Les services Web fournissent exactement cette solution en fournissant une m´ethodenormalis´ee de communication entre les applications de logiciel Elle permet les ap-plications d’exposer leurs ressources au monde ext´erieur de sorte que n’importe quelutilisateur puisse dessiner sur les ressources de l’application Les services Web adh`erentaux normes de communication suivantes :
en-1 un service Web d´ecrit publiquement sa propre fonctionnalit´e par un dossier deWSDL
2 un service Web communique avec d’autres applications par l’interm´ediaire desmessages de XML, normalement ce sont des messages de SOAP
3 un service Web emploie un protocole de r´eseau standard tel que le HTTP
Dans la partie suivante, on parle de WSDL, un ´el´ement important dans la mise
en application de l’Adaptateur, et de l’impl´ementation de SQI avec WSDL XML etSOAP sont omit car il existe ´enorm´ement de documents concernant ces standards
Trang 24En clair, WSDL d´efinit, de mani`ere abstraite et ind´ependante du langage de grammation, l’ensemble des op´erations et des messages qui peuvent ˆetre transmis vers
pro-et depuis un service web donn´e Le WSDL d´ecrit quatre ensembles des donn´ees portants :
im-– information de type de donn´ee pour toutes les requˆetes de message et requˆetes
de r´eponse,
– information d’interface d´ecrivant toutes les fonctions disponibles publiquement,– information de liaison sur le protocole de transport utilis´e,
– information d’adresse pour localiser le service sp´ecifi´e
Une fois qu’un Web Services est d´evelopp´e, il faut publier sa description et faire unlien vers elle dans un catalogue UDDI (Universal Description, Discovery and Integra-tion), de sorte que les utilisateurs potentiels peuvent le trouver Quand un utilisateurssouhaite utiliser le service, il fait une demande de son fichier WSDL afin de connaˆıtreson emplacement, les appels de fonctions et comment y acc´eder A partir de cela, ilpeut composer, par exemple, une requˆete SOAP (Simple Object Access Protocol) versl’ordinateur du service Tout ce parcours peut ´evidemment ˆetre automatis´e `a l’aided’outils reconnaissant WSDL, et permet ainsi d’int´egrer de nouveaux services prati-quement sans devoir entrer de nouveau code [1]
WSDL est donc con¸cu pour ˆetre la pierre d’angle de l’´edifice Web Services, avec
un langage commun pour d´ecrire les services et une plateforme pour int´egrer tiquement ces services
automa-L’exemple suivant figure un service Web qui a pour but de connaˆıtre le nombred’´etudiants dans une promotion (`a l’IFI par exemple) Ce service a une m´ethode uniqueappel´ee getNombreEtudiant qui prend un param` etre de type “string” (nomClasse)
et retourne le nombre d’´etudiant dans la classe correspondant au param`etre Cettem´ethode est d´eploy´ee en utilisant le protocole SOAP 1.1 sur HTTP
Exemple de sp´ ecification de WSDL : S´emantiquement, l’interface de ce serviceest d´efinie tout simplement comme suivant :
interface
{
service EtudiantService
{
op´eration getNombreEtudiant(entr´ee nomClasse: string)
retour NombreEtudiant: integer;
Trang 25}
En utilisant WSDL, nous avons donc quatre ensembles principaux pr´esent´es sous
forme de XML comme suivant :
– Type de donn´ees et de messages Ils sont sp´ecifi´es dans les ´el´ements “types et
Trang 26Description compl` ete du service avec WSDL :
<?xml version="1.0" encoding="UTF-8"?> <definitions
Trang 27<! Sp´ecification de la Porte sous SOAP 1.1 >
<binding name="EtudiantServiceBinding" type="tns:EtudiantServicePortType">
Trang 28Ce document WSDL est repr´esent´e de mani`ere graphique sur la Figure 2.5 Il y a
quatre ´el´ements : Services identifient nom du service, son adresses et le regroupement
des interfaces ; Binding sp´ ecifie la liaison sur le protocole de transport ; PortTypes
d´ecrient les interfaces du service ; Messages contient les formats de messages utilis´es
par le service
Fig 2.5 – Sp´ecification graphique de l’exemple de WSDL
Th´eoriquement, l’interface SQI pourrait ˆetre impl´ement´ee dans n’importe quel langage
ou plate-forme, par exemple : JAVA-RMI, CORBA, Microsoft COM+, etc Cependant,
Trang 29a l’aide de WSDL, on arrive `a sp´ecifier cette interface de mani`ere universelle, c’est `adire ind´ependante des plates-formes et des langages de programmation C’est pourquoiWSDL est choisi pour sp´ecifier l’interface SQI
Afin d’aborder une vue g´en´erale, cette partie pr´esente la sp´ecification de SQI avecWSDL sous forme graphique dans la Figure 2.6 La sp´ecification compl`ete est mise sur
le site http://sqi-wsdl.sourceforge.net/
Fig 2.6 – Sp´ecification de SQI avec WSDL
La Figure 2.6 montre trois ensembles de m´ethodes (dans l’´el´ement services) : – SqiSessionManagementPort contient des m´ethodes pour g´erer les sessions de tra-vail entre la source et la destination d’interrogation ;
– SqiTargetPort contient des m´ethodes de la destination d’interrogation ;
– et SqiSourcePort contient la m´ethode de r´ecolte des r´esultats
M´ ethodes de la gestion des sessions
Le rˆole de chaque m´ethode est introduit dans le tableaux 2.1
createSession Cr´eer une session authentifi´ee
createAnonymousSession Cr´eer une session anonyme
destroySession D´econnecter
Tab 2.1 – Sp´ecification de SQI avec WSDL - Gestion de session
Le sp´ecification des m´ethodes de la gestion des sessions avec WSDL est regroup´ee
Trang 30dans l’interface SqiSessionManagementPort (en termes de WSDL) comme suivant :
M´ ethodes impl´ ement´ ees par la destination
Le rˆole de chaque m´ethode est introduit dans le tableaux 2.2
La sp´ecification des m´ethodes de la destination avec WSDL est dans l’interface
Trang 31M´ ethode Description
setMaxDuration Limiter la dur´ee d’ex´ecution d’une requˆete
setMaxQueryResults Limiter le nombre maximal de r´esultats d’une
requˆetesetQueryLanguage Sp´ecifier le langage de requˆete
setResultsFormat Sp´ecifier le format des r´esultats
setResultSetSize Limiter le nombre de r´esultats par un appel
synchronousQuery Interroger en mode synchrone
getTotalResultsCount Retirer le nombre de r´esultats (utilis´e avec le mode
synchrone)setSourceLocation Sp´ecifier la location `a laquelle la source peur rece-
voir les r´esultats (utilis´e avec le mode asynchrone)asynchronousQuery Interroger en mode asynchrone
Tab 2.2 – Sp´ecification de SQI avec WSDL - M´ethodes de la destination
Trang 32M´ ethode d´ edi´ ee ` a la source
En appliquant le m´ecanisme de requˆete asynchrone, la source d’interrogation doitimpl´ementer une m´ethode pour recevoir les r´esultat,c’est `a dire une m´ethode que la des-tination d’interrogation appelle lorsqu’il peut retourner des r´esultats Cette m´ethode
s’appelle queryResultsListener Sa sp´ecification est suivante :
Trang 33L’Adaptateur est un composant du projet iClass, il vise `a permettre aux syst`emesexistants d’acc´eder aux contenus du syst`eme iClass La construction de l’Adaptateurest l’objectif de ce rapport.
L’interface SQI est une interface robuste, neutre avec le langage d’interrogation etfacile `a impl´ementer Elle peut fonctionner en deux modes (synchrone et asynchrone).C’est pourquoi SQI est choisie pour l’interop´erabilit´e entre le syst`eme iClass et lessyst`emes existants, et entre les composants du syst`eme iClass
Les Services Web et le langage de d´efinition des services Web (WSDL) sont des nologies ´emergentes aujourd’hui Ils sont ind´ependants de l’infrastructure de d´eploiement(p.ex., NET, Java, PHP, etc.) L’interface SQI est sp´ecifi´ee en utilisant WSDL pourprofiter des avantages de WSDL
Trang 34tech-M´ ethodes et Solutions
L’Adaptateur vise `a permettre l’interop´erabilit´e entre les syst`emes d’apprentissageexistants et le syst`eme iClass Ce chapitre pr´esente cette adaptation Il met en oeuvredes sc´enarios d’acc`es aux contenus, des m´ecanismes de gestion num´erique des droits etd’authentification, et des formats des donn´ees utilis´es pour la communication iClass-Syst`eme existant
3.1 Sc´ enarios d’acc` es aux contenus
Un objet d’apprentissage repr´esente un morceau d´efinissable et r´eutilisable de contenu
et de processus num´erique Il est utilis´e dans la formation et l’instruction [14] lement, les objets d’apprentissage peuvent ˆetre n’importe quoi de num´eriques utilis´espour apprendre (p.ex., des textes, des illustrations, des vid´eos num´eriques, des mul-tim´edias interactifs, des essais, des le¸cons ou des cours etc.) La nature dynamique
Actuel-et multim´edia des objets d’apprentissage rend difficile pour les moteurs de recherchebas´es sur le texte, comme Google, de les localiser et ´egalement d’afficher les r´esultats
de recherche Le standard “IEEE Learning Object Metadata” [9] vise `a r´esoudre ceprobl`eme en d´ecrivant les objets d’apprentissage `a l’aide de m´etadonn´ees normalis´ees
L’interop´erabilit´e entre le syst`eme iClass et les syst`emes d’apprentissage existants
a pour but, pr´ecis´ement, de permettre aux syst`emes existants de chercher des objetsd’apprentissage en se basant sur leurs m´etadonn´ees, et de les consommer Les sc´enarios
de recherche et de consommation des objets d’apprentissage sont donc importants etdoivent ˆetre analys´es avec soin Cette section se concentre sur ces sc´enarios
Habituellement, l’obtention d’un objet d’apprentissage est un processus en trois
23
Trang 35etapes : recherche et ´evaluation des m´etadonn´ees, r´esolution de l’emplacement de jet choisi, et consommation de l’objet Ce processus est d´epeint sur le diagrammed’activit´e dans la Figure 3.1
l’ob-Fig 3.1 – Diagramme d’activit´e pour obtenir un objet d’apprentissage
1 recherche et ´evaluation des m´etadonn´ees : Le choix d’un objet d’apprentissagequi satisfait aux besoins d’utilisateur sur la base de la description a fourni dansles m´etadonn´ees Il peut ˆetre n´ecessaire de r´ep´eter cette ´etape afin de raffiner lescrit`eres de recherche et trouver les objets appropri´es ;
2 r´esolution de l’emplacement d’objet d’apprentissage : Dans quelques tances, les m´etadonn´ees fournissent des r´ef´erences aux objets d’apprentissageplutˆot que leurs endroits Une ´etape additionnelle est n´ecessaire afin de r´esoudrel’endroit d’un objet sur la base de sa r´ef´erence1 Cette situation se produit,par exemple dans le projet iClass o`u la nature adaptative et de multim´ediades objets d’apprentissage est combin´ee avec la nature de pair-`a-pair du r´eseaufondamental des d´epˆots des objets, rend difficile d’acc´eder aux objets d’appren-tissage directement C’est pourquoi, dans le projet iClass, “l’´etape de r´esolution
circons-de l’emplacement” est employ´ee pour rechercher l’objet demand´e dans un r´eseau
de pair-`a-pair des d´epˆots des objets d’apprentissage (abord´e dans la Section 2.1) ;
3 consommation de l’objet d’apprentissage : Obtenant `a l’objet d’apprentissagechoisi `a l’endroit (normalement par son URL) obtenu pendant la deuxi`eme ´etape
Dans le cas du projet iClass, les m´etadonn´ees indiquent l’identificateur de l’objetd’apprentissage et non son emplacement Le deuxi`eme ´etape est ainsi n´ecessaire pourrendre et jouer un objet identifi´e dans les m´etadonn´ees Le diagramme de s´equencesur la Figure 3.2 d´ecrit l’ordre des appels n´ecessaires pour rechercher les m´etadonn´ees
et pour obtenir un objet d’´etude en utilisant l’interface de SQI impl´ement´ee dansl’Adaptateur de l’iClass Il couvre l’´etape de rechercher des m´etadonn´ees et celle dejouer un objet d’apprentissage Pour la simplicit´e, les appels de m´ethode exig´es pour
´
etablir une session entre le syst`eme existant et l’Adaptateur de l’iClass ont ´et´e omis
1Dans certains cas simples, quand l’emplacement d’un objet d’apprentissage est directement fourni
dans ses m´ etadonn´ ees, la deuxi` eme ´ etape n’est pas n´ ecessaire.
Trang 36Fig 3.2 – Recherche des m´etadonn´ees et r´esolution le location d’un objet tissage.
d’appren-Recherche des m´ etadonn´ ees :
– Le syst`eme existant commence `a envoyer `a l’Adaptateur l’adresse de la m´ethode
de source SQI qui peut ˆetre employ´ee par l’Adaptateur pour renvoyer des r´esultats
de requˆete (setSourceLocation).
– Le syst`eme existant envoie une requˆete asynchrone `a l’adaptateur
(asynchro-nousQuery).
– L’adaptateur fait suivre la requˆete au Service d’Acc`es aux Contenus (SAC)
(asyn-chronousQuery).
– Le Service d’Acc`es aux Contenus traite la requˆete et renvoie les r´esultats (c.-`a-d.,
un ensemble des m´etadonn´ees) `a l’Adaptateur (queryResultsListener).
– A son tour, l’Adaptateur adapte les r´esultats retourn´es pour ajouter l’adresse duConducteur-G´en´erateur-Pr´esentateur (o`u un objet d’apprentissage sera invoqu´e)dans chaque r´esultat Puis il envoie les r´esultats adapt´es en appelant la m´ethode
(queryResultsListener) impl´ement´ee par le syst`eme existant
Mise en jeu d’un objet d’apprentissage : A cet ´etat, Un syst`eme existant peutmettre en jeu un objet d’apprentissage en se basant sur l’information trouv´ee dans
le r´esultat de la requˆete (les m´etadonn´ees contiennent l’identificateur de l’objet prentissage)
Trang 37d’ap-– Le syst`eme existant ouvre une “fenˆetre de jeu” qui va lancer la page de d´ebut
(startInvokeiLO) du conducteur-g´en´erateur-pr´esentateur (CGP) et envoie
l’iden-tificateur de l’objet d’apprentissage choisi `a cette page
– Ensuite, le Conducteur retire l’identificateur envoy´e par le syst`eme existant,
pro-duit d’une requˆete d’accord (discut´ee dans la section 3.2) et l’envoie `a
l’adap-tateur pour rechercher l’accord qui indique les droits du syst`eme existant vis-`a-vis
d’un objet d’apprentissage (l’accord sera employ´e dans l’´etape prochaine)(getAgreement).
– Le Conducteur v´erifie le jeton de s´ecurit´e et les droits d’utilisation dans l’accord
(authenticateAndCheckRights).
– Si le syst`eme existant passe `a l’´etape de v´erification, le Conducteur appelle la
m´ethode de getiLO depuis le Service d’Acc`es aux Contenus pour rendre l’objet
d’apprentissage et pour le pr´esenter sur le navigateur de web
3.2 M´ ecanisme de gestion num´ erique des droits et
d’authentification
Fournir l’acc`es g´en´eral aus contenus, par exemple aux programmes, documents, donn´ees,
est certainement l’un des r´esultats principaux du Web Cependant, l’acc`es `a ces
conte-nus n’est g´en´eralement pas libre (dans le sens non-libre), non seulement du coˆut, mais
´
egalement d’autres conditions et contraints d’utilisation Ces contraints et conditions
peuvent atteindre diff´erents objectifs[18] :
– prot´eger le propri´etaire de l’objet : le fournisseur de l’objet peut vouloir demander
le paiement avant n’importe quelle utilisation de l’objet, ou assurer que l’objet
sera non seulement employ´e dans un contexte non-commercial ;
– prot´eger l’utilisateur de l’objet : les droits devraient fournir une mani`ere d’empˆechementdes utilisations interdites ;
– prot´eger l’objet : on peut vouloir limiter le temps de validit´e de l’objet, le rendre
accessible seulement pendant une p´eriode indiqu´ee, ou permettre son utilisation
mais non sa copie ;
– suivre l’utilisation de l’objet pour le but de reportage ou de paiement
N’est pas hors de ce contexte, le syst`eme iClass a besoin d’un m´ecanisme de gestion
num´erique des droits qui peut couvrir ces contraints, d’une part, pour prot´eger les
objets du syst`eme iClass et pour suivre l’utilisation de ces objets, d’autre part, pour
prot´eger les utilisateurs du syst`eme existant, empˆecher leurs acc`es aux contenus dont
ils n’ont pas assez de droits En plus, puisque le syst`eme iClass a plusieurs composants