Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 75 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
75
Dung lượng
1,06 MB
Nội dung
INSTITUT DE LA FRANCOPHONIE POUR L’INFORMATIQUE ——————–//——————– M´ emoire de fin d’´ etudes Acc`es aux contenus du syst`eme iClass grˆace `a un Adaptateur utilisant la ✭✭ SQI ✮✮ NGUYEN DUY CU Ann´ ee acad´ emique 2003-2005 Promotion Responsable de stage : Bruxelles, Belgique - 2005 David MASSART R´ esum´ e De nos jours, la Technologie de l’Information et de la Communication prend part efficacement `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, en Europe, des statistiques montrent que l’on a besoin d’augmenter l’efficacit´e et l’effet d’apprentissage et d’enseignement C’est particuli`erement ´evident quand on analyse plusieurs 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 d’apprentissage avanc´e Il a pour but de r´esoudre le probl`eme pos´e et de pr´eparer un environnement pour les g´en´erations prochaines, o` u les comp´etences acquises doivent ˆ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’´etudes pr´esente le d´eveloppement de cet Adaptateur Il aborde des ´etudes pr´ealables concernant l’Adaptateur, des technologies utilis´ees, des propositions de la gestion num´erique des droits d’auteur, et la mise en application de l’Adaptateur ii Abstract Nowadays, the Communication and Information Technology takes part to the formation effectively Many systems of training are developed in order to provide to the pupil the possibility of reaching courses easily However, in Europe, some statistics show that one needs to increase the effectiveness and the effect of the training and teaching It is particularly obvious when one analyzes several indications of the performance of the school, the rate of abandonment for example The “Intelligent distributed Cognitive-based LeArning System for School” (iClass) project, financed by the European Commission, aims at developing an advanced learning system The purpose of the project is to solve the problem and to prepare an environment for the next generations, where acquired competences must be updated permanently reflecting the evolution of the society The Adapter is a component of the iClass system It allows the interoperability between the iClass system and another learning systems This thesis presents the development of the Adapter It shows preliminary studies concerning the Adapter, the technologies used, the proposals of the Digital Rights Management, and the implementation of the Adapter iii Remerciements Je tiens avant tout a` remercier David Massart, mon responsable de stage et “Senior Software Architect” a` European Schoolnet Sans lui, mon stage n’existerait pas Ses conseils 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’a accord´e une bourse de stage, et m’a ´egalement encourag´e pendant mon s´ejour de mois a` European Schoolnet Le travail est r´ealis´e dans le cadre du projet iClass, un projet des collaborations de plusieurs soci´et´es informatiques, p.ex., Siemens, Sun Microsystems, Microsoft, Intel, Infogate Je voudrais remercier mes coll`egues, particuli`erement Jean-Noel Colin, Igor Blyuss, Oven Colan, Ilhami Gorgun, Eric Meyvis, Ali Turkey Non seulement ils m’ont collabor´e pour l’objectif du projet, mais ils m’ont apport´e ´egalement la chance de perfectionner mon anglais et mon fran¸cais Je voudrais remercier mes amis a` European Schoolnet (Quentin Tr´em´erie, Chhuoy Bun Chheang, Brigitte Parry, Mourad Etbaz, Sylvia Hartinger, Yong Chui Hsia, Sophie Vandeputte) 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 qui m’ont encourag´e quand j’´etais loin de la maison Merci `a tout ! iv Acronymes SAC 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 Integration CORBA Common Object Request Broker Architecture ODRL Open Digital Rights Language SAML Security Assertion Markup Language SCORM Sharable Courseware Object Reference Model JAX-RPC Java API for XML-based Remote Procedure Call JAXB 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 Table des mati` eres R´ esum´ e ii Remerciements iv Acronymes v Introduction 1.1 Introduction g´en´erale 1.2 Probl´ematique 1.3 Objectifs 1.4 Structure du rapport Travaux concern´ es 2.1 2.2 2.3 Adaptateur dans le contexte de projet iClass 2.1.1 Introduction du projet iClass 2.1.2 Adaptateur dans le contexte de projet iClass Travaux ant´erieurs 2.2.1 Interface SQI 2.2.2 Langage de d´efinition de services Web WSDL 11 2.2.3 Sp´ecification de SQI avec WSDL 17 Sommaire du chapitre 22 M´ ethodes et Solutions 23 vi ` TABLE DES MATIERES vii 3.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’authentification 3.3 3.4 3.5 28 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 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 Sommaire du chapitre 38 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 C.1 Introduction 49 49 ` TABLE DES MATIERES C.2 Conception d´etaill´ee D Outil de Test viii 50 55 D.1 Fonctionnalit´es de l’outil 55 D.2 Cas de test 56 Table des figures 2.1 Environnement de collaboration du syst`eme iClass 2.2 Architecture du syst`eme iClass 2.3 Diagramme des composants qui interagissent avec l’Adaptateur 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’apprentissage 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 TABLE DES FIGURES x D.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 ANNEXE C CONCEPTION DE L’ADAPTATEUR 50 figurer l’architecture, l’environnement de d´eploiement et la conception d’un produit logiciel En outre, “Borland Together Architect 1.1” fournit la possibilit´e de convertir l’un a` l’autre entre diagramme et code Cela acc´el`ere la vitesse de d´eveloppement et permet aux d´eveloppeurs de mieux comprendre leur code (selon David Massart) C.2 Conception d´ etaill´ ee Liste des paquetages L’Adaptateur est regroup´e en sept paquetages (Figure C.1) : “adapter”, paquetage de noyau, contient les classes qui pr´e-traitent toutes les demandes d’un client quelconque, et qui administrent le fonctionnement de l’Adaptateur (Tableau C.1) “sessionmanagement”, gestion des sessions, g`ere toutes les sessions de communication entre l’Adaptateur et d’autres syst`emes (p.ex., un syst`eme existant, le Conducteur, etc.) (Tableau C.2) “sqi”, impl´ementation de SQI, impl´emente l’interface SQI et traitent les appels concernant SQI (Tableau C.3) “timeoutmanagement”, gestion de temps d’acc`es, contrˆole le temps d’acc`es de chaque session de communication (Tableau C.4) “tokenmanagement”, gestion des jetons de s´ecurit´e, collabore avec le Service de S´ecurit´e pour g´en´erer des jetons de s´ecurit´e (Tableau C.5) “translation”, paquetage de traduction, traduit les r´esultats re¸cus pour les syst`emes existants (Tableau C.6) “utils”, paquetage utilitaire (Tableau C.7) Les paquetages “stub” et “skeleton” g´en´er´es par JAX-RPC (Annexe A) sont omis Description des classes Chaque paquetage a une ou plusieurs diagrammes des classes qui illustrent les op´erations de chaque classe et les relations entre les classes Cependant, pour aborder une vue ensemble la fonctionnalit´e de chaque classe et raccourcir ce rapport, nous pr´esentons dans cette section seulement les descriptions des classes ANNEXE C CONCEPTION DE L’ADAPTATEUR Fig C.1 – Diagramme des paquetages 51 ANNEXE C CONCEPTION DE L’ADAPTATEUR Classe Description LegacySystemQueryRequest Classe de requˆete pour m´etadonn´ees LegacySystemLORequest Classe de requˆete pour la mise en jeu d’un objet d’apprentissage LegacySystemRequest Classe abstraite de deux classes LegacySystemQueryRequest et LegacySystemLORequest LegacySystemFactory Classe qui fabrique des objets appartenant de deux classes de requˆete (utiliser le pattern de conception de “Object Factory”) AdapteeSynchronousRequest Classe qui traite les requˆetes synchrones AdapteeASynchronousRequest Classe qui traite les requˆetes asynchrones InnerAdapter Interface de deux classe AdapteeSynchronousRequest et AdapteeASynchronousRequest InnerAdapterImpl Impl´ementation de l’interface InnerAdapter Ces quatre classes appliquent le pattern de conception de “Adapter” ResultLOMHandler Classe qui traite les r´esultats de type m´etadonn´ees ResultURLHandler Classe qui traite les r´esultats de type URL ResultHandler Classe abstraite de deux classes ResultLOMHandler et ResultURLHandler ResultHandlerFactory Classe qui fabrique des objets appartenant de deux classes de r´esultat AdapterListener Classe qui re¸coit des r´esultats AdapterServiceImpl Classe principale du service Elle contient toutes les m´ethodes a` appeler a` distance AdapterException Classe qui traite les exceptions de l’Adaptateur Tab C.1 – Liste des classes du paquetage “adapter” 52 ANNEXE C CONCEPTION DE L’ADAPTATEUR Classe Description SqiAnonymousSession Classe de session anonyme SqiAuthenticatedSession Classe de session authentifi´ee SqiSession Classe abstraite de deux classes SqiAnonymousSession, SqiAuthenticatedSession SessionState Classe qui g`ere toutes les sessions de communication Tab C.2 – Liste des classes du paquetage “sessionmanagement” Classe Description SQI Interface SQI StandardSQIHost Classe qui impl´emente l’interface SQI standard InfogateSQIHost Classe qui impl´emente l’interface SQI sp´ecifi´ee pour les plates-formes NET (il y a des modifications par rapport a` la plate-forme JAVA) AbstractSQIHost Classe abstraite de deux classes StandardSQIHost et InfogateSQIHost SQIHostFactory Classe de factorisation Tab C.3 – Liste des classes du paquetage “sqi” Classe Description TimeoutCollector Classe qui g`ere le temps d’acc`es de toutes les sessions Elle ´elimine les sessions qui passent la limite de temps d’acc`es TimeoutCollectable Classe abstraite des objets qui doivent suivre la gestion de temps d’acc`es TimeoutCollectableStorage Classe de d´epˆot des objets jetables Tab C.4 – Liste des classes du paquetage “timeoutmanagement” 53 ANNEXE C CONCEPTION DE L’ADAPTATEUR Classe Description TokenQueryProcessor Classe qui traite les requˆetes de jeton de s´ecurit´e SAMLTokenGenerator Classe qui g´en`ere les jetons de s´ecurit´e SAML TokenGenerator Classe abstraite de classe SAMLTokenGenerator, utilis´ee pour avoir la capacit´e d’utiliser d’autre type de jeton AdapterToken Classe contient le jeton de s´ecurit´e Tab C.5 – Liste des classes du paquetage “tokenmanagement” Classe Description LOMResultsTranlator Classe qui traduit les r´esultats de m´etadonn´ees TranslationException Classe d’exception de la traduction Tab C.6 – Liste des classes du paquetage “translation” Classe Description AdapterLogger Le “Logger” du syst`eme qui enregistre les ´ev´enements passant dans l’Adaptateur CommonUtil Classe contient des m´ethodes communes CommonConstant Classe contient des constants Tab C.7 – Liste des classes du paquetage “utils” 54 Annexe D Outil de Test L’Adaptateur permet aux syst`emes existants de rechercher des m´etadonn´ees et de lancer un objet d’apprentissage En plus, il fournit au Conducteur une m´ethode de r´ecup´eration du jeton de s´ecurit´e Afin de tester l’Adaptateur, il faut avoir un outil qui joue a` la fois le rˆole d’un syst`eme existant en fonction d’acc´eder `a l’objet d’apprentissage, et le rˆole du Conducteur en termes de r´ecup´eration de jeton de s´ecurit´e Il s’agit de l’outil de test intitul´e “A simple NON-iClass Legacy System” qui est d´evelopp´e dans le cadre de ce stage Cette annexe pr´esente les fonctionnalit´es de cet outil et certains cas de test D.1 Fonctionnalit´ es de l’outil L’outil “A simple NON-iClass Legacy System” consiste en quatre fonctionnalit´es suivantes : – Enregistrement d’adaptateur (“Adapter register”) Cette fonctionnalit´e permet de changer d’informations concernant l’Adaptateur(p.ex., l’adresse o` u l’Adaptateur est d´eploy´e) ; – Gestion de session (“Session management”) Elle permet de cr´eer de session de communication et de g´erer des param`etres d’interrogation ; – Recherche des m´etadonn´ees (“Metadata Query”)) Elle est utilis´ee pour envoyer des requˆetes et pour recevoir des r´esultats ; – R´ecup´eration de jeton de s´ecurit´e (“Token Query”) Nous utilisons cette fonctionnalit´e pour v´erifier si le Conducteur peut bien r´ecup´erer des jetons de s´ecurit´e 55 ANNEXE D OUTIL DE TEST D.2 56 Cas de test Cr´ eation de session La s´equence de test est comme suit : – Utilisateur entre un nom d’utilisateur et un mot de passe et puis il clique sur le “Create new session” – L’outil appelle la m´ethode de cr´eation de session de l’Adaptateur – L’Adaptateur v´erifie le nom d’utilisateur et le mot de passe Si ils sont accept´es, l’Adaptateur retourne un identificateur d’une session Si non, l’outil de test va recevoir une exception Fig D.1 – Cr´eation de session Recherche des m´ etadonn´ ees Ce sc´enario est utilis´e pour tester la premi`ere phase du processus d’obtention : recherche et ´evaluation des m´etadonn´ees Tout d’abord , l’utilisateur entre une requˆete en format de “Very Simple Query” et l’envoie a` l’Adaptateur (figure D.2 ) Puis, ANNEXE D OUTIL DE TEST 57 l’Adaptateur collabore avec d’autre composants du syst`eme iClass pour ex´ecuter cette requˆete Et enfin, l’Adaptateur retourne les r´esultats de cette ex´ecution a` l’outil Ces r´esultats vont ˆetre affich´es comme sur la figure D.3 Fig D.2 – Recherche des m´etadonn´ees R´ ecup´ eration de jeton de s´ ecurit´ e Afin de r´ecup´erer le jeton de s´ecurit´e d’un syst`eme existant (dans ce cas, il s’agit du jeton de l’outil de test) L’utilisateur formule une requˆete de jeton (illustr´ee sur la figure D.4) Puis il l’envoie a` l’Adaptateur l’Adaptateur va retourner le jeton de l’outil de test sauf il y a des erreurs concernant la requˆete ou l’identificateur de la session de communication de l’outil de test Le r´esultat de cette requˆete, le jeton, est illustr´e sur la figure D.5 ANNEXE D OUTIL DE TEST Fig D.3 – R´esultats des m´etadonn´ees 58 ANNEXE D OUTIL DE TEST Fig D.4 – R´ecup´eration de jeton de s´ecurit´e 59 ANNEXE D OUTIL DE TEST Fig D.5 – Jeton de s´ecurit´e 60 Bibliographie [1] Xavier B Introduction a` wsdl Technical report, JDN D´eveloppeur, Novembre 2002 See http://developpeur.journaldunet.com/tutoriel/xml/021107xml wsdl1a.shtml [2] I Blyuss iClass Content Server and database : High-level design specification Version 0.2, 2004 [3] E Christensen, F Curbera, G Meredith, and S Weerawarana Web services description language (wsdl) 1.1, w3c note Technical report, W3C, March 2001 See http://www.w3.org/TR/wsdl [4] IMS Global Consortium Ims Digital Repositories Interoperability - core functions best practice guide Also available at http://www.imsglobal.org/ digitalrepositories/driv1p0/imsdri bestv1p0.html, 2003 [5] James W Cooper The Design Patterns Java Companion Design Patterns Series Addison-Wesley, October 1998 [6] JSR-101 Expert Group Jsr-000101 java(tm) api for xml-based rpc specification 1.1 final release Technical report, Sun Microsystems, Inc, October 2003 Available at http://java.sun.com/xml/downloads/jaxrpc.html [7] R Iannella Open Digital Rights Language (ODRL) Version 1.1 Also available as http://www.w3.org/TR/odrl/, September 2002 [8] iClass Consortium Intelligent distributed Cognitive-based Learning System for Schools Also available as http://www.iclass.info/iclass01.asp, 2004 [9] IEEE Standards Department IEEE 1484.12.1-2002, Learning Object Metadata Standard Also available as http://ltsc.ieee.org/wg12/files/LOM 1484 12 v1 Final Draft.pdf, July 2002 [10] IMS Global Learning Consortium, Inc IMS Learning Resource Meta-Data XML Binding Revision : 28 September 2001 Also available as http://www.imsglobal org/metadata/imsmdv1p2p1/imsmd bindv1p2p1.html, September 2001 61 BIBLIOGRAPHIE 62 [11] MPEG21 The mpeg-21 rights expression language - a white paper Technical report, Rightscom Ltd, July 2003 [12] OASIS SAML V2.0 Standard Specification, 2005 Also available as http://www oasis-open.org/committees/tc home.php?wg abbrev=security#samlv20 [13] OKI Open Knowledge Initiative Also available at http://www.okiproject org/, 2004 [14] G Richards The challenges of the learning objects paradigm Canadian Journal of Learning and Technology, 28(3) :3–10, 2002 [15] Mary F Fernndez Daniela F Jonathan R J´erˆome S Scott B., Don C Xquery 1.0 : An xml query language Technical report, W3C, April 2005 Available at http://www.w3.org/TR/xquery/ [16] B Simon, D Massart, F Van Assche, S Ternier, and E Duval Simple query interface specification Technical report, CEN/ISSS Workshop on Learning Technologies, February 2005 Also available as http://www.prolearn-project.org/ lori [17] J Simon and J.N Colin Celebrate : A federated model for exchange of learning objects In Proc of the World Conference on E-Learning in Corporate, Government, Healthcare, and Higher Education (ELEARN), volume 2004, pages 886–891, 2004 [18] J Somon and JN Colin A digital licensing model for the exchange of learning objects in a federated environment ., 2003 [19] ADL Technical Team Scorm 2004 documentation 2nd edition Technical report, Avanced Distributed Learning, July 2004 Available at http://www.adlnet.org/ scorm/ [20] F Van Assche and D Massart Federation and brokerage of learning objects and their metadata In Kinshuk, C.K Looi, E Sultinen, D Sampson, I Aedo, L Uden, and E Kăahkăonen, editors, Proc of The Fourth IEEE International Conference on Advanced Learning Technologies, ICALT’04, pages 316–320, Joensuu, Finland, August 30 - September 2004 IEEE Computer Society, Los Alamitos, California [21] XrML Xrml 2.0 technical overview Technical report, ContentGuard, March 2002 [22] ZING Search/retrieve web service (SRW) Also available at http://lcweb.loc gov/z3950/agency/zing/srw/, 2004 Index Service de S´ecurit´e, ´etapes, 36 54 mois, accord, 28, 34 analyser, IFI, initiale, 36 interface, 9, 17 interop´erabilit´e, 23, 31 capacit´e descriptive, 39 interop´erer, choix, 24 IST, conception, 36 contributions, 41 destination, 10 droit, emplacement, 24 ensembles de donn´ees, 13 environnement, European Schoolnet, exemple, 13 expression des droits, 27 fixes, 36 fonctionnalit´e, 36 format des r´esultats, 32 gestion des sessions, 18 Google, 23 iClass, jeton, limites, 41 m´ecanisme de gestion num´erique des droits, 26 m´etadonn´ees, 24 m´ethode, 18 mise en application, 35 mise en jeu, 25 modules, objectif, objet d’apprentissage, 23 obtention, 23 ODRL, 28 ontologie, pair-`a-pair, partenaires, Adaptateur, personnaliser, 31 architecture, Portail, Conducteur, processus num´erique, 23 G´en´erateur, profil, SAC, profile, 31 63 INDEX prot´eger, 30 protocole, 28 Recherche des m´etadonn´ees, 25 requˆete, 35 requˆete des m´etadonn´ees, 31 requˆete synchrone, 21 SAML, 28 services Web, 12 source, 10 SQI, SQI, neutralit´e, SQI, simplicit´e, SQI, synchrone, asynchrone, standards, 32 statistiques, style, syst`eme existant, taux d’abandon, temps r´eel, tester, 38 TIC, TIPE, UDDI, 13 v´erification, 29 WSDL, 11, 12 64