Construction d’un gateway sqi pour le réseau celebrate

33 13 0
Construction d’un gateway sqi pour le réseau celebrate

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

European Schoolnet Institut de la Francophonie pour l’Informatique MEMOIRE DE FIN D’ETUDES Titre Construction d’un Gateway SQI pour le réseau CELEBRATE Etudiant : Responsable : Le Chi Tho, IFI David Massart, EUN Bruxelles, avril – septembre 2004 Table des matières REMERCIEMENTS RESUME ABSTRACT CHAPITRE 1.1 1.2 Contexte du travail Définitions 1.2.1 1.2.2 1.2.3 1.3 INTRODUCTION Objets d’apprentissage .7 Métadonnées d’objets d’apprentissage Dépôts d’objets d’apprentissage Problématique CHAPITRE LA SPECIFICATION SQI 11 2.1 Travaux concernés 11 2.2 Framework pour l’interopérabilité entre dépôts d’objets d’apprentissage 11 2.3 Spécification SQI 12 2.3.1 2.3.2 CHAPITRE Introduction 12 Les méthodes de SQI .13 GATEWAY POUR CELEBRATE 16 3.1 Le réseau CELEBRATE 16 3.2 Gateway pour CELEBRATE 16 CHAPITRE IMPLEMENTATION 19 4.1 Cas d’utilisation 19 4.2 Architecture générale et implémentation 21 CHAPITRE CONCLUSION 27 ANNEXES 28 REFERENCES 33 Remerciements Je tiens remercier sincèrement M.David Massart de m’avoir encadré, de m’avoir soutenu tout au long de mon stage Je tiens aussi remercier M Ulf Lundin, directeur de European Schoolnet, pour la gentillesse qu’il m’avoir apportée Je remercie vivement les membres de European Schoolnet de m’avoir accueilli avec bras ouverts J’exprime ma reconnaissance aux professeurs et aux personnes de l’Institut de la Francophonie pour l’Informatique, de m’avoir apporté des connaissances et de l’aide Ma reconnaissance s’adresse aussi ma famille et mes amis Leurs encouragements ont contribué énormément l’achèvement du stage Résumé Avec l’épanouissement du marché de la formation en-ligne, de nombreux dépôts d’objets d’apprentissage ont vu le jour Ces dépôts stockent une grande quantité de ressources pédagogiques comme cours, tutoriels, livres électroniques, … dont la création est souvent très coûteuse L’échange et la réutilisation de ces ressources sont donc devenus une néccessité indispensable qui a suscité des recherches sur l’interopérabilité entre dépôts Malheureusement, ces dépôts emploient très souvent des formats de données propriétaires De même, ils exposent leurs ressources travers des protocoles d’accès plus ou moins différents, ce qui empêche l’interopérabilité entre eux Notre travail, encadré dans le projet CELEBRATE, consiste réaliser un gateway (porte d’echange) en se basant sur la spécification SQI (Simple Query Interface – Interface Simple de Requêtes) SQI , une spécification élaborée sous les auspices de « CEN/ISSS Workshop on Learning Technologies », est une tentative qui définit un ensemble de APIs ( Application Programming Interface) dans le but d’assurer l’échange et la recherche des objets d’apprentissage via une interface d’accès simple Ce gateway permettra d’autres dépôts d’objets d’apprentissage de découvrir les ressources de CELEBRATE ou inversement Mots clés : e-formation, métadonnées d'objets d'opprentissage, interopérabilité, objets d'apprentissage, Simple Query Interface, LOM Abstract With the development of the e-learning market, numerous learning object repositories have appeared These repositories store a great number of educational resources such as courses, tutorials, electronic books,… of which the creation is often expensive The exchange and reuse of those resources have thus become an inevitable neccessity and have inspired research works in the area of interoperability between learning repositories Unfortunately, learning repositories usually use proprietary data formats Moreover, they expose their resources via different access protocols, which impedes the interoperability between them Our work, realised in the context of the CELEBRATE project, consists in implementing a gateway based on the SQI specification ( SQI-Simple Query Interface ) SQI, a specification elaborated under the auspices of « CEN/ISSS Workshop on Learning Technologies », is an effort that defines a set of APIs (API - Application Programming Interface) aiming at ensuring the exchange and search of learning objects via a simple acces interface This gateway allows other learning object repositories to discover the resources of CELEBRATE or vice versa Index Terms: E-Learning, Repository Interoperability, Learning Object, Learning Object Metadata, Simple Query Interface, LOM Introduction Chapitre Introduction 1.1 Contexte du travail CELEBRATE ("ContExt eLEarning with BRoAdband TEchnologies") est un projet de millions d’euros qui s’étend sur une période de 30 mois et qui entre dans le cadre du programme Technologies de la société de l’information de la Commission européenne [1] L’objectif principal du projet est de créer un réseau européen d’apprentissage qui relie des établissements scholaires en assurant l’échange et la recherche des ressources pédagogiques entre eux Chaque établissement est considéré comme un dépôt contenant des ressources On adopte une approche distribuée : les ressources sont éparpillées dans un dépôt central ou dans les dépôts dans le réseau Au cœur du réseau est un système de courtage ( brokerage system ) auquel les clients se connectent Le système de courtage sert acheminer les requêtes en provenance d’un client des dépôts appropriés ou renvoyer les résultats Toutefois, CELEBRATE n’est malheureusement pas le seul système de ce genre Il existe d’autres systèmes comme ARIADNE Knowledge Pool System, PROLEARN Repository Portal, EDUTELLA Smart Space for Learning, Il est nécessaire donc de se mettre d’accord sur une interface commune pour que ces systèmes « parlent la même langue » et se fassent comprendre l’un par l’autre A cette fin, la spécification SQI est née Ce stage se concentre sur l’analyse, la conception et l’implémentation d’une interface d’accès selon la spécification SQI De plus, sa réalisation aide détecter les imperfections de SQI et alors contribue l’améliorer parce que SQI est encore en phase de développement 1.2 Définitions Il convient d’aborder quelques notions de base concernant SQI 1.2.1 Objets d’apprentissage Selon la définition de IEEE-LSTC [2], un objet d’apprentissage est « entité numérique ou non qui peut être utilisée, réutilisée ou référencée pendant des activités d’apprentissage assistées par ordinateur » Les objets d’apprentissage peuvent être considérés comme des briques, et en combinant ces briques on arrive construire une maison Cest de cette faỗon que les documents pédagogiques sont établis : ils sont une composition d’objets d’apprentissage La forme d’un objet d’apprentissage peut être très variée: un texte, une image, un questionnaire, une vidéo, Un objet d’apprentissage idéal se montre comme une entité autonome, ce qui n’empêche pas qu’il fonctionne bien en étant incorporé un tout L’objectif principal de la conception des objets d’apprentissage est de faciliter leur migration entre différentes documents, différents contextes Par exemple une séquence vidéo de deux minutes peut aussi bien servir dans un cours d’informatique que dans le cadre d’un test, mais aussi cette séquence peut être insérée dans différentes plateformes [3] 1.2.2 Métadonnées d’objets d’apprentissage En général, métadonnées sont des données sur des données En formation en ligne, les métadonées permettent de décrire la sémantique des diverses ressources pédagogiques et Introduction donc favoriser leur découverte et recherche Un autre intérêt des métadonnées est de permettre divers outils, divers systèmes de comprendre une ressource et de la réutiliser Il nous faut aborder le standard LOM (Learning Object Metadata – Métadonnées d’objet d’apprentissage) qui concerne l’implémentation du gateway mentionné ci-dessus Le Standard LOM (Learning Object Metadata) Le standard LOM est une création du groupe LTSC (Learning Training System Committe) au sein de l’association IEEE (Institute of Electrical and Electronics Engineers) Il précise d’abord la syntaxe et la sémantique des métadonées éducatives et puis il spécifie les descripteurs, les attributs concrètes permettant la réalisation d’une fiche descriptive partir d’une ressource pédagogique ( on dit un binding en anglais ) Les descripteurs sont classés en neuf catégories Figure 1.1 Learning Object Metadata (Source: [4]) Introduction Voici une brève description des neuf catégories de descripteurs : • • • • • • • • • General : détermine les caractéristiques générales savoir l’identifiant, la langue, le titre,… Lifecycle : spécifie les caractéristiques du cycle de vie comme par exemple le numéro de version, la date de création, date d’expiration, … Meta-metadata : des indications sur les attributs Technical : définit les aspects techniques tel que le format, la taille, … Educational : concerne les spécificités pédagogiques d’un document, tel que son type, son niveau ou son public cible Rights : spécifie les droits de la propriété intellectuelle et les conditions d’utilisation tel que le copyright, le coût… Relation : précise les liens entre des documents Annotation : permet d’ajouter des annotations, des commentaires et des informations supplémentaires Classification : permet de localiser un document dans un système de classification 1.2.3 Dépôts d’objets d’apprentissage Par une vue générale, un dépôt d’objets est une collection des objets Normalement, ces objets sont identifiés et référencés travers des métadonnées Les services de base d’un dépôt sont :le stockage, l’exposition et la livraison des objets Ces objets peuvent aussi bien être stockés dans un seul endroit que dispersés dans un système distribué Dans le deuxième cas, le dépôt devrait se manifester comme un point d’accès unique même si les objets sont stockés sur des serveurs divers endroits, ce qui donne l’utilisateur un accès transparent au dépôt 1.3 Problématique Grâce de nombreux dépôts d’objets d’apprentissage créés récemment, les utilisateurs ont accès une ressource éducative énorme Toutefois, il n’est pas toujours facile de trouver les objets dont on a besoin car ils se cachent dans des systèmes fermés ou propriétaires Ces systèmes utilisent souvent des formats de données et des interfaces d’accès propriétaires Cela rend ces systèmes disparates : il manque l’interopérabilité entre eux On peut citer cinq raisons principales qui rendent l’interopérabilité entre des dépôts d’objets d’apprentissage nécessaire [6]: • La création des objets d’apprentissage est cỏteuse • L’annotation des objets d’apprentissage est cỏteuse • Une fois que les objets d’apprentissage sont créés, l’éditeur s’intéresse souvent les disséminer • Les dépơts d’objets d’apprentissage n’ont pas assez d’objets d’apprentissage • Les utilisateurs veulent choisir les objets partir d’un grand nombre de dépôts Selon [5], l’interopérabilité est “ la capacité de deux ou plusieurs systèmes ou composantes d’échanger informations et d’utiliser les informations échangées » Ainsi, l’interopérabilité Introduction concerne deux aspects : la réutilisation et l’échange des données Pour assurer la réutilisation des données, on a besoin une sémantique commune afin qu’un système puisse « comprendre » les données provenant de l’autre Le deuxième aspect est garanti en employant des protocoles communs qui rendent possible l’échange des données 10 Implementation Chapitre Implementation 4.1 Cas d’utilisation Il y a trois types d’acteurs qui interagissent avec le gateway : - Administrateur du gateway(Gateway Administrator) - Système de courtage (Brokerage System) - Un hôte SQI (An SQI Host) Acteur : administrateur du gateway L’administrateur se charge de configurer le gateway en précisant plusieurs paramètres qui affectent son fonctionnement, savoir le nombre maximum de connexions simultanées au gateway, le nombre maximum de requêtes simultanées en provenance de CELEBRATE, la localisation du listener du gateway Il peut aussi ajouter ou supprimer un hôte SQI dans la liste de hôtes SQI connecter L’ouverture, la clôture de connexion CELEBRATE, le démarrage et l’arrêt du gateway doivent être réalisés manuellement par l’administrateur Acteur : Système de courtage Lorsqu’un membre du CELEBRATE envoie une requête au système de courtage, cette requête sera renvoyée d’autres membres y compris le gateway Le gateway ensuite transite la reqte aux hơtes SQI qui apparssent dans une liste de hôtes disponibles connecter Le système de courtage peut aussi retourner les résultats d’une requête au gateway Ces résultats sera retournés par le gateway vers le bon hôte sousmettant la requête 19 Implementation Acteur : Un hôte SQI Un hôte SQI interagit avec le gateway par les méthodes définies dans SQI telles que: créer une session, spécifier le format de résultats, spécifier le time-out d’une requête,…etc 20 Implementation 4.2 Architecture générale et implémentation Les modules du gateway correspondent bien aux cas d’utilisation On va examiner en détail les fonctionnalités de chacun de ces modules Gateway Admin administrator configuration file E L N Brokerage System C l i e n t C o n n e c t i o n Core SQI S QI SQI S Q I SQI Translation Module : ELN Client Il s’agit d’un paquet ElnClient fourni par CELEBRATE Il sert faciliter la connexion au système de courtage Les mécanismes de gestion de sessions, de formulation de messages, de traitement de messages, … sont cachés dans ce paquet Il est fourni sous forme des fichiers jar spécifiques de Java Module : Admin Ce module permet l’administrateur de configurer les paramètres du gateway en les stockant dans un fichier de configuration XML Il gère également la connexion au système de courtage ainsi que celle des hôtes SQI L’administrateur administre le gateway l’aide d’une interface web écrit en JSP et Servlet l’accès au fichier de configuration se fait l’aide des packages JAXB (java architecture for XML binding), JAXP (java architecture for XML processing) fournis par Sun 21 Implementation Navigateur Pages jsp, servlet JAXB,JAXP Fichier de configuration Module : Connection Il s’agit d’un module qui s’occupe de l’établissement des connexions des hôtes SQI en utilisant le protocole SOAP SOAP (Simple Object Access Protocol) est un protocole de messagerie dont les messages sont écrits en XML C’est un protocole simple pour éxecuter les appels de méthodes de type RPC( Remote Procedure Call) Dans le cas de SQI, chaque hôte possède un fichier WSDL (Webservice Description Language) qui définit ses méthodes SQI L’implémentation du gateway a recours au package JAX-RPC (Java API for XMLBased RPC) fourni par Sun pour générer le client SOAP A noter que le fichier WSDL décrivant les méthodes SQI est actuellement propre chaque hôte et il est souvent gộnộrộ de faỗon automatique par une plateforme Lorsquun nouveau hụte implémente SQI, les autres hôtes doivent récupérer le fichier WSDL et puis implémenter des classes pour pouvoir se connecter a ce nouveau hôte Cela ne semble pas raisonable et pratique au niveau de la réalisation Les auteurs de l’SQI, en souhaitant faciliter la programmation et l’extension des hôtes, envisagent rédiger une description commune de l’interface SQI, c’est-à-dire un fichier wsdl commun un hôte SQI CELEBRATE SQI Gateway Fichier WSDL générer client SOAP Client XML Web services (SOAP Server) SOAP Module : SQI Ce module implémente toutes les méthodes de SQI qui seront déployées comme des services web avec un fichier de description Les classes de support, les classes « runtime » ainsi que le fichier wsdl sont générées par l’outil de développement SUN ONE Application Server Un autre hôte peut implémenter l’interface décrit dans ce fichier wsdl et se connecter au gateway 22 Implementation CELEBRATE SQI Gateway Généner server Web services (SOAP Server) un hôte SQI SOAP SOAP Client Fichier WSDL Module : Core Ce module a pour but de gérer les sessions et acheminer les messages On va voir le détail des classes ci-dessous Classe « TimeoutCollectableStorage » et classe « TimeoutCollector »: Ces classes implémentent un mécanisme pour détruire les objets qui dépassent une durée de « timeout » TimeoutCollectableStorage stocke dans une liste les objets susceptibles d’être détruits Chaque objet est attribué un marqueur de temps qui permet conntre son état de validité au niveau de temps TimeoutCollector examine cet état de « timeout » selon lequel elle décide de supprimer l’objet ou pas 23 Implementation Classe « MessagesList» Cette classe stocke les requêtes en provenance du système de courtage Elle implémente l’interface «TimeoutCollectableStorage » Il s’agit d’une file d’attente où les requêtes sont traitées l’une après l’autre Une fois que les résultats pour une requête sont récupérés au niveau du gateway, cette requête servira identifier le client et sera libérée Si aucun résultat n’est retourné après un certain temps, la requête se trouve dans l’état de « timeout » et sera détruit Classe « SessionsManager »: Comme la classe « MessagesList », cette classe implémente l’interface «TimeoutCollectableStorage » et stocke les sessions créées par plusieurs hôtes SQI en utilisant le même mécanisme de détruire les sessions selon « timeout » Classe « GatewayBSListener »: C’est une implémentation concrète de l’interface IncomingMessageListener Elle a pour rôle de recevoir les messages du système de courtage dont le traitement est délégué une instance de «MessageHandler » Classe « MessageHandler»: Cette classe s’occupe de traiter plusieurs types de messages arrivant au gateway Classe « QuerySender»: «QuerySender» est utilisé par « MessageHandler » pour envoyer une requête des hôtes SQI en mode synchrone ou asynchrone selon les modes supportés chaque hơte Classe « AbstractSQIHost»: Cette classe abstraite représente un hôte SQI avec les méthodes SQI Classe « Gateway»: 24 Implementation Les informations sur le gateway ainsi que les états du gateway sont gardés dans linstance de cette classe Car elle est conỗue selon le design pattern « Singleton », elle n’a au plus qu’une instance tout moment Le fonctionnement du gateway dépend des informations stockées dans l’instance de cette classe Par exemple, lorsque le nombre de messages dans « MessagesList » atteint le nombre maximum de messages défini dans « Gateway », le gateway ne traitera plus les requêtes du système de courtage Module : Translation Ce module se charge de transformer les requêtes et les résultats en utilisant des feuilles de transformation et des classes de support en Java Transformation de requêtes: Dans la version actuelle, le format VSQL(Very Simple Query Interface) est utilisé comme le format de requêtes commun VSQL compose d’une liste de mots-clé qui pourra être appliqués dans la recherche Un exemple de VSQL : search term 1 search term 2 Le format de requêtes de CELEBRATE (appelé “filter”) se montre plus compliqué Il s’agit d’une combination récursive des opérateurs « and », « or », « not » avec des indicateurs de champs dans la recherche [1] CELEBRATE Filter (xml instance) Transformation de requêtes VSQL (xml instance) Transformation de résultats: Le modèle commun de LOM proposé par SQI est IEEE 1484.12.1 A CELEBRATE, CELEBRATE Metadata Application Profile v1.1 est utilisé Chaque modèle s’accompagne d’un binding XML Ces deux modèles de LOM ont des différences qu’on doit régler dans la transformation Les différences se manifeste sur deux niveaux : Au niveau de modèle de données - les éléments obligatoires : dans LOM de CELEBRATe, il y a des éléments obligatoires Dans LOM de IEEE, il n’y a accun élément obligatoire - nouveaux éléments dans le modèle LOM de CELEBRATE - différences de vocabulaires 25 Implementation Au niveau de binding XML - l’ordre des éléments - définition de types : un élément peut être défini avec des types différents dans le binding xml de CELEBRATE et dans celui de IEEE CELEBRATE Resultset (xml instance) Transformation de résultats IEEE LOM Resultset (xml instance) 26 Conclusion Chapitre Conclusion Dans ce mémoire, la spécification « Simple Query Interface » est abordée en gros et en même temps, une perception générale de la problématique de l’interopérabilité entre dépôts d’apprentissage est présentée Le travail du stage se porte sur deux grands axes : l’étude de l’SQI et la mise en œuvre du SQI gateway La réalisation du gateway se concentre principalement sur la rédaction des feuilles de transformation entre formats XML (des fichiers XSL), la conception et l’implémentation des classes Java, des pages JSP La version actuelle du gateway n’a été testée qu’avec un nombre très petit de dépôts parce que l’SQI est en cours de développement et sa l’implémentation n’est pas encore rộpandue En premier lieu, SQI a ộtộ conỗue pour résoudre le problème d’interopérabilité entre établissement éducatifs Cependant, elle peut aussi bien servir dans d’autres domaines qui impliquent l’échange, la décourverte de métadonnées SQI reste encore améliorer au niveau de API et de modèle de contenu Les travaux de définir un modèle de contenu commun, de rédiger fichier de description d’interface service Web (wsdl) sont en cours 27 Annexes Annexes Les captures d’écran du module « Admin » 28 Annexes 29 Annexes Le schéma xml du fichier de configuration du module « admin » 1000 1000 http://fireboy.eun.org:8082/GatewaySQIWS/GatewaySQIWS Ariadne http://rubens.cs.kuleuven.ac.be:8989/AWS4.2/services/SQITarget 30 Annexes asdf true true true UNSPECIFIED true false unknown user unknown password UNSPECIFIED AriadneSQIHost - another Host http://fireboy.eun.org:8082/AnSQIHostWS/AnSQIHostWS asdfadf adf true true true UNSPECIFIED - true false UNSPECIFIED AnSQIHost 31 Annexes Le diagramme de classes du module « translation » : 32 Références Références [1] LE Tien Dung Contrats pour la recherche fédérée des métadonnées d’objets d’apprentissage Mémoire de fin d’études, Institut de la Francophonie pour l’Informatique, Hanoi, Vietnam, 2003 [2] IEEE LTSC (Learning Technology Standards Committee of the IEEE) Draft Standard for Learning Object Metadata [en ligne] New York : IEEE, 2002 Disponible sur : http://ltsc.ieee.org/wg12/files/LOM_1484_12_1_v1_Final_Draft.pdf (consulté le 08/11/04) [3] A Alibert, Ph Vidal, Ph Baque, D Marque Vers l’interopérabilité de plateformes de FOAD : une solution d’ouverture Disponible sur : http://choisya.upstlse.fr/fudmip/IMG/doc/article-ITEH03.doc (consulté le 30/10/04) [4] Hodgins et Duval Learning Object Metadata (LOM) [en ligne] Madrid 27/01/2004 Disponible sur: http://ltsc.ieee.org/wg12/files/CEN-ISS_LOM_2004_Jan27_Madrid.pp (consulté le 08/11/04) [5] Bernd Simon, David Massart, Erik Duval Learning Object Repositories Interoperability Framework http://rubens.cs.kuleuven.ac.be/vqwiki-2.5.5/jsp/Wiki?LorInteroperability (2004) [6] Bernd Simon, Learning Object Repositories Interoperability Disponible sur: www.eun.org/etb/93_Simon_LOR-Interoperabilty.pdf [7] Bernd Simon, David Massart, Erik Duval Simple Query Interface (SQI) for Learning Repositories Disponible sur: http://nm.wu-wien.ac.at/e-learning/interoperability/sqi/sqi.pdf [8] CEN (Comité Européen de Normalisation) http://www.cen-ltso.net/Users/main.aspx 33 ... dans le réseau CELEBRATE 3.2 Gateway pour CELEBRATE Il existe actuellement en Europe ( et dans le monde ) plusieurs réseaux de nœuds éducatifs par 16 Gateway pour CELEBRATE exemple ADRIADNE, ELENA,... 12 Les méthodes de SQI .13 GATEWAY POUR CELEBRATE 16 3.1 Le réseau CELEBRATE 16 3.2 Gateway pour CELEBRATE 16 CHAPITRE IMPLEMENTATION ... de courtage travers le serveur de messagerie (fig.3.3) 17 Gateway pour CELEBRATE Dépôt SQI CELEBRATE Gateway Serveur de messagerie Dépôt SQI SQI ELN Client Dépôt SQI Dépôt SQI ELN Client Brok

Ngày đăng: 17/03/2021, 19:13

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan