Introduction
Problématique
De nos jours, l’utilisation de nouvelles technologies se répand rapidement dans l’enseignement Le monde enseignant se montre souvent partagé entre l’enthousiasme pour ces nouveaux moyens d’accéder à la connaissance A partir de petits fragments indépendants d'informations, nous constituons des objets d'apprentissage ("learning objects") qui sont facilement échangés entre les dépôts d’objets d’apprentissage ("learning object repositories") Tous les objets d'apprentissage contiennent des renseignements ou des métadonnées pour aider à les cataloguer facilement et à évaluer leur pertinence Dans la plupart des réseaux basés sur le modèle client/serveur, les métadonnées d'objets d'apprentissage sont stockées dans le dépôt central mais quand une approche distribuée est choisie, les métadonnées peuvent être répétés dans des dépôts différents
Nous proposons une nouvelle approche que les membres d’une fédération d’espace numérique de travail (ENT) peuvent proposer leurs métadonnées au dépôt central ou les stocker dans leur dépôt local Un utilisateur d’ENT (par exemple, un professeur ou un ộlốve) demande à connaợtre tous les dộpụts actuellement disponibles au sein du rộseau européen d'apprentissage dans lesquels les objets d'apprentissage remplissent ses critères
Le contrat d’un client d’ENT exprime les types de ses objets d'apprentissage et sa capacité de réponse aux requêtes envoyées par les autres Autrement dit, le contrat limite les éléments de métadonnées utilisés dans ses recherches et ses réponses Ce contrat utilise le profile d’application de métadonnées d’objets d'apprentissage basé sur la norme IEEE 1484.12.1-2002 [4].
Environnement de travail
European Schoolnet (EUN) est un réseau international de plus de 20 ministères de l'Éducation européenne dont l'objectif majeur est le développement des méthodes d'apprentissage pour les professeurs et les élèves d'Europe Aux chefs d’établissements et professionnels de l’éducation, EUN offre une vision d’ensemble de l’utilisation pédagogique des technologies de l’information et de la communication pour l’enseignement en Europe EUN atteint cet objectif en communiquant et en échangeant des informations à tous les niveaux de l'enseignement par le biais de technologies innovantes et en offrant un portail aux réseaux scolaires nationaux et régionaux
CELEBRATE ("ContExt eLEarning with BRoAdband TEchnologies") est un projet de 5 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
L’objectif principal de ce projet est de créer une approche innovante de l’utilisation des technologies d’eLearning dans l’enseignement basée sur la vision de ce que seront les contenus électroniques de demain (ressources, services et outils de communication) Ce projet offrira aux établissements scolaires une base de données de contenus en ligne, laquelle inclura des supports d’apprentissage multimédias, à savoir des objets d’apprentissage (OAs)
L’objectif clé du projet est, d’une part, d’analyser comment une nouvelle génération de systèmes de gestion de contenus pour l’apprentissage (SGCA) mis au point par divers professionnels commerciaux pour traiter les OA et, d’autre part, de tester l’interopérabilité de ces systèmes dans un site de démonstration réel CELEBRATE jouera le rụle de catalyseur pour l’industrie europộenne des contenus eLearning (la chaợne de valeurs complète inclut propriétaires de contenus, éditeurs, diffuseurs, réseaux scolaires nationaux et fo urnisseurs commerciaux de plate-formes technologiques)
Le système de courtage auquel les clients se connectent est une partie principale du réseau européen d'apprentissage Pour se connecter au système, les clients doivent appels de méthodes distantes en utilisant JAX-RPC On ne permet aucun échange direct entre les clients, excepté ceux explicitement autorisés par le système.
Objectifs du stage
Ce stage se focalise sur l’analyse et la mise en œuvre d’un module de système de courtage concernant des contrats entre des membres du réseau EUN Concrètement, mes travaux s’articulent sur trois grands axes :
• Etude de la recherche fédérée, des requêtes, des métadonnées d'objets d'apprentissage, et des services fournis par le système de courtage
• Analyse des contrats et de la procédure pour avoir l’accord entre un client d’ENT et l’administrateur
• L’implémentation en utilisant de nouvelles technologies comme la base de données XML Oracle 9i, XPATH, JAXB.
Les contraintes pratiques
Quelques contraintes ont été apportées au sujet :
• Les contrats doivent répondre aux demandes du projet
• Il faut avoir une interface graphique simple et conviviale, et bien appliquer de nouvelles techniques comme la base de données XML, le langage XPATH accès aux informations, l’architecture Java pour la liaison avec XML (JAXB)
• Il faut vérifier la permission d’un utilisateur avant de réaliser ses demandes.
Système de courtage
Système de gestion du contenu d’apprentissage
L’enseignement connaợt une tendance vers la crộation de contenu sous la forme d’objets d’apprentissage indépendants qui peuvent être stockés dans des dépôts d’objets, partagộs entre les ộtablissements d’enseignement et utilisộs de faỗons diverses Les objets peuvent être stockés et échangés par des systèmes de gestion du contenu d’apprentissage (SGCAs) qui nous permettent d’élaborer et de fournir un contenu didactique
Selon Wiley, un objet d’apprentissage (OA) est "toute ressource électronique qui peut être utilisée à nouveau pour venir en support à l’apprentissage" Plus précisément, un objet d’apprentissage est un granule de formation en principe rộutilisable et rộagenỗable selon différents objectifs ou environnements Autrement dit, un bon objet d’apprentissage est complet en soi et aborde tous les aspects d’un point particulier de connaissance
Par conséquent, des éléments tels qu’une image, un jeu interactif, une vidéo numérique, un fichier multimédia, un texte éducatif peuvent être considérés comme un objet d’apprentissage On peut essayer des objets d’apprentissage sur le site http://celebrate.eun.org Tous ces objets se servent de la facilité de l’apprentissage
En utilisant des objets d’apprentissage, les professeurs peuvent fournir des ressources pédagogiques pour que les étudiants puissent choisir les objets qui répondent à leurs besoins individuels
Les métadonnées sont des descriptions des données, les métadonnées d’objets d'apprentissage (MOA) sont un ensemble de descripteurs du contenu de l'objet d'apprentissage Tous les objets d'apprentissage contiennent des renseignements à leur sujet pour aider à les cerner et à les cataloguer facilement et à évaluer leur pertinence Ces métadonnées nous permettent de faciliter la réutilisation des objets d'apprentissage et le partage des ressources
Au mois de juillet 2002, l’institut des ingénieurs électriciens et électroniciens (IEEE) a proposé un ensemble normalisé de métadonnées pour les objets d'apprentissage
Les données décrivant les objets d'apprentissage sont groupées dans neuf catégories telles que la catégorie de la généralité, la catégorie du cycle de vie, la catégorie des méta- métadonnées (information sur elle-même), la catégorie de la technique, la catégorie de l’éducation, la catégorie du droit, la catégorie de la relation, la catégorie de l'annotation, la catégorie de la classification
Le projet CELEBRATE utilise un ensemble de métadonnées basé sur la norme IEEE LOM qui contient de nouveaux éléments définis par le comité CELEBRATE En fait, cet ensemble est le profil d'application des métadonnées d’Objets d'apprentissage qui définit les éléments obligatoires, recommandés, et optionnels Le lecteur peut consulter l'annexe 3 pour connaợtre la liste de MOA
1.3 Système de gestion du contenu d’apprentissage
Un système de gestion du contenu d’apprentissage (SGCA) est un système qui permet de créer, valider, publier et gérer des contenus de formation Il se compose de deux systèmes : un système de gestion d’apprentissage (SGA) et un système de gestion du contenu (SGC)
Un SGA, considéré dans bien des cas comme le cœur du dispositif eLearning, a pour but la gestion et l'organisation de la formation : Individualisation et distribution des parcours de formation; Gestion des apprenants; Suivi de la réalisation des parcours d'apprentissage; et Mise à disposition d'outils coopératifs pour la relation tuteur/apprenant
Un SGC a pour but de simplifier la création et la gestion du contenu en ligne Il permet une meilleure fréquence des mises à jour des ressources déjà publiées Cela repose sur deux principes essentiels :
• La forme est séparée du fond : ainsi les auteurs doivent-il pouvoir se concentrer uniquement sur leur contenu Ils disposent pour ce faire de modèles de présentation prédéfinis spécifiques à chaque élément qui compose le document (en -tête, format du titre, emplacement d'une image, intégration d'un fichier multimédia etc.) L'auteur intègre son contenu dans cette ossature
• Il induit des procédures de publication des contenus Deux étapes précèdent la publication : la création, la validation Un SGC permet de les organiser selon les règles propres à l'entreprise
Le SGCA permet de créer des bibliothèques de OAs, une vraie bibliothèque de grains de contenu de formation indépendants, qui peuvent être réutilisés et associés indifféremment les autres Le SGCA pourra alors, pour un apprenant donné, gérer la distribution et le suivi de l'apprentissage à un niveau très fin La seconde fonction des SGCA est la gestion des procédures et des flux de publication Sur le même modèle que le SGC, le SGCA assure la mise en place d'une organisation garantissant le respect des règles de publication Après la création d'un OA, l'auteur le soumet à la procédure de validation
S'il est approuvé, il sera publié et donc disponible, sinon il sera rejeté pour être modifié
Les nouvelles fonctionnalités des SGCA permettent de s'orienter vers de nouvelles pratiques dans la création de contenus pédagogiques Ils favorisent le partage du travail de création simplifient les mises à jour des ressources déjà publiées.
Réseau d'apprentissage
Les objets d'apprentissage sont stockés dans des machines et répartis à travers des réseaux Les métadonnées donnent une structure à l'étiquetage ou au référent d'objets
Auparavant, il n’existe que deux types de stockage des métadonnées des OAs : Le modèle centralisé (utilisé par la plupart des systèmes basés sur l’architecture client/serveur [2]) ou le modèle décentralisé (comme le "POOL, POND et SPLASH" [7])
Nous suggérons une nouvelle approche que les membres du réseau peuvent proposer leurs métadonnées au dépôt central ou les stocker à son dépôt local La recherche fédérée a pour but de trouver les bons MOAs du réseau satisfaisant à certains critères Un de facteurs pour améliorer la performance de telle recherche est l’utilisation des contrats entre les membres Dans le chapitre suivant, on expliquera les contrats en détail.
Système de courtage
Dans le réseau européen, nous utilisons un système de courtage pour permettre aux membres de se communiquer En effet, ce système a pour d’échanger des OAs et de chercher des MOA Ce système se compose de deux parties principales : "le client du réseau" et "la gestion des services" "La gestion des services" contrôle la recherche et l’échange des objets tandis que "le client du réseau" intégré dans le système de système de gestion du contenu d’apprentissage aide les membres à se connecter au réseau européen
Le diagramme de classes "client du réseau européen" figure suivant :
Figure 1 Les classes du "Client du Réseau européen"
Contrats pour la recherche fédérée
Recherche fédérée
La recherche fédérée permet d’identifier les bons dépôts dans le réseau européen d'apprentissage Voici, ci-dessous une simulation d’une recherche en supposant qu’il y a 3 membres (GiuntiLabs, "Digital Brain", "Sanoma WSOY"), le dépôt central et le système de courtage ("Brokage System") Les boợtes blanches reprộsentent les membres du rộseau tandis que les boợtes bleues reprộsentent les clients du rộseau ("ELN Clients") qui permettent de se connecter facilement au serveur Dans cet exemple, le "Digital Brain" envoie une requête au système de courtage Une telle requête s'appelle "LOM Query Request" et est présentée par une flèche bleue
Figure 2 "Digital Brain" envoie une requête au SC
Le SC vérifie la question (le format est bon? les qualifications sont correctes?, la permission dépasse la limite de "Digital Brain") avant de l’envoyer comme une "Checked LOM Query Request" aux autres membres qui sont d'accord sur le processus de telles questions (figure 2) Ces requêtes sont présentées par les flèches pleines
Quand un membre reỗoit une telle requờte, il cherche dans son dộpụt local et envoie le résultat "LOM Query Result" au SC (figure 3) Ensuite, le SC envoie le résultat
"Checked LOM Query Result" à l'auteur de la requête originale après avoir vérifié Dans ce cas, GiuntiLabs envoie son résultat "LOM Query Result" au SC (figure 4) La même chose se passe avec "Sanoma WSOY" et le dépôt central
Figure 3 SC envoie les requêtes aux autres
Figure 4 GiuntiLabs envoie son résultat au SC
Figure 5 SC envoie le bon résultat
On voit que l’utilisateur peut trouver des objets d’apprentissage non seulement dans le dépôt local, dans le dépôt central mais dans tous les dépôts du réseau.
Contrat
Un dépôt peut contenir un grand nombre d’OAs mais normalement ces OAs sont groupés dans certains types Sans un contrat, les informations échangées entre un client et le SC sont énormes C’est la raison pour la quelle, il faut que chaque client ait ses contrats pour dộcrire ses MOA Par exemple, on ne cherche pas des OAs en franỗais à un client ayant des ressources en anglais
Le contrat est encore utilisé dans le langage de requêtes des MOA, un des facteurs les plus importants pour exécuter une recherche Le composant de bas est la comparaison qui se compose de trois éléments :
• Opération : égale à (eq), non égal à (ne), inférieur à (le), supérieur à (gt), inférieur ou égal à (le), supérieur ou égal à (ge)
• Champ : Un élément dans la liste de MOA
• Valeur : Le type de cette valeur doit correspondre à l’opération
Les types se groupent dans un des trois cas suivants:
• Le type numérique : La valeur est un numéro Par conséquent, toutes les opérations sont applicables Par exemple, l’expression "la taille ne doit pas être supérieure à 30000" est présente comme "taille (LOM 4.2) < = 30000"
• Le type alphanumérique : Il est possible de comparer des valeurs (toutes les opérations peuvent être utilisées) mais il faut établir un ordre de ces valeurs
Par exemple, on a: "very easy" < "easy" < "medium" < "difficult" < "very difficult"
• Le reste : Dans ce cas, seuls l’opération "eq" et l’operation "ne" sont applicables Par exemple, le langage est ộgal ou non ộgal à "franỗais" Un langage ne peut être inférieur ou supérieur à "anglais"
Un contrat limite les interactions entre un client et le système de courtage D’abord, il définit les services que le client fournit Récemment, nous définissons deux types de services :
• "Checked LOM Query Request" : être capable de traiter des requêtes des MOA
• "Checked LO Use Authorize Request" : permettre de télécharger ses OAs
Le contrat indiq ue également les types de requêtes que le SC permet à ce client d’envoyer Les types sont :
Chaque type de requêtes est associé avec un filtre permis au client indiquant les types d’OAs (les métadonnées) C’est à dire, le contrat indique un sous-ensemble de MOA pour chaque requête Par exemple, un contrat indique le client n’exécute que des objets dont les tailles sont inférieures ou égales à 30.000 Kilo-octet
Il est possible que différentes requêtes partagent le même filtre, donc elles sont groupées dans une clause unique Une clause se compose d’une liste de requêtes et d’un filtre correspondant
La description d’un contrat par encodage XML permet facilement de faire des échanges entre des environnements Donc un XML schéma est utilisé pour spécifier cette a) Introduction au schéma XML
Le schéma XML est une norme du W3C permettant de créer des modèles de documents XML Ces modèles permettent de décrire la structure de ces documents (quels tags et arguments peuvent être utilisés, dans quel ordre, ) Il est possible de créer autant de documents XML à partir d'un seul modèle
Logiquement, il faudrait toujours commencer par définir un schéma avant d'écrire des documents XML qui en seront dérivés Toutefois, il est tout à fait possible de faire un Schema d'après un document existant, comme dans l'exemple ci-dessous
Voici un document XML de base :
Voici le schéma peut être employé pour générer un tel catalogue d’étudiants
b) Schéma du contrat
Nous proposons le schéma ci-dessous définissant des documents XML de contrats
Contract element
L’image suivante est de faciliter la compréhension
Figure 6 Schéma du contrat c) Schéma du filtre
Schéma du contrat se base sur le schéma du filtre qui est définit récursivement
Figure 7 Schéma du filtre d) Exemple
Le document XML suivant représente un contrat, assigné au client "giunti" qui peut envoyer tous les types de requête, et indique que le client offre seulement le service "LOM Search service" Seul l’utilisateur "teacher" est capable d’avoir accès aux OAs dont les tailles sont inférieures ou égales à 30000 Le client peut éditer et mettre à jour des OAs qui sont en italien Aucun filtre ne s'applique à "LO Use Execute Request" et à "LO Use Autho rize Request" parce qu'ils sont d’accord avec ce qui a été déjà vérifié dans le processus d'autorisation
Le contrat du client "giunti" :
eq
general.language
italian
eq
intendedenduserrole
teacher
lt
size
En conclu sion, le contrat support la recherche fédérée dans le réseau européen d’apprentissage Sans contrat, la performance de la recherche ne pourrait pas répondre aux demandes du projet CELEBRATE.
Réalisation
Dans cette partie, nous présentons le processus pour établir des contrats et l’implémentation en java et en Jsp
3.1 Conception a) Diagramme de cas d'utilisation
Dans ce module, on définit 6 cas d'utilisation (figure 7)
Figure 8 Diagramme de cas d'utilisation
• "Contract Registration" : Le client enregistre le système, après avoir donné des informations propres il propose ses contrats Ce contrat n’est pas valide s’il n’est pas approuvé par l’administrateur
• "Contract Modification" : Le chient met à jour son contrat et attend l’accord de l’administrateur
• "Contract Deletion" : Le chient ne veut plus participer au réseau et attend l’accord de l’administrateur
• "Contract Approve" : L’administrateur approuve l’enregistrement, le changement, la suppression de contrat du client
• "Contract Management" : L’administrateur change, supprime un contrat
• "Pre-Contract Management" : L’administrateur gère des exemples Le nouveau client commence par choisir un des exemples et puis le modifie b) Etats d’un contrat
A partir des cas d’utilisation, on voit qu’il existe deux types de contrat : un est la proposition du client et quand l’administrateur l’approuve, il devient le contrat efficace utilisé dans la recherche
Contrat de proposition Contrat efficace
Figure 9 Etats d’un contrat c) Diagrammes de classes
Nous mettons les "classes" dans des packages suivants :
• Le package "applet" contient les classes qui ont pour but d’aider l’utilisateur à fournir le filtre du contrat
• Le package "formula" présenté par la figure 10 vise à gérer le filtre
• Le package "daos" et le package "registration" sont utilisés pour stocker et récupérer des données
• Le package "jaxb" est la liaison avec XML (cette technique est présenté dans la section Architecture Java pour la liaison avec XML (JAXB))
• Le package "Jsp" se compose des pages web jsp qui génèrent dynamiquement des documents web
Figure 11 Le contenu du package formula Les détails des classes sont figurés dans la section annexe 1
On sait que les contrats sont des documents XML mais on a deux possibilités : stocker et rộcupộrer des documents XML comme des chaợnes de caractốres ou bien, utiliser un système de gestion de base de données possédant des fonctionnalités XML Le système de gestion de base de données ORACLE 9i permet à l’utilisateur d’extraire et d’insérer des données au format XML a) Tables dans la base de données
Pour créer la table du contrat, on suit les étapes suivantes
• Enregistrer le schéma du filtre dbms_xmlschemạregisterSchemắhttp://celebratẹeun.org/xml/schemas/filter-0.1.xsd', '
', TRUE, TRUE, FALSE, FALSE);
• Enregistrer le schéma du contrat dbms_xmlschemạregisterSchemắhttp://celebratẹeun.org/xml/schemas/contract-0.2.xsd', '
', TRUE, TRUE, FALSE, FALSE);
CREATE TABLE CONTRACT ( CONTRACTID VARCHAR2 (20) NOT NULL, CLIENTID VARCHAR2 (20) NOT NULL,
XMLTYPE COLUMN CONTRACT XMLSCHEMA "http://celebrate.eun.org/xml/schemas/contract-0.2.xsd"
Les mêmes étapes pour créer les autres tables b) Extraction des données par l’utilisation du langage XPATH
Un document XML possède sept types de nœuds différents Ces nœuds permettent de naviguer dans l'arborescence d'un document et surtout de sélectionner des éléments, attributs ou tout autre constituant Suite à la sélection de ces derniers, des valeurs, en l'occurrence toujours des chaợnes de caractốres, peuvent ờtre extraites de ces nœuds
Type de nœud Signification Racine Représente l'élément racine
Représente la valeur de la concaténation de toutes les données trouvées dans l'élément lui-même et de tous ces descendants
Texte Représente le texte contenu dans le nœud courant
Attribut Représente la valeur de l'attribut du nœud courant
Espace de noms Représente l'URI (Uniform Resource Identifier) Instruction de traitement Représente la valeur des attributs contenue dans l'instruction
Commentaire Représente le texte contenu dans le commentaire
Table 1 Description de type de nœuds XPATH est le langage qui permet de désigner un ou plusieurs nœuds dans un document XML, à l'aide d'expressions de chemin Un chemin XPATH est une suite d’étapes :
La chaợne suivante de caractốres montre le chemin XPATH d'accốs à la deuxiốme clause d’un contrat : "/contract/clause[position()=2]"
L’utilisation du langage XPATH et du langage structuré de requêtes (SQL) nous permet d’extraire des données de base de données Par exemple, la commande suivante récupère toutes les requêtes de "david" :
SELECT EXTRACT(CONTRACT.CONTRACT, '/contract/clause').GETSTRINGVAL() AS Clause FROM CONTRACT WHERE CLIENTID='david'
Implémentation
Dans cette phase, en utilisant de nouvelles techniques, des patterns, nous réalisons des packages ci-dessus Nous chosissons l’outil "Sun One Application Server 7.0" pour le serveur web et l’outil "Sun One Studion 4.0" pour le développement de classes Le package jaxb est généré automatiquement par l’architecture java pour la liaison avec XML
4.1 Architecture Java pour la liaison avec XML (JAXB)
JAXB ("Java Architecture for XML Binding") définit l'architecture et les API permettant de sérialiser et désérialiser des objets Java en fragments XML Suivant cela des produits existants tels que Castor ou Zeus, JAXB repose sur des schémas W3C XML Schema pour définir la structure des documents XML
JAXB introduit de manière explicite un sous-ensemble du schéma W3C XML qu'une implémentation JAXB devra supporter pour mériter une estampille JAXB et une liste de concepts du schéma W3C XML non exigés qu'elles peuvent ignorer On notera notamment que, paradoxalement, cette liste de fonctions facultatives comprend des fonctions "orientées objets" du schéma W3C XML telles que la redéfinition des déclarations, la substitution de types dans les instances de documents, les groupes de substitution et des attributs de contrôle de dérivation ainsi que les contraintes d'intégrités basées sur XPath
Voici le code de l’interface ContractType :
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.1-05/30/2003 05:06 AM(java_re)-fcs
// See http://java.sun.com/xml/jaxb
// Any modifications to this file will be lost upon recompilation of the source schema
// Generated on: 2003.09.02 at 03:23:33 CEST // package org.eun.celebrate.bs.jaxb;
* Java content class for ContractType complex type
*
The following schema fragment specifies the expected content contained within this java content object
* <element ref="{http://celebrate.eun.org/xml/ns/contract-0_2}client"/>
* <element ref="{http://celebrate.eun.org/xml/ns/contract-0_2}services"/>
* <element ref="{http://celebrate.eun.org/xml/ns/contract-0_2}clause" maxOccurs="unbounded"/>
* <attribute name="contractId" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* <attribute name="schemaVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}decimal" />
* <attribute name="contractType" use="required">
* <restriction base="{http://www.w3.org/2001/XMLSchema}string">
* {@link org.eun.celebrate.bs.jaxb.ClientType}
*/ org.eun.celebrate.bs.jaxb.ClientType getClient();
* @param value allowed object is
* {@link org.eun.celebrate.bs.jaxb.ClientType}
*/ void setClient(org.eun.celebrate.bs.jaxb.ClientType value);
* @param value allowed object is
*/ void setSchemaVersion(java.math.BigDecimal value);
* {@link org.eun.celebrate.bs.jaxb.ServicesType}
*/ org.eun.celebrate.bs.jaxb.ServicesType getServices();
* @param value allowed object is
* {@link org.eun.celebrate.bs.jaxb.ServicesType}
*/ void setServices(org.eun.celebrate.bs.jaxb.ServicesType value);
* @param value allowed object is
*/ void setContractId(java.lang.String value);
* Gets the value of the Clause property
* This accessor method returns a reference to the live list,
* not a snapshot Therefore any modification you make to the
* returned list will be present inside the JAXB object
* This is why there's any setter method for the Clause property
* For example, to add a new item, do as follows:
* Objects of the following type(s) are allowed in the list
* {@link org.eun.celebrate.bs.jaxb.ClauseType}
* @param value allowed object is
*/ void setContractType(java.lang.String value);
4.2 Connexion à la base de données
Nous appliquons deux patterns "Singleton factory" et "Data Access Object" [9] dans le package daos De plus, nous améliorons la performance de la connexion à la base de données en utilisant la technique JNDI ("Java Naming and Directory Interface") qui aide à communiquer avec les services de nommage et d'annuaire en réseau
La classe CommonRessources est implémentée comme suit :
* Created on 25 aỏt 2003, 15:20 */ package org.eun.celebrate.bs.daos; import java.sql.Connection ; import javax.naming.* ; import javax.sql.* ;
/** This file is part of the Celebrate Brokerage System
* @supplierRole Singleton factory */ private static CommonRessources instance = null ; private final String DSNAME = "jdbc/eundev" ;
/** Creates a new instance of CommonRessources */ protected CommonRessources() { }
/** Gets the only instance of this class
* @return the only instance */ public static CommonRessources getInstance() { if(instance == null) { synchronized(CommonRessources.class) { if (instance == null) { instance = new CommonRessources();
/** Gets the connection from the connection pool
* @return the connection */ public Connection getConnection() {
DataSource ds = null ; InitialContext ctx = null ; try { ctx = new InitialContext() ; System.out.println("Looking resource name "); ds = (DataSource) ctx.lookup( DSNAME ) ; System.out.println("Resource information : " + ds); conn = ds.getConnection() ; System.out.println("Sucess to getConnection!");
} catch (Exception e) { System.out.println("Fail to getConnection!"); e.printStackTrace() ; } return conn ; }
Nous souhaitons que les interfaces soient simples et conviviales L’interface la plus importante est l’interface du filtre On voit que un filtre est vraiment une formule récursive
Nous présentons un filtre par un arbre dont l’image est ci-dessous Pour l’utilisateur, il est plus facile à comprendre un filtre avec une formule traditionnelle qui est affichée en bas
Il est nécessaire que seul l’administrateur puisse approuver les changements de contrats et qu’un client ne puisse pas modifier les autres contrats Il faut que chacun donne son mot de passe avant de modifier ses informations et ses contrats Evidement, il est interdit qu’un client change de contrat de l’autre Alors, nous vérifions la permission de l’utilisateur en utilisant une variable de session avant de valider ses actions.
Résultat
Ce module a été construit pendant le stage pour aider les membres à établir leurs contrats Un membre enregistre ses informations à travers des pages WEB Les interfaces de ce sous-système figurent à l’annexe 2 A partir un contrat, le client peut se connecter au réseau pour chercher des objets, les télécharger et ainsi proposer ses objets.
Conclusion
Travail réalisé
En appliquant de nouvelles techniques, nous avons terminé la mise en œuvre le sous-système permettant aux clients d’établir leurs contrats Un contrat présente les types de ressources pédagogiques utilisées par le client Nous utilisons un ensemble de métadonnées basé sur la norme IEEE LOM Ces contrats permettent d’améliorer la qualité de la recherche des métadonnées d’objets d’apprentissage stockées dans le dépôt central ou chez les clients
Ce travail nous a permis de mieux comprendre le réseau européen d’apprentissage, surtout la recherche fédérée des descripteurs d’objets utilisés dans des systèmes de gestion du contenu d’apprentissage.
Perspective
Dans un avenir proche, des écoles, des universités et des fournisseurs de ressources pédagogiques utiliseront ce réseau Cela permettra aux enseignants et aux élèves de communiquer Grâce aux nouvelles technologies, chaque élève ou enseignant, peut accéder plus facilement aux informations scolaires D’autre part, ceci constituera un gain de temps et d’argent pour les pays européens Nous souhaitons donc que le Vietnam possède un tel réseau pour augmenter la qualité de son enseignement
[1] D Massart et F Van Assche Brokerage system design Celebrate Deliverable D 3.3 part A (IST-2001-35188)
[2] F Neven and E Duval Reusable learning objects: a survey of LOM-based repositories In Proceedings of the tenth ACM international conference on Multimedia, pages 291-294 ACM Press, 2002
[3] G Richards The challenges of the learning objects paradigm Canadian Journal of Learning and Technology, 28(3):3 -10, 2002
[4] IEEE Standards Department IEEE 1484.12.1-2002, Learning Object Metadata Standard
[5] J.-N Colin et J Simon Authentication, authorisation, and rights management for the CELEBRATE brokerage system Celebrate Deliverable D 3.3 part B (IST-2001-
[6] L Nirhamo and F Van Assche The CELEBRATE metadata application profile
[7] M Hatala and G Richards POOL, POND and SPLASH: A Canadian Infrastructure for Learning Object Repositories
[8] R Vuorikari Ressources d'apprentissage européennes In EIAH2003 Environnements Informatiques pour l'Apprentissage Humain Actes de la conférence EIAH
2003, pages 31-40 C Desmoulins and P Marquet and D Bouhineau, 2003 Also availab le as url http://archiveseiah.univ-lemans.fr/EIAH2003/Pdf/n006-143.pdf
[9] Sun Microsystems Guidelines, Patterns, and code for end-to-end Java applications
Available as url http://java.sun.com/blueprin ts/patterns.
Les diagrammes de classes
Figure 13 Le contenu du package applet
Figure 14 Le contenu du package daos
Figure 15 Le contenu du package formula
Figure 16 Le contenu du package jaxb
Figure 17 Le contenu du package registration
Les interfaces
Figure 21 Choix un contrat pré-définit
Figure 23 Administrateur approuve un contrat
Profil d'application des métadonnées d’objets d'apprentissage
1.1 Identifier 1.1.1 Catalog 1.1.2 Entry 1.2 Title 1.3 Language 1.4 Description 1.5 Keyword 1.6 Coverage 1.7 Structure 1.8 Aggregation Level
2 Life Cycle 2.1 Version 2.2 Status 2.3 Contribute 2.3.1 Role 2.3.2 Entity 2.3.3 Date
3 Meta-Metadata 3.1 Identifier 3.1.1 Catalog 3.1.2 Entry 3.2 Contribute 3.2.1 Role 3.2.2 Entity 3.2.3 Date
No Nom (en anglais) 3.4 Metadata Schema 3.5 Language
4 Technical 4.1 Format 4.2 Size 4.3 Location 4.4 Requirement 4.4.1 OrComposite 4.4.1.1 Type
4.4.1.2 Name 4.4.1.3 Minimum Version 4.4.1.4 Maximum Version 4.5 Installation Remarks 4.6 Other Platform Requirements 4.7 Duration
5 Educational 5.1 Interactivity Type 5.2 Learning Resource Type 5.3 Interactivity Level 5.4 Semantic Density 5.5 Intended End User Role 5.6 Context