Académique Documents
Professionnel Documents
Culture Documents
Thme
Conception et Ralisation dune plateforme du e-Learning base sur les services Web
Promotion : 2006/2007
Remerciements
Quelques lignes ne pourront jamais exprimer la reconnaissance que nous prouvons envers tous ceux qui, de pris ou de loin, ont contribu, par leurs conseils, leurs encouragements ou leurs amitis laboutissement de ce travail. Nos vifs remerciements accompagns de toute notre gratitude vont tout dabord nos promoteurs Mr. Hamrouche et Mr. Balla. Pour nous avoir propos ce sujet, pour les conseils quils nont cess de nous prodiguer et surtout pour la confiance quil nous a accord pour la ralisation de ce projet. Notre reconnaissance va tous nos enseignants lINI, en gnral.
Ddicace
Grace Dieu voila notre travail termin et il est temps pour moi de partager ma joie avec tout ceux qui mon soutenu et encourager. A vous, ma mres et mon pre qui vous consacr votre vie notre ducation et a faire notre bonheur. A ma sur Aydat avec sa petite famille. A mes frres, Abderrahmane, Imane, Youssera ainsi qu ma prcieuse sur Aya. A toute ma famille, mon oncle et mon tante. A tous mes amis de lebled en particulier Djaber, Chaker, Nafaa, Faycel, Gagy, Fouad, Farouk, Khaled, Nabil, Nacer, Selami et Alimme Aladel. A tous mes amis de Bouraoui en particulier Mohamed, Sofiane, Ramzie, Abdlganie, Touil, Nacer, Alhoucine, Nadir, Ilyes, Youssef, Hichem, Mabrouk, SidAli, Hocine, Walid, Moufid, Blakacem et Hemida. A mon binme Djamel et sa famille. Adel.
Ddicaces
Arriv ce stade, nest que le fruit du milieu familial qui mest propice, le fruit de lquilibre et du sacrifice de mes Parents, Ces tres chers que Dieu les protge. Quil mest agrable en ce moment de partager ce bonheur avec eux. Je ddie ce modeste travail mes chers Parents qui ont t de tout temps, les plus proches , qui nont jamais mnag leurs efforts, leurs encouragements et leur soutien avec abngation et patience Sans oublier mes Grands Parents. A mes surs Sihem et Latifa. A mes Oncles, Tantes et cousins et allis de la famille. En ce moment je ne peux oublier. A lensemble des amis que jai connu pendant mes tudes et ceux qui ont prodigu leurs vifs conseils, encouragements et tmoign de leur amiti. A mon binme Adel et sa famille. Djamel
1.7 Conclusion ........................................................................................................................ 26 Chapitre 2 : E-Learning 2.1 Introduction ..................................................................................................................... 27 2.2 Dfinition du e-Learning ................................................................................................. 28 2.3 Les facteurs de motivation du e-Learning .................................................................... 29 2.4 Les sites Web et les plates-formes pour le-Learning ................................................... 30 2.4.1 Les sites Web .......................................................................................................... 30 2.4.2 Les plates-formes pour le-Learning.................................................................... 30 2.4 Lapproche service Web ................................................................................................. 36 2.5 Conclusion ......................................................................................................................... 41 Chapitre 3 : La conception 3.1 Introduction ..................................................................................................................... 42 3.2 Architecture gnrale du systme propos .................................................................... 43 3.3 Identification les acteurs de la plate-forme ................................................................... 45 3.3.1 Ladministrateur ..................................................................................................... 45
3.3.2 Lenseignant ............................................................................................................. 45 3.3.3 Lapprenant ............................................................................................................. 46 3.4 Identification les services Web de la plate-forme ......................................................... 46 3.4.1 Le service Web de gestion des utilisateurs ............................................................ 46 3.4.2 Le service Web de gestion des profils ................................................................... 46 3.4.3 Le service Web de consultation des profils ........................................................... 47 3.4.4 Le service Web de cration des cours et preuves ................................................ 47 3.4.5 Le service Web de suivie des apprenants .............................................................. 47 3.4.6 Le service Web de consultation des cours et preuves ......................................... 47 3.4.7 Le service Web d'interrogation .............................................................................. 47 3.5. Interaction entre les services Web ................................................................................ 48 3.5.1 Interaction entre le service de gestion des utilisateurs et le service de gestion des profils..................................................................................................................... 48 3.5.2 Interaction entre le service de consultation des profils et le service de gestion des profils.................................................................................................................... 49 3.5.3 Interaction entre le service de suivie des apprenants et le service de gestion des profils .......................................................................................................................... 49 3.5.4 Interaction entre le service de gestion des profils et le service de consultation des cours ..................................................................................................................... 49 3.5.5 Interaction entre le service de suivie des apprenants et le service de consultation des cours ............................................................................................... 49 3.5.6 Interaction entre le service d'interrogation et le service de gestion des profils 49 3.5.7 Interaction entre le service d'interrogation et le service de cration des cours 49 3.6 L'annuaire des services Web .......................................................................................... 50 3.7 Description de la plate-forme e-Learning .................................................................... 51 3.7.1 La phase de dploiement des services Web ........................................................... 51 3.7.2 La phase de recherche des services Web ............................................................... 51 3.7.3 La phase dinvocation des services Web................................................................ 52 3.8 La plateforme popose .................................................................................................... 52 3.8.1 La composition de la plate-forme ........................................................................... 52 3.8.2 Fonctionnement de la plate-forme ......................................................................... 54 3.9 Les diagrammes UML reprsentatifs de la plate-forme .............................................. 55 3.9.1 Les diagrammes communs tous les acteurs ...................................................... 56
3.9.2 Les diagrammes particuliers chacun des acteurs ............................................ 59 3.10 Conclusion ...................................................................................................................... 76 Chapitre 4 : La ralisation 4.1 Introduction ..................................................................................................................... 77 4.2 Prsentation des outils de dveloppement .................................................................... 77 4.2.1 Prsentation de la plateforme de dveloppement J2EE ..................................... 77 4.2.2 Prsentation du JSP............................................................................................... 78 4.2.3 Prsentation du JavaScript ................................................................................... 78 4.3 Description de serveur dapplication Apache Tomcat ................................................. 79 4.4 Description du serveur de base de donnes MySQL .................................................... 79 4.5 Implmentation des services Web de la plateforme ..................................................... 80 4.5.1 Aperu technique dune plateforme e-Learning distribue dans le Web.......... 80 4.6 Prsentation de limplmentation des services Web .................................................... 83 4.7 Implmentation des interfaces et fonctionnalits de lapplication client.................... 88 4.7.1 Page daccueil ......................................................................................................... 89 4.7.2 Interfaces communes ............................................................................................. 90 4.7.3 Interfaces propres chaque utilisateur ............................................................... 92 4.8 Conclusion ........................................................................................................................ 97 Conclusion Gnrale............................................................................................................... 98
Figure 30 : Diagramme de squence daffichage dun cours.............................................. 75 Figure 31 : Schma technique illustrant larchitecture mise en uvre. ............................ 80 Figure 32 : Structure de la classe ServiceGestionprofil. ..................................................... 83 Figure 33 : Structure de la classe ServiceGestionUtilisateur. ............................................ 84 Figure 34 : Structure de la classe ServiceCreationCours. ................................................. 85 Figure 35 : Structure de la classe ServiceConsultationProfil. ........................................... 86 Figure 36 : Structure de la classe ServiceSuivieApprenant. .............................................. 86 Figure 37 : Structure de la classe ServiceConsultationCours. .......................................... 87 Figure 38 : Structure de la classe ServiceInterrogation. .................................................... 88 Figure 39 : Page daccueil. .................................................................................................... 89 Figure 40 : Interface dinscription. ...................................................................................... 90 Figure 41 : Interface dauthentification dans la plateforme. ............................................. 91 Figure 42 : Interface de ladministrateur. ........................................................................... 93 Figure 43 : Interface de lenseignant. ................................................................................... 94 Figure 44 : Interface de cration des cours et des exercices. ............................................. 95 Figure 45 : Interface de lapprenant. ................................................................................... 96 Figure 46 : page daccueil de registre UDDI. ...................................................................... 97 Figure 47 : Interface de recherche dun service Web. ....................................................... 98 Figure 48 : Interface de rsultat de la recherche dun service Web dans le registre UDDI. ...................................................................................................................................... 99 Figure 49 : Interface pour ajouter un service Web. .......................................................... 100
Glossaire
Glossaire
API : Application Prgramm Interface. B2B : Business to Business. BPEL4WS : Business Process Execution Language for Web Services. BPML : Business Process Markup Language. CORBA : Common Object Request Broker Architecture. DCOM : Distributed Component Object Model. DTD : Document Type Definition. ebXML : Electronic Business XML. FTP : File Transfert Protocol. JSP : java Server Page. HTML : HyperText Markup Language. LMS : Learning Management System. LCMS : Learning Content Managemnt System. OASIS : Organization for the Advancement of Structured Information Standards. RMI : Remote Method Invocation. SMTP : Simple Mail Transfer Protocol. SOAP : Simple Object Acces Protocol. TTTP : HyperText Transfert Protocol. URL : Uniform Ressource Locator. URI : Uniform Resource Identifier UML : Unified Modeling Language. UDDI : Universal Description, Discovery and Integration. WSDL : Web Service Description Language. W3C : World Wide Web Consurtium. WS-I : Web Services Interoperability. WSCL : Web Services Conversation Language. WSFL : Web Services Flow Language. XML : eXtensible Markup Language.
Rsum
Rsum
Au cours de ces dernires annes, les systmes dinformation contenus sur Internet ont toujours servi pour un accs rapide, facile et gnraliste la demande pertinente de linternaute, selon ses besoins par lactualisation des technologies y affrentes. Au dbut, la recherche de linformation sappliquait directement sur le Web, avec tous les inconvnients ; mais lapparition de services Web a permis de changer cet tat hrit depuis le dbut, par la cration et lutilisation des applications qui ont permis de raliser un systme dinformation rapide et efficace distribu sur lInternet. Les services Web sont des technologies mergentes, prometteuses pour le dveloppement, le dploiement et lintgration dapplications Internet. Ces technologies fournissent une infrastructure pour dcrire (WSDL), dcouvrir (UDDI) et invoquer (SOAP) des services Web. Ces technologies sont bases sur XML qui constitue la technologie utilise pour dvelopper les services Web. Un des avantages majeurs des services Web est lapport de linteroprabilit sur Internet entre les plateformes, les applications et les langages de programmations, cest--dire que larchitecture des services Web permet aux applications de communiquer facilement via lInternet quelque soient le systme dexploitation et le langage de programmation. Actuellement, et via Internet, il est propos e-Learning, qui donne la possibilit dune formation distance et adapte lapprenant, et o lapprentissage nest pas limite dans le temps. Le e-Learning est un domaine de linformatique, o le dveloppement des technologies est continu, permettant une adaptation meilleure la demande, ce dveloppement touche essentiellement son architecture qui devient de plus en plus distribue et interactive.
Abstract
Abstract
Summary During these last years, the information systems contained on Internet have always been useful for a fast access, easy and general practitioner with the relevant request of the Net surfer, according to his needs by actualization for related technologies y. To the beginning, the information retrieval applied directly to the Web, with all the disadvantages; but the appearance of Web services made it possible to change this state inherited since the beginning, by the creation and the use of the applications which made it possible to carry out a fast and effective information system distributed on the Internet. The Web services are emergent, promising technologies for the development, deployment and the integration of applications Internet. These technologies provide an infrastructure to describe (WSDL), to discover (UDDI) and to call upon (SOAP) Web services. These technologies are based on XML which constitutes technology used to develop the services Web. One of the major advantages of the Web services is the contribution of interworking on Internet between the platforms, the applications and the programming languages, C `be-withstatement which the architecture of the Web services makes it possible the applications to easily communicate via the Internet some are the operating system and the programming language. Currently, and via Internet, it is proposed e-Learning, which gives the possibility of one formation remote and adapted to learning, and where the training is not limited in time. The e-Learning is a field of data processing, where the development of technologies is continuous; allowing a better adaptation to the request, this development touches primarily its architecture which becomes increasingly distributed and interactive.
IntroductionGnrale
Introduction Gnrale
La progression rapide des technologies de linformation et de la communication a donn la naissance une nouvelle forme denseignement dite e-Learning. Les deux acteurs principaux dans ce mode d'apprentissage sont l'enseignant et l'apprenant. Pour que les enseignants et les apprenants puissent sadapter cette nouvelle mthode denseignement, les plateformes deLearning doivent avoir les caractristiques suivantes : la simplicit, linteroprabilit des contenus pdagogiques, la rutilisation des contenus pdagogiques et ladaptation des documents aux besoins des apprenants. Plusieurs environnements d'apprentissages sont adopts dans le monde. Ces systmes permettent, par exemple, laccs des ressources pdagogiques, de procder des valuations, et la gestion des interactions entre enseignants et apprenants. Pour la mise en uvre de ces environnements, on a recours l'utilisation des LMS et LCMS. Les environnements dapprentissage actuels sont bass sur les LMS et LCMS ont une architecture centralise, cest--dire une seule entit qui fournit toutes les fonctionnalits, ce qui rend leurs extensions difficiles. En plus, il y a la difficult dintgrer avec dautres systmes, de ce fait ces systmes sont dits ferms. Les acteurs de ces systmes exigent des besoins de plus en plus croissants en termes de partage et de possibilit de rutilisation des donnes. Ce qui incite lexpansion de ces systmes vers des systmes bass sur les environnements rpartis et distribus. Cette nouvelle gnration est dite systme dapprentissage dcentralis. Ces systmes sont bass sur les services Web, qui assurent une bonne communication entre les diffrentes applications. Lobjet de notre tude est la recherche de rponses par lanalyse des plateformes utilises, la modlisation des principales fonctions dune plateforme, la conception dune architecture distribue et compose dun ensemble des services Web, la ralisation dune plateforme dapprentissage e-Learning base sur les services Web. Page 1 -
IntroductionGnrale
Sachant que, le service Web est une technologie, mergente, jeune et ne la fin des annes quatre-vingt-dix, et qui dsigne essentiellement une application ou un programme mise disposition sur Internet par un fournisseur de service, et accessible par les clients travers lutilisation des protocoles Internet standards. Lobjectif premier du service Web consiste crer des applications constitues uniquement de services Web, qui interagissent entre eux dune manire intelligente. Par exemple, des applications de service Web sont actuellement disponibles, o on peut trouver un large spectre dapplication intressants comme : le e-business, la finance, la tlcommunication, le mLearning, le-Learning,etc. Notre travail sintresse au dernier domaine cit. Ce document est structur en trois parties : ltat de lart, la conception et la ralisation. Ltat de l'art : cette partie est compose de deux chapitres : Le 1er chapitre est la prsentation de la technologie des services Web, la dfinition, larchitecture, le standardetc. Le 2me chapitre est la prsentation du e-Learning, sa dfinition, ses facteurs de motivations, la description des plateformes de formation distance, leurs fonctionnalits et leurs applicationsetc. La conception : constitue dun seul chapitre qui sintresse ltude conceptuelle du systme dvelopper. Dans ce cadre, nous exposons la dmarche pour la conception dune architecture du e-Learning, ensuite nous dtaillons les acteurs impliqus et les fonctionnalits dvelopper dans cette plateforme. La ralisation : constitue dun seul chapitre, relatif loutil dvelopp ; o on retrouvera la description dtaille de notre solution, les outils utiliss pour le dvelopper et quelques interfaces de lapplication propose. Dans la conclusion, lobjet de ltude est la rponse la problmatique dveloppe, et rsume ce qui a t trouv avec les points forts et les points faibles de notre solution. Des annexes ont t ajoutes afin dapporter de plus amples informations sur certains points dcrits dans le rapport.
Page 2 -
Chapitre1:LesservicesWeb
Chapitre 1
Les services Web
1.1 Introduction
Le Web actuel est un immense espace dinformations, dans lequel lindividu aura certainement besoin des machines pour laider les retrouver ; or la structure actuelle du Web ne facilite pas cette tche, tant donn quelle favorise plus la comprhension humaine par rapport celui des machines. Le Web contient des vastes bases de donnes avec plusieurs buts et de multiples sources non homognes. Ceci prouve quil est ncessaire damliorer laccessibilit cette importante masse dinformations, et de disposer doutils plus sophistiqus pour une meilleure recherche et organisation au sein du Web Les services Web fournissent une nouvelle manire de dvelopper des applications conformes aux besoins de lInternet, et ils semblent tre la solution la plus adapte pour assurer linteroprabilit, qui permet de transmettre les donnes entre les diffrentes applications dune organisation comme lentreprise, la socit ou lindividu ; ainsi la technologie des services Web permette de raliser le traitement de ces donnes, et grer les liaisons entre les diffrentes applications. Lapproche ultime de cette vision consiste donc crer des applications constitues uniquement de services Web qui interagissent entre eux. Dans ce cas de figure, peu importe o est dploy le service Web, ce qui importe est que le service remplisse un rle bien prcis.
Page 3 -
Page 4 -
Chapitre1:LesservicesWeb
Il peut interagir directement avec dautres services Web travers le langage XML et en utilisant des protocoles Internet standards.
avec un programme qui permet de linvoquer est appel le consommateur de service Web, et qui sont indpendants lun de lautre. Si une modification est faire sur le consommateur, on na pas besoin de connaitre la machine, le langage de Page 5 -
Chapitre1:LesservicesWeb
programmation, le systme dexploitation ou autre paramtre, afin dtablir nouveau une communication entre le service Web et son consommateur. Le consommateur possde une fonctionnalit qui correspond faire une localisation et une invocation sur le service Web, au moment de lexcution du programme de service Web de manire automatique.
Page 6 -
Chapitre1:LesservicesWeb
lutilisateur, et permettent davoir un partage des fonctionnalits et facilitent grandement le dveloppement. Plus spcifiquement, les services Web devraient permettre aux entreprises de [Bry04] : Donner aux clients un accs direct linformation, aux donnes et aux fonctionnalits dont ils ont besoin pour interagir avec une entreprise. Donner aux partenaires dune entreprise un accs direct la fonctionnalit dont ils ont besoin pour mieux servir les clients quils ont en participation avec cette entreprise. Donner aux fournisseurs dune entreprise un accs direct linformation et la fonctionnalit dont ils ont besoin pour leur permettre dajuster les inventaires. Intgrer efficacement des applications de bout en bout, de manire abordable, meilleur et facile implanter autant hors des frontires de lentreprise qu lintrieur de lentreprise. Les services Web offrent donc aux entreprises la flexibilit de rponse et danticipation des besoins changeant des clients, la normalisation des infrastructures logiciels, la flexibilit dinteraction et de configuration des accords externes avec les partenaires et fournisseurs. Les services Web offrent les solutions suivantes [Cha03] : Architecture de composants : Les systmes base de composants les plus classiques prsentent souvent une faille au niveau de leur conception. En fait, la pauvret des systmes d'interconnexion existants entre leurs diffrents modules nuit souvent leur ouverture. En effet, les liens entre les applications sont souvent statiques et un simple changement dans l'un des modules peut avoir de graves rpercussions. Cette situation, parfois vite par un bon niveau d'abstraction dans l'analyse de conception, laisse souvent la place de trop nombreux cas o la modification de l'implmentation d'un des modules d'une application, entrane aussitt la modification du contenu d'autres parties du programme. Les Web services proposent un niveau d'abstraction suprieur qui remplace les modles d'applications courants par une architecture plus modulaire, plus flexible et qui possde donc une meilleure tolrance aux changements.
Page 7 -
Chapitre1:LesservicesWeb
Facilitation de linteroprabilit : Les Web services s'appuient sur les protocoles SOAP, WSDL et UDDI. Ces standards bass sur le langage XML, que nous dcrirons plus loin, permettent de simplifier l'utilisation des services auxquels ils sont lis, par l'utilisation de fichiers textuels, donc lisibles par l'utilisateur. Leur contenu se limitant aux lments d'interoprabilit essentiels, ces standards assurent une grande indpendance de l'implmentation par rapport au systme d'exploitation, l'architecture machine ou au langage utilis. Intgration temps rel : L'architecture des services Web montre une volution dans la conception d'applications. On passe d'un design objet un design de services. Les applications se rsument l'association dynamique de services en temps rel. Tous les composants de l'application sont donc des services qui encapsulent leur comportement, et possdent des mcanismes de publication et de dcouverte dautres modules. En fait, lors de l'excution, les besoins de l'utilisateur sont traduits en entre pour le systme de dcouverte de services, qui va trouver le service correspondant et qui va ensuite grer la transmission des messages ncessaires l'excution de celui-ci. L'avantage, c'est qu'un groupe de services peut lui-mme tre vu comme un service, ce qui en facilite l'utilisation. Ouverture : Les services Web sont la plus rcente technologie utilise pour supporter le dveloppement de systmes dinformation distribus sur Internet, en particulier les applications B2B sur lInternet. Aujourdhui, ils semblent tre la solution la plus adapte pour assurer linteroprabilit sur lInternet entre les plateformes, les systmes dexploitation et les langages de programmation. Pour rsumer, les services Web ont plusieurs avantages, comme lutilisation de standards universels, lindpendance de plateforme, un environnement universel pour les systmes dinformation distribus, lutilisation de plusieurs protocoles de transfert (par exemple HTTP, SMTP et FTP), le codage des messages en XML, un comportement compatible aux pare-feu, et la localisation par URI. Lobjectif ultime de lapproche services Web est de transformer le Web en un dispositif distribu de calcul, o les programmes (services) peuvent interagir de manire intelligente en tant capables de se dcouvrir automatiquement, de ngocier entre eux et de se composer en des services plus complexes. Page 8 -
Chapitre1:LesservicesWeb
En dautres termes, lide poursuivie avec les services Web est de mieux exploiter les technologies de lInternet en substituant, autant que possible, les utilisateurs qui ralisent actuellement un certain nombre de services (ou tches), par des machines en vue de permettre une dcouverte et/ou une composition automatique de services sur lInternet.
Chapitre1:LesservicesWeb
Larchitecture de rfrence des Web services (voir la Figure 1) sarticule autour des trois rles suivants : Le fournisseur de service : correspond au propritaire du service Web. Dun point de vue technique, il est constitu par la plateforme daccueil du service Web. Le client : correspond au demandeur de service Web. Dun point de vue technique, il est constitu par lapplication qui va rechercher et invoquer un service Web. Lapplication cliente peut tre elle-mme un service Web. Lannuaire des services : correspond un registre de descriptions des services Web offrant des facilits de publication des services Web lintention des fournisseurs, ainsi que des facilits de recherche des services Web lintention des clients. Les interactions de base entre ces trois rles incluent les oprations de publication, de recherche et de liens doprations. Avec ce schma, nous essayons de dcrire ces interactions.
Page 10 -
Chapitre1:LesservicesWeb
Nous dcrivons ici un scnario type dutilisation de cette architecture [Are06] : Le fournisseur de service : permet de raliser les oprations suivantes : Propose limplmentation dun service Web. Fournit une description du service Web (document WSDL). Publie cette description dans un annuaire du registre. Reoit l'invocation du service Web par une application cliente et ralise le traitement. Il peut tre considr comme ct serveur dans une architecture client serveur entre le demandeur du service (application cliente) et le fournisseur du service Web. Le client : maintenant, il dispose localement de la description du service Web, ou alors il doit chercher la description du service Web dans un annuaire UDDI. Alors quautrefois, il tait le ct client dans une architecture client serveur entre le demandeur du service Web et le fournisseur du service Web. Lannuaire des services : dispose de la description des services Web ainsi que de leur localisation, c'est--dire les informations sur les diffrents fournisseurs. En effet, Une fois le service Web dfinit, il peut tre dclar dans un annuaire, on parle alors de publication du service Web afin de le rendre accessible aux clients. Nous dcrivons un scnario complet dutilisation de cette architecture [Via06] : Etape 1 : dfinition, description du service Web. On doit dcrire dun point de vue informatique ce que fait le service Web, la solution quil propose, la dfinition est faite en WSDL au sein du fournisseur de services Web. Etape 2 : publication du service Web. Une fois le service Web dfinit et dcrit en termes de mise en uvre, il peut tre dclar dans un annuaire, on parle alors de publication du service Web afin de le rendre accessible aux clients. La publication sera effectue au sein dun annuaire ddi UDDI.
Page 11 -
Chapitre1:LesservicesWeb
Etape 3 : recherche du service Web. Le client se connecte, sur un annuaire UDDI pour effectuer une recherche de service Web. Etape 4 : enregistrement au service Web. Une fois le service Web trouv par le client, ce dernier doit senregistrer auprs du fournisseur associ au service Web. Cet enregistrement indique au fournisseur lintention du client dutiliser le service Web suivant les conditions dcrites dans la publication. Etape 5 : mise en uvre du service Web. Le client peut invoquer le service Web suivant les conditions inscrites au sein de lannuaire lors de la publication du service Web (Etape 2). Etape 6 : composition. Cest la possibilit de combiner plusieurs services Web. En effet, un service Web peut devenir le client dun autre service Web. Pour garantir linteroprabilit des trois oprations prcdentes publication, recherche et invocation , des propositions de standards ont t labores pour chaque type dinteractions. Nous citons, notamment les standards mergents suivants : SOAP : dfinit un protocole de transmission de messages bas sur XML. WSDL : introduit une grammaire pour la description des services Web. UDDI : fournit linfrastructure de base pour la publication et la dcouverte des services Web. Cependant, cette infrastructure nest pas suffisante pour permettre une utilisation effective des services Web, dans les domaines dont les exigences vont au-del de la capacit dinteractions simples via des protocoles standards. Par exemple, dans le domaine du ebusiness, donc la ncessit dintroduire une nouvelle architecture suffisante et complte appele architecture tendue.
Page 12 -
Chapitre1:LesservicesWeb
1.5.2 Architecture tendue [Pat04]
Une architecture tendue est constitue de plusieurs couches se superposant les unes sur les autres, do le nom de pile des services Web. La Figure 2 dcrit un exemple de pile des services Web. La pile est constitue de plusieurs couches, chaque couche sappuyant sur un standard particulier. On retrouve, au-dessus de la couche de transport, les trois couches formant linfrastructure de base dcrite prcdemment.
Figure 2 : Architecture en Pile des services Web [Pat04]. Nous apportons une explication de la mise en relief des trois types de couches : Linfrastructure de base (Discovery, Discription, Exchange) : ce sont les fondements techniques tablis par larchitecture de rfrence. Nous distinguons les changes des messages tablis par SOAP, la description de service par WSDL et la recherche de services Web que les organisations souhaitent utiliser via le registre UDDI ; Couches transversales (Security, Transactions, Administration, QoS) : ce sont ces couches qui rendent viable lutilisation effective des services Web dans le monde industriel
Page 13 -
Chapitre1:LesservicesWeb
La couche Business processus (BusinessProcess) : cette couche suprieure permet lintgration de services Web, elle tablit la reprsentation dun BusinessProcess comme un ensemble de service Web. De plus, la description de lutilisation de diffrents services composant ce service est disponible par lintermdiaire de cette couche.
Page 14 -
Chapitre1:LesservicesWeb
que, le SOAP diffre de protocoles comme : RMI, CORBA et DCOM, car il concentre les informations et utilise le principe dauto description des donnes. Le SOAP fait partie de la couche de communication des services Web. La force de ce protocole rside dans son universalit et sa flexibilit. Il dfinit la structure des messages XML utiliss par les applications pour dialoguer entre elles. Par exemple, un client SOAP Java sexcutant sur Linux, ou un client SOAP PERL sexcutant sur Solaris peut se connecter un serveur SOAP Microsoft sexcutant sur Windows 2000. La technologie des services Web repose principalement sur le protocole SOAP qui est indpendant des langages de programmation ou des systmes dexploitation. Le standard SOAP dfinit trois lments composants un message : Lenveloppe (Enveloppe), lentte du message (Header) et le corps du message (Body). La Figure 3 est schmatise ainsi :
Page 15 -
Chapitre1:LesservicesWeb
Explication des trois lments de la Figure 3 : Lenveloppe du message SOAP : Lenveloppe SOAP marque par la balise <Envelope> (voir la Figure 4). Elle est obligatoire et englobe les deux autres lments dun message SOAP (Header et Body), et dfinit le cadre pour dcrire ce qui est dans le message et comment le traiter. Le protocole SOAP permet de spcifier la version de SOAP utilise, en utilisant un espace de nom.
Figure 4 : La structure XML dun message SOAP. Lentte du message SOAP : Lentte est un lment facultatif imbriqu dans lenveloppe, marque par la balise <Header> (voir la Figure 4), permet de passer dans le message SOAP des informations complmentaires, cest--dire des caractristiques et des fonctionnalits additionnelles sur ce mme message. Les rgles dencodages sont places dans lentte et servent exprimer et dfinir le mcanisme de reprsentation des donnes. Lentte peut apparatre une ou plusieurs fois dans le message SOAP, elle est gnralement qualifie par lattribut mustUnderstand qui prend la valeur 0 ou 1. Page 16 -
Chapitre1:LesservicesWeb
La valeur 1 indique que le rcepteur du message doit prendre en considration linformation prsente dans lentte et que son traitement est obligatoire ; la valeur 0 indique que lentte peut tre ignor par le serveur. Un message SOAP peut avoir traverser plusieurs serveurs intermdiaires avant datteindre son destinataire final. Dans ce cas, lentte joue un rle fondamental o chaque arrt le long de litinraire, le serveur intermdiaire extrait de lentte ce qui le concerne en propre et ajoute ce qui est ncessaire au serveur intermdiaire suivant. Le corps du message SOAP : Le corps du message SOAP est obligatoire, marque par la balise <Body> (voir la Figure 4) et permet de transmettre les requtes et les rponses entre les systmes, il est compos dun ou de plusieurs sous lments, qui sont : FAULT et MESSAGE Llment FAULT : Il permet dindiquer les dfaillances de transmission des massages SOAP. Il renvoie des informations sur le type derreur, une description de lerreur et ladresse du serveur SOAP qui a gnr lerreur. Llment MESSAGE : Il contient les donnes transmettre via le protocole SOAP. Les messages SOAP sont des transmissions fondamentalement sens unique d'un expditeur un rcepteur. Lorsquune transmissions dun message commence, un message SOAP est gnre. Ce message est envoy partir dune entit appele le SOAP Sender , localis dans un SOAP Nud . Le message est soit pas transmis ou transmis plusieurs nuds intermdiaires SOAP Intermediates . Le processus se termine lorsque le message arrive au SOAP Receiver . Le chemin suivi par un message SOAP est nomme Message Path . La Figure 5 montre les lments qui participent au processus.
Page 17 -
Chapitre1:LesservicesWeb
Figure 5 : Modle dchange de message en SOAP [Tid01]. En rsum, le SOAP est un protocole de communication entre les applications fond principalement sur le protocole HTTP et sur XML, visant satisfaire un double objectif : servir de protocole de communication sur Internet, dans une optique dintgration dapplications dentreprise, et permettre la communication entre les applications et les services Web. Le SOAP est extensible, c'est--dire, Il Conu pour sappuyer sur HTTP mais on puisse y substituer un autre protocole de transport de messages comme SMTP.
Chapitre1:LesservicesWeb
les oprations (Operation), les types de ports (PortType), et les liaisons (Bindings), ces parties dcrivent des informations abstraites indpendantes au contexte de mise en uvre. On y trouve : Les types de donnes envoyes et reues ; les oprations utilisables et le protocole qui sera utilis. Les types de donnes : Data types est llment qui dfinit les types de donnes utilises dans les messages changs par le service Web. Une fois dfinie, les Data types , ou type peuvent tre rfrencs dans nimporte quel message. Les messages : Llment Message spcifie les types doprations supportes par le service Web, il permet dincorporer une squence de messages corrls sans avoir spcifier les caractristiques du flux de donnes, par exemple, un message Input et un message Output corrls sont mis en correspondance dans une seule opration de type Request/Response . Les Oprations : llment Operation spcifie les types doprations supportes par le service Web, il permet dincorporer une squence de messages corrls sans avoir spcifier les caractristiques du flux de donnes. Les PortType : le PortType est un groupement logique ou une collection doprations supportes par un ou plusieurs protocoles de transport, il est analogique une dfinition dun objet contenant un ensemble de mthodes. Les Liaisons : dcrit la faon dont un type de port est mis en oeuvre pour un protocole particulier (HTTP par exemple), et un mode dinvocation (SOAP par exemple). Cette description est faite par un ensemble donn dopration abstraites. pour un type de port, on peut avoir plusieurs liaisons, pour diffrencier les modes dinvocation ou de transport des diffrents oprations. Au niveau concret, le service Web est dfini grce aux deux lments ; Port et Service. Ces deux dernires dcrivent des informations lies un usage contextuel du service Web. On y trouve : ladresse du fournisseur implmentant le service, et le service qui est reprsent par les adresses des fournisseurs. Llment Port : llment Port , dans la partie concrte, spcifie une adresse URL qui correspond limplmentation du service Web par un fournisseur, et identifie un Page 19 -
Chapitre1:LesservicesWeb
ou plusieurs Bindings (ou liaisons) aux protocoles de transports (HTTP, SMTP, FTP...) pour un PortType donn. La sparation du protocole de transport de la dfinition du PortType permet un service Web dtre valable travers plusieurs protocoles de transports, sans avoir redfinir lensemble du fichier WSDL. Llment Service : spcifie ladresse complte du service Web, et permet un point daccs dune application distante de choisir exposer de multiples catgories doprations pour divers types dinteractions.
Figure 6 : Structure dune description WSDL [Sco02]. En rsum : le langage WSDL est une description en XML des services Web, il dcrit de manire abstraite et indpendante du langage de programmation, la plateforme, et le systme dexploitation, lensemble des fonctionnalits offertes par un service Web. Il permet de connatre les protocoles, les serveurs, les ports, le format des messages, les entres, les sorties, les exceptions possibles et les oprations ralises par un service Web. Le document WSDL est indispensable au dploiement de services Web et dcrit deux documents essentiels : un document pour linterface du service Web et lautre document pour
Page 20 -
Chapitre1:LesservicesWeb
limplmentation du service Web. La publication et la recherche dun service Web au sein de lannuaire UDDI se font via ces deux types de documents WSDL.
Page 21 -
Chapitre1:LesservicesWeb
Figure 7 : Mcanismes daccs aux services Web fournis par nud UDDI [Gar02]. LUDDI est subdivis en deux parties principales : partie publication ou inscription, et partie dcouverte. La partie publication regroupe lensemble des informations relatives aux entreprises et leurs services. Ces informations sont introduites via une API denregistrement. La partie dcouverte facilite la recherche dinformation contenue dans UDDI grce lAPI SOAP. LUDDI peut tre vu comme un annuaire contenant : Les pages blanches : elles recensent les entreprises et contiennent des informations telles que : le nom de lentreprise, ses coordonnes, des descriptions accessibles aux clients et des identifiants permettant de la retrouver par recherche. Les pages jaunes : contiennent au format WSDL la description des services Web dploys par les fournisseurs de services. Les services sont rpertoris par catgorie.
Page 22 -
Chapitre1:LesservicesWeb
Les pages vertes : contiennent des informations techniques du service offert, la manire dinteragir avec le service, une dfinition du BusinessProcess et aussi un pointeur vers le fichier WSDL et une cl unique identifiant le service.
Figure 8 : Ressemblance dUDDI avec un annuaire [New04]. La structure de donnes du registre UDDI contient cinq types de donnes : BusinessEntity : contient une description de lentreprise offrant le service dans lannuaire UDDI. Les quatre autres types de donnes sont rfrencis via cette partie. BusinesService : contient le nom et une description du service Web propos. BindingTemplete : information concernant le service Web incluant ladresse physique du fournisseur. Il est possible denregistrer de multiple BindingTemplete pour le mme service, afin de dfinir diffrents points daccs. Les diffrents points daccs de BindingTemplete incluent les types dURL suivant : HTTP, FTP,...etc. tModel : identifie dune faon unique les spcifications relatives linterface dun service Web. tModel est un mcanisme dchange de mta donnes relatives au service, tel quune description du service Web ou un pointeur vers le fichier WSDL dcrivant le service. tModel peut tre considr comme tant un point daccs alternatif aux types de donnes contenues dans UDDI. PublishAssertion : met en correspondance deux ou plusieurs structures BusinessEntity selon le type de relation (filiale de, dpartement de).
Page 23 -
Chapitre1:LesservicesWeb
Relation entre UDDI et WSDL [Wee05, Chi04, New04] Conu avant le WSDL, lUDDI permet de prendre en charge nimporte quel langage de description des services Web, grce son model de donne extensible. Une description WSDL dun service Web peut tre traduite dans UDDI grce la combinaison de BusinessService , BindingTemplate et de tModel (voir la Figure 9).
Figure 9 : Relation entre UDDI et WSDL. En rsum : UDDI est un standard pour faciliter la collaboration entre partenaires dans le cadre dchanges commerciaux, le cur dUDDI est un annuaire qui contient des informations techniques et administratives sur les entreprises et les services Web quelles Page 24 -
Chapitre1:LesservicesWeb
publient. Donc lannuaire UDDI permet de publier et dcouvrir des informations qui concernent une entreprise et ses services Web.
Page 25 -
Page 26 -
Chapitre2:eLearning
Chapitre 2
E-Learning
2.1 Introduction
Le dveloppement de lInternet a prsent des nouvelles technologies essentielles pour la recherche de linformation pertinente dans le domaine de lenseignement, ces nouvelles technologies ne sont quun moyen de rendre, aujourdhui, la formation plus flexible, plus efficace et accessible tous. Des changements remarquables sont apparus, On retrouve de plus en plus des cours destins un enseignement ouvert et en ligne, autrement dit enseignement distance (EAD) ou encore le-Learning sur lInternet. Avec lavnement des applications des Technologies de l'Information et de la Communication (TIC) au domaine de la formation, a conduit la cration de cette nouvelle ralit le-Learning, qui permet de rendre lapprentissage vraiment rapide et efficace avec un minimum de problmes dorganisation et surtout de perte de temps. Le-Learning est la solution qui a permis actuellement l'admission des TIC dans la formation distance. Il s'agit d'une transformation rapide des technologies pour l'apprentissage, rendue possible par le dveloppement international de l'Internet. Le e-Learning est en quelques mots, loutil qui consiste utiliser les nouvelles technologies pour faciliter laccs des ressources et des services qui sont de plus en plus loigner. Cette partie intressant le-Learning, portera sur la prsentation des moyens informatiques, les structures des plateformes existantes et les travaux qui seffectuent.
Page 27 -
Page 28 -
Page 29 -
Chapitre2:eLearning
Une formation plus universelle : Avec le e-Learning, il devient possible de former les populations demploys, qui sont habituellement exclus des plans de formation de lentreprise, comme les intrimaires ou les vacataires extrieurs.
Chapitre2:eLearning
LMS est le terme anglo-saxon qui dsigne une plateforme du e-Learning complte, comprenant le serveur de diffusion de contenu, la base de donnes grant le catalogue des formations disponibles, le serveur de gestion des profils des apprenants, les accs aux formations et du suivi des parcours avec mmorisation des rsultats obtenus. Elle inclut aussi une brique de gestion des plannings aux sessions de formation selon les disponibilits des tuteurs et des apprenants. Un LMS peut galement tre utilis pour grer des formations dites prsentielles, c'est-dire en prsence de formateurs, pour la gestion de ladministration des formations, la gestion et le suivi des apprenants. Lutilisation dun LMS par les acteurs impliqus dans les formations : Les responsables de la formation (auteurs et formateurs) : crent et mettent en ligne les formations, dfinissent les profils daccs aux formations, grent et animent les formations (que ce soit en synchrone ou en asynchrone), suivent les retours de formation. Ladministrateur du systme : configure le LMS et gre les statistiques sur les retours de formation. Les apprenants : suivent la formation via le LMS, sil sagit du e-Learning et mettent leurs retours, de faon active ou passive, via le systme. Les principales fonctionnalits dun LMS [Dur06] : La gestion des apprenants : Il sagit de la principale fonctionnalit dun LMS. Elle permet aux responsables de la formation de dfinir avec laide de ladministrateur, les diffrents types de profils avec leurs droits associs. Elle administre linscription et lidentification des apprenants aux formations, de faon individuelle ou groupe et affectation des tuteurs, respect dun circuit dapprobation prdfini, prise en compte ventuelle des prs requis ncessaires pour suivre une formation. Certains LMS grent galement la notion de domaine, segmentant laccs aux formations selon les profils des apprenants et/ou les entits concernes. La conception des cours : Les LMS intgrent le plus souvent des outils simples de cration de contenu, permettant la cration de cours, dexercices et dvaluations, en Page 31 -
Chapitre2:eLearning
assemblant les diffrents supports pdagogiques crs par le concepteur (documents, animations, multimdia). Il est possible de dfinir un scnario et une arborescence de cours. Ainsi, les LMS ne proposent gnralement pas de solution complte de gestion de cration de contenu. Il faut pour cela se tourner vers des solutions spcifiques, appeles LCMS Learning Content Management Systems , littralement Plateforme de Gestion de Contenu de Formation . Leurs fonctionnalits seront dtailles proprement en dessous. Le suivi des cursus de formation : Les LMS permettent de suivre les temps consacrs la formation et aux exercices, ainsi que daffecter des rles aux diffrents apprenants. Il est possible dvaluer les performances des apprenants et de leur dlivrer des certifications daptitude si les conditions dobtention sont remplies. Le suivi et le bilan de la formation : Les LMS intgrent des outils de statistiques permettant de suivre de faon synthtique, par apprenant ou groupe dapprenants, le temps pass en formation, les rsultats obtenus,etc. Cela autorise notamment le suivi et la gestion des cots de formation. La gestion des comptences : Les LMS proposent des outils daide la gestion des profils et des fonctions, de suivi de la progression des salaris, de consultation des parcours de formation, de ralisation de cartographies de postes/comptences. La plateforme LCMS [Asc03] : Ainsi dmontr, les LMS fournissent des fonctionnalits restreintes en termes de conception de cours. Cest pourquoi les LCMS ont rcemment merg pour aider les enseignants crer, stocker et diffuser des contenus dapprentissage partir dune base de donnes centrale. Lobjectif est de permettre loffre de contenus pdagogiques personnaliss dont les tuteurs sont identifis, tout en rduisant les cots de cration de contenu, par la rduction des temps de dveloppement de ces contenus. Cette solution est donc particulirement intressante pour les enseignants, qui ont beaucoup de contenus pdagogiques crer et/ou grer. Les principales fonctionnalistes dun LCMS [Dur06] : La cration de contenu : Les LCMS intgrent des outils de cration (cours, exercices, valuation) qui automatisent la conception en proposant des modles et des outils de Page 32 -
Chapitre2:eLearning
scnarisation. En outre, grce au travail collaboratif sappuyant notamment sur des procdures de publication, il est possible de rpartir le travail de cration de contenu entre diffrents crateurs. Par ailleurs, si lentreprise utilise des outils de Knowledge Management (Gestion de la Connaissance), la connexion dun LCMS ces outils permet dutiliser ces connaissances pour la cration de contenu. Le stockage de contenu : Une base de donnes centrale stocke les contenus dapprentissage de faon structure, les systmes de versions et de mta donn, associs un moteur, permettent des recherches prcises et la recombinaison des contenus. La diffusion dynamique : Les LCMS permettent de diffuser des contenus en personnalisant les interfaces ; il existe donc une sparation complte entre le contenu et la prsentation. Positionnement des LCMS par rapport aux LMS [Dur06] : Les LCMS et LMS sont deux plateformes denseignement qui sont apparus avec lavnement du Web, ils font rfrence des outils trs complmentaires, sont des outils trs proches. Cependant la distinction entre ces deux outils nest pas vidente dans la mesure o les plateformes LMS intgrent souvent en standards des fonctionnalits de LCMS et vice versa. En effet, historiquement les LMS proposaient des applications de cration de contenus. Les LCMS peuvent aussi implmenter des fonctionnalits lgres de LMS. Les LMS sont des plateformes informatiques pour la formation distance, ou encore des plateformes denseignement permettant de faciliter aux enseignants de raliser, et diffuser des cours pertinents de la formation sur le rseau Internet ou Intranet pour les apprenants. Les LMS sont aussi des systmes informatiques conus pour optimiser, sur un rseau Internet ou Intranet, la gestion de l'ensemble des activits de formation, de l'inscription jusqu l'obtention de comptences et sont proposs pour avancer des applications de cration de contenus dapprentissage pdagogiques. Le LMS a pour but de simplifier la gestion et l'organisation de la formation.
Page 33 -
Chapitre2:eLearning
Les LCMS sont des plateformes denseignement, c'est--dire des systmes de gestion de contenu d'apprentissage. Un LCMS est un systme (le plus souvent bas sur les technologies Web) qui permet de crer, valider, publier et grer des contenus d'apprentissage pdagogique. Les LCMS permettent une meilleure frquence des mises jour des ressources dj publies et moindre cot. La gestion des comptences est lune des fonctionnalits partages par les deux types de solutions. Cependant, cette gestion est plus performante dans les LMS puisquils sont centraliss et permettent dtablir le profil et les comptences dun tudiant par rapport toutes les formations quil a pu faire. La gestion des comptences dans les LCMS sintresse davantage aux comptences acquisse lors dune formation. Le schma suivant illustre la distinction et la complmentarit des LMS et LCMS [Dur06] :
Page 34 -
Chapitre2:eLearning
Figure 10 : Complmentarit des LMS et LCMS [Dur06]. En ralit, les LMS et LCMS sont souvent retrouvs intgrs dans un mme outil. Ceci dans le but dviter les problmes dinteroprabilit entre les deux outils, notamment en ce qui concerne la diffusion de contenus sur les plateformes LMS. Une solution LCMS intgre dans une solution LMS lui fournit des contenus totalement utilisables. Dautres parts, du point vu de la gestion des comptences, lutilisation doutils intgrs permet de faire communiquer LMS et LCMS en vue de fournir lutilisateur un contenu adapt a son niveau. Cependant, le LCMS est un domaine plus rcent que les LMS. Page 35 -
Page 36 -
Chapitre2:eLearning
Exemple e-Learning bas sur les services Web [Got03, Mad05] : Dans un systme e-Learning, la varit des dispositifs et des composants peut tre perue comme une varit de processus, et par consquent ralise en tant que services Web atomiss ou composs. A partir de diffrentes sources, nous identifions une liste non exhaustive de composants dun systme e-Learning, on peut citer : la conception dun contenu pdagogique ; publication dun cours partir dun contenu choisi ; gestion des objets pdagogiques ; mise jour dun contenu pdagogique ; adaptation dun contenu la demande ; recherche et prsentation dun contenu pdagogique ; inscription dun tudiant, gestion de son compte et profil ; valuation des connaissances acquises, mise en place et gestion dune classe virtuelle ; gestion dun systme de communication synchronis de type chat. Ainsi, le fonctionnement est dcompos en diffrentes activits ou groupes d'activits qui peuvent tre mis en application de faon indpendante sous la forme de services Web. En se basant sur le principe des services Web, tous les objets pdagogiques qui peuvent tre stocks sur diffrents serveurs, enregistrent leurs offres dans un annuaire central avec une information additionnelle sur le contenu du matriel dapprentissage. Un service Web, qui est enregistr dans lannuaire, peut tre invoqu directement par la plateforme pour utiliser ses fonctionnalits. La Figure 11 suivante montre le principe :
Page 37 -
Chapitre2:eLearning
Page 38 -
Chapitre2:eLearning
Larchitecture du systme [Got03, Mad05] : Lutilisation du principe de services Web permet un choix dynamique des services, ce qui donne plus davantage par rapport la mthode usuelle classique. En effet, le bnfice est la disponibilit des services Web composs qui ne dpend pas de la disponibilit de chaque service Web simple. Les systmes classiques qui importent des objets dapprentissages vers leur propre base de donnes, afin de les utiliser posent problmes du fait de la masse importante des donnes, mais avec le systme des services Web, lutilisation des objets est devenue dynamique, permettant ainsi la disponibilit des objets pdagogiques au moment de leur demande. La Figure 12 montre larchitecture du systme. Lide principale derrire ce systme est de construire un systme dapprentissage montrant que ses activits et composants principaux peuvent tre vus comme un ensemble de processus, qui sont groups en services Web atomiques et complexes.
Page 39 -
Chapitre2:eLearning
Figure 12 : larchitecture du systme. Le systme est bas sur la plateforme XLX base sur le Web, on trouve deux types diffrents de service Web, internes et externes. Les services Web externes sont fournis par dautres auteurs et sont stocks sur les systmes distance. Ils sont enregistrs dans un annuaire UDDI, qui fournit toutes les informations ncessaires pour utiliser la fonctionnalit du service Web distance dans la plateforme XLX. Les services Web internes sont fournis par le systme lui-mme et peuvent tre utiliss par lintermdiaire du serveur existant de XLX. Ils sont galement enregistrs dans lannuaire UDDI pour tre utilis par dautres systmes, les fichiers WSDL correspondant sont aussi engendrs.
Page 40 -
Page 41 -
Partie II : La Conception
Chapitre3:LaConception
Chapitre 3
La Conception
3.1 Introduction
La notion de service Web dsigne essentiellement une application on un programme mise disposition sur lInternet par un fournisseur de service Web, et accessible par les clients travers des protocoles Internet standard. Un service Web est un ensemble de protocoles et de normes informatiques utiliss pour changer des donnes entre les applications. Il peut tre accessible depuis une autre application (un client, un serveur dapplication ou un autre service Web) travers le Web, et ceci en utilisant les protocoles de transports disponibles. Ce service applicatif peut tre implment comme une application autonome ou comme un ensemble dapplications. Dans ce chapitre, nous nous intressons l'utilisation des services Web pour la construction d'un environnement d'apprentissage distribu, c'est--dire la construction dune plateforme eLearning base sur les services Web.
Page 42 -
Page 43 -
Chapitre3:LaConception
Figure 13 : Architecture gnrale du systme propose. Les acteurs de la plateforme sont dots d'une interface pour accder aux services Web de la plateforme. Cette interface utilise les fonctionnalits de nos propres services Web. Les acteurs sont dots aussi dune interface pour la recherche et l'invocation des services Web externes.
Page 44 -
Chapitre3:LaConception
Cette recherche est ralise via le registre UDDI. Dans ce qui suit les dtails des diffrents lments constituent notre plateforme.
3.3.1 Ladministrateur
Le rle de ladministrateur au sein de notre plateforme, se limite veiller sur le bon fonctionnement de celle-ci, et na aucune influence sur le cot pdagogique, il a donc deux types de tches accomplir : Aspect technologique : par linstallation et la mise jour de la plateforme, ainsi que la dtection et la correction des bugs. Aspect humain : par la validation des inscriptions, la suppression des acteurs perturbants ou gnants, le suivi des statistiques sur lactivit humaine dans la plateforme, c'est--dire laccs aux profils utilisateurs et la gestion de touts les acteurs. Il est responsable de la gestion de l'annuaire des services Web, et c'est lui de publier un nouveau service Web afin qu'il soit accessible l'extrieur.
3.3.2 Lenseignant
La finalit de lenseignant est de dispenser des cours aux apprenants. Pour cela, il doit avoir la possibilit de concevoir des cours et dy intgrer des squences de tests dvaluation automatique (rponses analyses et notes par le systme), ainsi que des ressources multimdia.
Page 45 -
Chapitre3:LaConception
La conception dun cours est lorganisation dun ensemble des ressources pdagogiques (texte, multimdia, ) au sein dun parcours type, c'est--dire en une suite progressive respectant lordre pdagogique de ces ressources, c'est--dire ladaptation selon le profil de lapprenant.
3.3.3 Lapprenant
Il reprsente lacteur ayant intgr la plateforme dans le but de suivre une formation donne. Le but de lapprenant est de pouvoir acqurir de nouvelles connaissances, en sinscrivant un ou plusieurs cours. Un apprenant doit avoir la possibilit daccder aux ressources pdagogiques, orient par lenseignant au sein dun parcours type, et deffectuer lensemble des tests automatiques en mode interrogation directe (mode connect) ou interrogation indirecte (mode devoirs). Lapprenant peut tre un tudiant dsirant suivre un certain cours, un employ dentreprise ayant besoin dune formation dans un certain domaine, une personne dsirant perfectionner ses connaissances dans une branche quelconque,...etc.
Chapitre3:LaConception
activits au sein de la plateforme. Ce service Web gre une base de donnes des profils des apprenants.
Page 47 -
Figure 14 : Interaction entre les services Web de la plateforme. Dans ce qui suit, nous allons dtailler les principales interactions entre les services Web : 3.5.1 Interaction entre le service de gestion des utilisateurs et le service de gestion des profils : Les deux services se transmettent les informations qui concernent les apprenants. Lorsquun nouveau apprenant est inscrit dans la plateforme, le service de gestion des utilisateurs transmet les informations ncessaires au service de gestion des profils, afin quil puisse crer un profil vierge pour lapprenant en question. Le service de gestion des utilisateurs communique aussi avec le service de gestion des profils pour vrifier lidentit de lacteur lors de sa connexion la plateforme.
Page 48 -
Chapitre3:LaConception
3.5.2 Interaction entre le service de consultation des profils et le service de gestion des profils : Lorsquun apprenant veut visualiser son tat d'avancement et son historique alors, il fait appel au service de consultation des profils, ce dernier va se charger de contacter le service de gestion des profils. La mme opration est ralise lorsque l'enseignant veut visualiser les informations concernant les apprenants. 3.5.3 Interaction entre le service de suivi des apprenants et le service de gestion des profils : Lorsque le service de suivi termine l'valuation des exercices et des preuves raliss par l'apprenant, alors il contact le service de gestion des profils pour lui transmettre les rsultats afin de mettre jours le profil de l'apprenant. 3.5.4 Interaction entre le service de gestion des profils et le service de consultation des cours : Les deux services communiquent pour garder lhistorique des apprenants qui ont consults ces cours et ces preuves selon son niveau. Le service de consultation utilise les informations sauvegardes dans le profil des apprenants afin dadapter le cours leur profils. 3.5.5 Interaction entre le service de suivi des apprenants et le service de consultation des cours : Le service de suivi reoit du service de consultation des cours et des preuves, les exercices et les examens effectus par l'apprenant, afin de les valuer et de mettre jour l'tat d'avancement des apprenants. 3.5.6 Interaction entre le service d'interrogation et le service de gestion des profils : Le service dinterrogation rcupre les prfrences de l'apprenant partir du service de gestion des profils, en vu de rpondre aux requtes de recherche. Les informations sur le profil de l'apprenant sont utilises pour enrichir la requte de recherche. 3.5.7 Interaction entre le service d'interrogation et le service de cration des cours et preuves : Le service de cration de cours fait appel au service d'interrogation afin de lui fournir des objets pdagogiques dj existant. Cela permet au concepteur du cours dutiliser et de rutiliser des objets pdagogiques dj existants. Daprs cette dmonstration des interactions entre les services Web, que le cur de ces interactions est le service Web de gestion des profils des apprenants. Pour cela ce service Web est propre notre plateforme, il gre la base des profils des apprenants.
Page 49 -
Chapitre3:LaConception
Afin d'assurer l'interoprabilit avec les autres services Web, nous avons opt pour utiliser le langage XML pour la reprsentation des profils. Ainsi, le profil de chaque apprenant est reprsent sous forme d'un fichier XML. Les changes entre les diffrents services Web et le service Web de gestion du profil se ralisent par le transfert du fichier XML qui porte les informations du profil de l'apprenant.
Chapitre3:LaConception
L'administration de cette UDDI est ralise par l'administrateur de la plateforme. C'est lui qui prend en charge la publication des nouveaux services Web pour la plateforme. C'est lui de chercher des descriptions des services Web externes afin de les intgrer dans la plateforme. Une interface est offerte pour les acteurs de la plateforme pour faire des recherches des services Web afin de les invoquer. Par exemple, un enseignant peut rechercher un service Web sur la cration d'un cours, c'est possible, qu'il trouve deux services (par exemple il trouve un service local et un service externe), c'est lui de choisir un des deux et ceci selon ses prfrences. L'interface de recherche permet d'invoquer automatiquement le service Web choisi. La recherche se base essentiellement sur des mots cl dans l'annuaire UDDI.
Page 51 -
Chapitre3:LaConception
3.7.3 La phase dinvocation des services Web
Une fois le service Web trouv par le client, ce dernier doit senregistrer auprs du service Web de gestion des utilisateurs, cet enregistrement indique lintention de lutilisateur daccder aux services Web de la plateforme, suivant les conditions dcrites dans la publication. La partie client communique avec la partie serveur dapplication par un protocole dinvocation qui est constitu principalement de message SOAP, donc La phase dinvocation est trs importante dans la structure des services Web. Pour que, le client invoque un certain service Web, il doit passer pralablement par la phase de recherche, lors de son accs un service, un message SOAP dinvocation est gnr, par lequel, le service Web qui va tre interrog est spcifi avec toutes les mthodes et les paramtres accords au service Web invoqu. Entre autres exemples dinvocation dans notre cas, il y a la demande dauthentification des acteurs et la consultation des cours pdagogiques par les apprenants de notre plateforme.
Chapitre3:LaConception
les autre utilisateurs, le reprsentant de cette classe dans notre plateforme est ladministrateur. La deuxime classe des acteurs : qui ont laccs des services pour ajouter, modifier ou supprimer le contenu pdagogique des cours ou des exercices, le reprsentant de cette classe dans notre plateforme est lenseignant. La troisime classe des acteurs : qui peuvent seulement lire le contenu adapt a leur profil et denvoyer leur travaux, le reprsentant de cette classe dans notre plateforme est lapprenant. On va faire la distinction entre les diffrents acteurs grce leur authentification aprs la prsentation du mot de passe. La partie serveur dapplication : Cest la partie support des services Web dvelopps pour notre plateforme, elle contient un certain nombre de service Web, o chaque service Web assure une fonction qui diffre des autres et tout en assurant lchange des donnes pour accomplir une tche bien dtermine, la communication entre les services Web se fait grce aux messages SOAP et des documents WSDL dcrits chaque service Web. Concernant la base de donnes, elle est ncessaire dans la plateforme. Pour lchange des donnes entre elle et les services Web pour maintenir la plateforme dans un tat de bon fonctionnement. Sa prsence dans le serveur dapplication nest pas ncessaire, car les services Web peuvent changer les donnes avec une base de donn externe implmente dans un autre serveur dapplication, dans notre cas la base de donne sera interne. La partie annuaire des services Web : Sachant que la partie annuaire est compose dun registre UDDI. Il a deux types de clients : Les fournisseurs des services Web, et les utilisateurs des services Web. LUDDI comporte des informations sur la plateforme (Nom, Cordonnes,) et des pages qui comportent la description au format WSDL des services Web.
Page 53 -
Chapitre3:LaConception
LUDDI peut tre interne, externe ou les deux la fois dans la plateforme e-Learning pour amliorer laccessibilit pour les services Web, et va faciliter la phase de recherche des services Web pour les clients, donc lannuaire des services Web est une partie intermdiaire entre le serveur dapplication dune part et la partie cliente dautre part.
Page 54 -
Chapitre3:LaConception
Entre les acteurs et les services Web : Le fonctionnement externe, cest le fonctionnement qui met en contact les acteurs avec les services Web. A savoir que : Ladministrateur gre le service Web de gestion des utilisateurs et du service Web de gestion du profil pour les enseignants et apprenants. Lenseignant utilise le service Web de cration de cours et preuves ainsi que le service Web du suivie lvaluation des apprenants. Lapprenant aborde le service Web de consultation des cours et preuves et le service Web de consultation de profil. Remarque : les trois acteurs dans notre plateforme ont un accs au service Web dinterrogation. Entre les acteurs et le registre UDDI : Dans notre plateforme, le registre UDDI catalogue tous les services Web et renferme les donnes des services externes. Ainsi, lUDDI peut tre sollicit par tous les acteurs.
Page 55 -
Chapitre3:LaConception
Ensuite, nous allons dgager les objets entrants en ligne de compte dans chacune de ces fonctionnalits et les relations qui les lient, et cela fera grce au Diagramme de classes . Pour une reprsentation claire et prcise des fonctionnalits fournies chacun des acteurs nous aurons recours au Diagramme de squence . Ce Diagramme offre une reprsentation dynamique du systme, il montre pas pas le squencement des actions constituant un cas dutilisation. Nous avons remarqu que les acteurs de la plateforme partagent certains services Web, comme le service Web de gestion des utilisateurs pour le cas de lauthentification et le service Web dinterrogation. Cela nous amne proposer des schmas reprsentatifs des objets et des fonctionnalits communes tous les acteurs, et des schmas particuliers chacun des acteurs. Dans un premier temps, nous allons traiter les services Web communs tous les acteurs, savoir lauthentification (pour accder la plateforme laide de saisie du mot de passe et un pseudonyme) et linterrogation de registre UDDI, ensuite nous allons dvelopper les fonctionnalits relatives chacun des acteurs.
Page 56 -
Chapitre3:LaConception
Figure 16 : Digramme de cas d'utilisation d'un acteur. Le Diagramme de classe : Nous avons dcoup la plateforme en paquet UML, afin davoir une reprsentation claire des diffrents blocs logiques a constituant. Comme la montre le Diagramme, chaque acteur admet un seul profil, le profil possde plusieurs droits, le droit peut caractriser plusieurs profils. Le schma ci-dessous (voir la Figure 17) reprsente les objets et les fonctionnalits communes tous les acteurs, par exemple, lentit et la relation suivante : Droit : il reprsente un droit daccs donn, ses particularits, les acteurs le possdantetc. exemple : le droit de faire la modification des informations relatives un acteur.
Page 57 -
Chapitre3:LaConception
Figure 17 : Diagramme de classe dun acteur. Le Diagramme de squence : Ce Diagramme dcrit le processus dauthentification effectu par chacun des acteurs afin daccder la plateforme.
Page 58 -
Chapitre3:LaConception
Figure 18 : Diagramme de squence dauthentification dun acteur. Pour accder la plateforme, lutilisateur doit dabord saisir son pseudonyme et son mot de passe. Si les deux lments existent et correspondant lun lautre alors laccs est russi et le systme affiche lespace de travail de lutilisateur. Sinon, cest lchec et le systme retourne la page dauthentification.
Page 59 -
Chapitre3:LaConception
Le service Web de gestion du profil : cela pour la consultation du profil et lhistorique des acteurs de la plateforme. Linstallation et maintenance de la plateforme.
Figure 19 : Diagramme de cas dutilisation dun administrateur. Le Diagramme de squence : pour ladministrateur, on peut trouver trois Diagrammes de squences qui sont reprsents ci-dessous : Linscription dun acteur dans la plateforme : Linscription dun acteur dans la plateforme est effectue par ladministrateur. Il existe pour cela deux scnarios : Linscription directe : ladministrateur inscrit lacteur en saisissant les informations ncessaires dans un formulaire dinscription (Voir la Figure 20).
Page 60 -
Chapitre3:LaConception
La validation de pr inscriptions : Ladministrateur consulte des fiches de pr inscription envoyes par lutilisateur et dcide de valider ou rejeter linscription (Voir la Figure 21). Dans les deux cas, la validation ou le rejet dune inscription se fait aprs ltude dun dossier fourni ladministration par lutilisateur.
Page 61 -
Chapitre3:LaConception
Page 62 -
Chapitre3:LaConception
Page 63 -
Chapitre3:LaConception
Suppression dun acteur de la plateforme : La suppression dun acteur de la plateforme se fait en deux tapes : Une suppression logique : qui consiste a bloqu le compte dun utilisateur. Une suppression physique (dfinitive) : qui consiste effacer les informations de lacteur de la base de donnes. Un acteur supprim logiquement peut se voir rattribuer son compte pour une raison donne, par contre, sil est supprim dfinitivement, il devra reformuler une requte dinscription au niveau de ladministration sil dsire se rinscrire.
Page 64 -
Chapitre3:LaConception
Page 65 -
Chapitre3:LaConception
Les Diagrammes de lenseignant : Le Diagramme de cas dutilisation : Les services Web et les fonctionnalits fournies lenseignant par la plateforme sont les suivantes : Le service Web de cration des cours et preuves pour les apprenants. Le service Web de suivi des apprenants. Accs aux profils des apprenants qui contient les informations concernant la progression de lapprenant, son niveau et des statistiques concernant lactivit de cet apprenant au sein de la plateforme.
Figure 23 : Diagramme de cas dutilisation de lenseignant. Le Diagramme de classe : Le Diagramme suivant montre les objets formant lenvironnement de lenseignant dans la plateforme. Les entits et associations de ce Diagramme sont dcrites comme suit : Lentit Module : dcrit les modules que lenseignant enseigne ou sur lesquels il peut valuer des groupes dapprenants par exemple : Informatique, Chimie, Physique,etc. Page 66 -
Chapitre3:LaConception
Lentit Travail : donne les travaux proposs par lenseignant.
Figure 24 : Diagramme de classe dun enseignant. Les Diagrammes de squence : Les fonctionnalits dcrites dans le Diagramme de cas dutilisation de lenseignant se droulent tel quil est dcrit dans les Diagrammes suivants : La cration des cours et exercices : lenseignant peut crer les cours et les preuves destin aux apprenants voulant se former. La plateforme fournie un outil de cration et de sauvegarde de tout les cours et preuves pour les enseignants.
Page 67 -
Chapitre3:LaConception
Page 68 -
Chapitre3:LaConception
La consultation des rsultats dun apprenant pour un cours donn : Lors de la session dapprentissage dun cours, les donnes reprsentant les rsultats de lapprenant sont sauvegardes. Le Diagramme suivant montre le scnario daccs dun enseignant ces rsultats.
Page 69 -
Chapitre3:LaConception
Aprs lauthentification, lenseignant choisit de consulter les rsultats des apprenants, la liste des apprenants quil suit pour le module est alors affiche. Lenseignant accde alors aux rsultats dun apprenant en cliquant sur son nom. Lvaluation dun apprenant pour un travail : Pour valuer un apprenant sur un travail donn, lenseignant consulte sa rponse pour ce travail et lui donne une note approprie. Le Diagramme suivant dcrit ce scnario.
Page 70 -
Chapitre3:LaConception
Page 71 -
Chapitre3:LaConception
Les Diagrammes de lapprenant : Le Diagramme de cas dutilisation : La plateforme doit fournir lapprenant les fonctionnalits suivantes (aprs lauthentification) : La consultation de documents pdagogiques : lapprenant peut consulter des objets pdagogiques en ligne. Effectuer des travaux : lapprenant aura effectuer des travaux (exposs, exercice, preuves,...etc.) et des tests proposs par lenseignant, ces travaux servirons son valuation. Laccs aux rsultats obtenus : lapprenant aura la possibilit daccder tous ses rsultats ainsi quaux statistiques de son parcours, de chaque module durant toute sa scolarit. Il pourra aussi consulter lhistorique de ses travaux et des notes quil a obtenus. Les fonctionnalits dcrites ci-dessus sont illustres par le Diagramme de cas dutilisation suivant :
Page 72 -
Chapitre3:LaConception
Le Diagramme de classe : Ce Diagramme reprsente les donnes de gestion de lacteur apprenant (ses donnes personnelles, les modules dans lesquels il est inscritetc.). Nous pouvons dcrire certains des objets et associations reprsentant ce Diagramme comme suit : Lentit Module : reprsente les modules dans lesquels lapprenant est inscrit. Exemple : Mathmatiques, Informatique, Electroniqueetc. Lentit Cursus : reprsente le cursus suivi par lapprenant. Exemple : BAC, TS, DEUA,etc. Lentit Niveaux : reprsente les niveaux des modules affects un apprenant. Exemple : le module lectronique pour les ingnieurs 1re anne en
informatique,etc. Lentit Travail : donne les diffrents travaux (exercices, preuvesetc.) affects un apprenant. Les attributs date_dbut et date_fin de lassociation appartient_m : ils reprsentent respectivement les dates de linscription de lapprenant au module associ et la date laquelle il devrait terminer sa formation sur ce module.
Page 73 -
Chapitre3:LaConception
Figure 29 : Diagramme de classe dun apprenant. Les Diagrammes de squence : Les Diagrammes suivants reprsentent les scnarios qui permettre lapprenant de consulter un objet pdagogique et soumettre un travail. Laffichage dun cours : Quand un apprenant dcide de consulter un cours, le service Web de consultation des cours et preuves affiche le sommaire des cours, et attend une requte de lapprenant pour afficher lactivit spcifique.
Page 74 -
Chapitre3:LaConception
Page 75 -
Page 76 -
Chapitre4:LaRalisation
Chapitre 4
La Ralisation
4.1 Introduction
Dans ltude conceptuelle nous avons expliqu notre systme avec ses diffrents services Web ; maintenant, nous allons le dtailler avec ltape de la ralisation. En outre, la ralisation concerne aussi le dploiement de lapplication dans son environnement rel. Nous allons prsenter limplmentation et la mise en uvre de ces Service Web. Nous prsenterons en premier les langages et le SGBD utiliss dans la ralisation, puis les diffrentes interfaces de lutilisateur, ainsi que chacune de leurs fonctionnalits.
Page - 77
Chapitre4:LaRalisation
Chapitre4:LaRalisation
Page - 79
Chapitre4:LaRalisation
Page - 80
Chapitre4:LaRalisation
Les messages envoys entre les diffrents PC sont expliqus comme suit : 1. Le client envoie une requte HTTP depuis un navigateur Internet pour spcifier ladresse IP de PC2. 2. SOAP requeste. 3. SOAP reponse. 4. PC2 envoie une rponse HTTP au PC client qui concerne sa requte. La mise en uvre de cette architecture ncessite la configuration et ladaptation du PC (2) qui reprsente le serveur de lapplication client et du PC(3) qui reprsente le serveur des services Web auxquels, il faut installer un serveur dapplication Apache Tomcat ou serveur de base de donnes MySQL, et faire intgrer les packages AXIS, SOAP, WSDL et UDDI, ainsi que les Bibliothques Java. La configuration de chaque PC sera dtaille ainsi : La partie serveur dapplication client : Dans cette partie, lapplication client est dploye, qui ncessite : Linstallation dun serveur Apache Tomcat. Lintgration dans le serveur les package AXIS et SOAP. Le dploiement de lapplication client dans ce serveur grce un module Web. La partie serveur des services Web : La configuration de cette partie est ncessaire pour le bon droulement de la plateforme pour cela, on a recours : Linstallation dun serveur Apache Tomcat. Linstallation dun serveur de base de donne MySQL et le configurer Lintgration dans le serveur les package suivant : AXIS, SOAP, WSDL et UDDI. Le dploiement des services Web dans le module AXIS (qui est plac dans le serveur Apache Tomcat). Page - 81
Chapitre4:LaRalisation
Une fois ces configurations ralises; il faut dtailler le fonctionnement intrinsque de chaque cot, dune part le cot client reprsent par le serveur dapplication, et dautre part le cot serveur reprsent par le serveur des servies web. Le fonctionnement du serveur dapplication client : Ce fonctionnement est dtaill comme suit : Les messages envoys au serveur seront des requtes SOAP-XML enveloppes dans des requtes HTTP. De mme, les rponses du serveur sont des rponses HTTP qui renferment des rponses SOAP-XML. Du cot client, pour ne pas prendre en charge la srialisation SOAP et lencodage HTTP nous avons dj intgr un package SOAP spcifique. Nous invoquons ensuite le service, simplement en invoquant la mthode approprie (typiquement en spcifiant lURL du service, le nom du service et tous les paramtres requis). Le premier travail dun package est de srialiser linvocation de ce service en requte SOAP. Il doit ensuite encoder ce message dans une requte HTTP et lenvoyer lURL spcifie. Nous verrons la faon dont le serveur des services Web traite la requte, mais pour lheure, il nous renvoie le message encod HTTP contenant la rponse SOAP. Nous excutons le mme procd pour raliser lopration inverse qui consiste dcoder le message HTTP et extraire le message SAOP, ensuite dsrialiser le message SOAP et obtenir la valeur de retour de lappel de la mthode. Le fonctionnement du serveur des services Web : Le fonctionnement du cot serveur des services Web est le suivant : Le serveur Apache Tomcat o sont dploys les services Web, et il est lcoute des requtes HTTP envoy par lapplication client. Page - 82
Chapitre4:LaRalisation
Aprs quune requte HTTP est reue, le module SOAP intgr dans le serveur fait extraire le message SOAP-XML de la requte HTTP, il le dsrialise et fait sparer le nom de la mthode et les paramtres fournis, puis il invoque la mthode du service en consquence. Aprs traitement des donnes par le service, le rsultat de la mthode est alors srialis, encod en HTTP, et puis renvoy au demandeur.
Cette classe renferme un ensemble des mthodes pour tablir la connexion avec la base de donnes dans la plateforme, comme : ServiceGestionProfil(),lire(Stringrequte ), miseAJour(Stringrequte). Et lappel au service Web de gestion des
utilisateurs AppelGestionUtilisateur().
comme :
Chapitre4:LaRalisation
Classe ServiceGestionUtilisateur : la figure suivante illustre les diffrentes mthodes de cette classe.
Lensemble des mthodes de cette classe permettent de raliser la gestion des utilisateurs, suppression, pour la linscription, modification comme : la et
lauthentification, Suppression(),
Inscription(), et
Modification()
converne lutilisateur, comme : getNom(), setNom(),etc. Ainsi la mthode dappel au service Web de gestion des profils : AppelGestionprofil().
Figure 33 : Structure de la classe ServiceGestionUtilisateur. Classe ServiceCreationcours : la figure suivante illustre les diffrentes mthodes de cette classe.
Page - 84
Chapitre4:LaRalisation
Ces mthodes permettent de faire la cration des cours et exercices, comme : sauvegarder(), afficher
Figure 34 : Structure de la classe ServiceCreationCours. Classe ServiceConsultationProfil : les mthodes de cette classe sont illustres par la figure suivante :
Page - 85
Chapitre4:LaRalisation
Ces mthodes permettent la consultation les profils des utilisateurs, comme : affichage(), afficher(String mot),etc. Et la mthode dappel au service Web de gestion des profils AppelGestionProfil().
Figure 35 : Structure de la classe ServiceConsultationProfil. Classe ServiceSuivieApprenant : les mthodes de cette classe sont illustres par la figure suivante :
Ces mthodes permettent deffectuer des valuations pour les preuves et les exercices raliss par les apprenants, comme : lister(), listage(String mot), entiere()etc. Et
Page - 86
Chapitre4:LaRalisation
Classe ServiceConsultationCours : les mthodes de cette classe sont illustres par la figure suivante :
Ces
mthodes
permettent
de
rcuprer et dafficher les cours aux apprenants, comme : rechercher(), visualiser(), envoyer(),etc. Ainsi lappel au service Web de gestion des profils AppelGestionProfil(), et service Web de suivie les
apprenants AppelSuivieApprenant().
Figure 37 : Structure de la classe ServiceConsultationCours. Classe ServiceInterrogation : les mthodes de cette classe sont illustres par la figure suivante :
Page - 87
Chapitre4:LaRalisation
Figure 38 : Structure de la classe ServiceInterrogation. Ces mthodes permettent de rechercher des ressources
pdagogiques pour les requtes des utilisateurs dans la base de donnes dans notre plateforme, comme : ajouter(), name(),
link(),motcle(),...etc.
Page - 88
Chapitre4:LaRalisation
2
2
4 4
Figure 39 : Page daccueil. A partir de la page daccueil, lutilisateur peut : 1. Consulter lensemble des cours disponibles dans la plateforme grce au bouton Voir Catalogue . 2. Prinscrire la plateforme selon son profil (enseignant ou apprenant) grce au bouton Inscription .
Page - 89
Chapitre4:LaRalisation
3. Accder la plateforme avec son login, son mot de passe et son profil (Administrateur, Enseignant et Apprenant) grce au bouton Connexion . 4. Rechercher des ressources pdagogiques grce au bouton Recherche UDDI .
11 2
2
Chapitre4:LaRalisation
A partir de la page dinscription, lutilisateur peut : 1. Revenir la page daccueil. 2. Contacter ladministrateur sil a des problmes lors de linscription ( il peut contacter ladministrateur par email ). Lauthentification : La connexion dun utilisateur dans la plateforme se fait comme suit : chaque utilisateur doit sidentifier en saisissant, dans linterface de connexion (Voir la Figure ci-dessous), son login, son mot de passe et son profil. La vrification de ces informations se fait grce au service Web de gestion des utilisateurs, qui soccupe aussi de la vrification de lidentit des acteurs et ceci afin dautoriser ou de refuser les accs aux ressources de la plateforme. Le service Web de gestion des utilisateurs vrifie si ces informations existent dans la base de donnes de la plateforme, laide dutilisation du service Web de gestion des profils et quelles correspondent les unes aux autres, le systme affiche linterface correspondant lutilisateur selon son profil, sinon le systme affiche linterface dinscription dans la plateforme.
1 2
Figure 41 : Interface dauthentification dans la plateforme. A partir de linterface de connexion, un utilisateur peut : Page - 91
Chapitre4:LaRalisation
1. Revenir la page daccueil pour inscrire si cela na pas t fait. 2. Contacter ladministrateur sil a des problmes, par mail. La scurit du systme : Pour scuriser notre plateforme, nous avons pris les prcautions suivantes : Chaque utilisateur possde un seul login et un seul mot de passe dans le mme profil. Les mots de passe des utilisateurs sont crypts avant dtre sauvegards dans la base de donnes. La cration dune session JSP pour chaque acteur de la plateforme. Les sessions JSP sont un moyen sur et fiable pour lauthentification et la personnalisation des pages Web dynamique. Un poste naccepte la connexion que dun seul utilisateur la fois. Cette restriction nous permettra de mieux suivre chaque apprenant individuellement, par exemple, si deux apprenants utilisent le mme poste, le temps de connexion sauvegard pour chacun dentre eux sera erron.
Page - 92
Chapitre4:LaRalisation
11 22
3
44
Figure 42 : Interface de ladministrateur. Les fonctionnalits spcifiques ladministrateur sont : 1. La gestion des utilisateurs : suppression et modification des comptes des utilisateurs. 2. Laccs aux profils des utilisateurs pour consulter les statistiques sur lactivit des utilisateurs dans la plateforme. 3. La gestion des utilisateurs pour la validation de la prinscription ou linscription des nouveaux utilisateurs. 4. Revenir au page daccueil. Interface de lenseignant : Lenseignant dispose de fonctionnalits lui permettant de crer des cours, laccs aux tableaux de bord des apprenants pour un cours donn. En plus, il peut consulter les cours quil enseigne, proposer des travaux et valuer des apprenants. Linterface suivante illustre les diffrentes tches dont dispose lenseignant. Page - 93
Chapitre4:LaRalisation
4 5
Figure 43 : Interface de lenseignant. Les fonctionnalits spcifiques lenseignant sont : 1. La cration des cours et des preuves pour les diffrents apprenants. 2. Le suivi des apprenants inscrits dans son cours en accdant leurs rsultats. 3. La consultation des notes pour les apprenants inscrits dans son cours. 4. Revenir la page daccueil. 5. Contacter ladministrateur sil a des problmes, il peut contacter ladministrateur par email. La figure suivante illustre la cration dun cours et exercice par en enseignant :
Page - 94
Chapitre4:LaRalisation
Figure 44 : Interface de cration des cours et des exercices. A partir de linterface de cration des cours et exercices, lenseignant peut : 1. Revenir la page daccueil. 2. Contacter ladministrateur sil a des problmes, par email. Interface de lapprenant : linterface de lapprenant est dcrite par la figure suivante, qui rsume les fonctionnalits qui lui sont fournies par la plateforme. Par exemple, la consultation des cours, la ralisation des exercices et preuves et laccs sa progression (le tableau du bord).
Page - 95
Chapitre4:LaRalisation
1 2 3
5 6
Figure 45 : Interface de lapprenant. Les fonctionnalits spcifiques lapprenant sont : 1. La consultation de lensemble des modules dans la plateforme. 2. La consultation des cours. 3. La consultation des cours et exercices. 4. Le suivi de sa progression (consultation du tableau de bord). 5. Revenir la page daccueil. 6. Contacter ladministrateur sil a des problmes lors de linscription, il peut contacter ladministrateur par mail.
Page - 96
Chapitre4:LaRalisation
Description :
1. Compte : Voir mes services Web : Lien vers la page qui permet dajouter, modifier ou supprimer un service Web. 2. Recherche service : Lien vers la page qui permet de rechercher un service Web.
Page - 97
Chapitre4:LaRalisation
Figure 47 : Interface de recherche dun service Web. Description : Rechercher : Recherche les services Web dont le nom contient la chane de caractre entrez par lutilisateur.
Page - 98
Chapitre4:LaRalisation
Figure 48 : Interface de rsultat de la recherche dun service Web dans le registre UDDI. Description de linterface : Nom : Nom du service Web. Description : Description du service Web. Point daccs : Lien (URL) vers le fichier (.wsdl) contenant la spcification de linterface du service Web offert. Modifier service : Appel la page resultatAjouterServiceWeb.jsp qui affichera le rsultat de la recherche. Supprimer service : Efface les informations entrez dans le formulaire.
Page - 99
Chapitre4:LaRalisation
Description de linterface :
Le Nom du Service : Nom du service Web. La description : Description du service Web. Le point daccs : Lien (URL) vers le fichier (.wsdl) contenant la spcification de linterface du service Web offert. Le mot cl : contient le nom ou bien une partie du nom de service Web. Ajouter Service : permet dajouter le service Web dans le registre UUDI.
Page - 100
Chapitre4:LaRalisation
4.8 Conclusion
Notre plateforme reprsente un environnement dapprentissage distribu sur le Web, mettant en uvre plusieurs fonctionnalits bases sur les services Web. Des tests et des essais ont t effectus sur notre plateforme afin de vrifier sa fiabilit et sa stabilit. Toutefois, nous devons reconnaitre que notre plateforme ne montrera ses qualits et son efficacit, que dans un environnement rel, c'est--dire dploye sur le Web, avec de vrais acteurs. Pour cela, une exprimentation relle devrait tre effectue.
Page - 101
ConclusionGnrale
Conclusion Gnrale
Le but fix notre travail tait de raliser et de dvelopper une plateforme assez complte dans son architecture, simple dans sa composition, abordable dans son utilisation, intgrant le plus de fonctionnalits, qui permettent de couvrir un cycle dapprentissage complet et offrant aux utilisateurs une panoplie doutils, et de facilits qui permettent chacun daccomplir son rle par notre systme. Le-Learning est dcrit comme lunion du multimdia (son, image, texte) et de l'Internet, pour lequel de nombreuses plateformes sont prsentes, et de nombreux projets de recherche sont en cours de dveloppement. Les plateformes existantes se ressemblent par leurs fonctionnalits et leurs architectures centralises et fermes. Par inspiration de ces plateformes et par le dveloppement induit par lintitul de cette tude, nous avons prsent larchitecture dune plateforme ouverte, distribue et flexible dun environnement d'apprentissage base de services Web, o laccs ne peut tre quindividuel c'est--dire grce lauthentification. Cette architecture est compose dun ensemble de services Web distribus sur le Web. Chaque service Web peut tre dupliqu (avoir plusieurs instances ayant le mme rle). Lavantage de lutilisation des services Web permet davoir une plateforme flexible dans la gestion du profil des acteurs et des contenus pdagogiques, distribue sur plusieurs serveurs, extensible par lappel dautres services Web, ainsi quune interoprabilit entre eux, sans omettre dajouter que la complmentarit entre services Web gnre de nouvelles fonctionnalits. Les services Web de notre plateforme peuvent tre utiliss par dautres environnements, et il est possible dintgrer dautres services Web partir dautres environnements. La communication entre les services Web est ralise par un protocole de haut niveau appel SOAP qui doit assurer l'interoprabilit des services Web, limplmentation dun annuaire UDDI qui permet l'utilisation des services Web externes la plateforme.
ConclusionGnrale
Actuellement, lutilisation des services Web est de plus sollicite dans le dveloppement des applications distribues grce au dveloppement des technologies de plus en plus performantes, rpondant lexigence des demandes formules par les utilisateurs ; ce qui a amen de grandes entreprises crer et publier des services Web propres leurs besoins ainsi qu ceux des demandeurs. Cependant que la plateforme offre beaucoup de fonctionnalits ses utilisateurs, certaines amliorations doivent tre apportes afin lenrichir et den faire un systme complet et performant. Nous en citons titre dexemple les amliorations suivantes : Lintgration dun module Web pour la dcouverte des services Web. Ce module se charge de faire la slection, la classification entre les services Web selon des paramtres de profil et de choix du client entre des services Web favorables, afin de rendre la recherche dans lannuaire UDDI plus prcise pour faciliter laccs des services personnaliss. Lamlioration des relations des services Web avec lannuaire UDDI ; en offrant la possibilit aux services Web dinvoquer le registre UDDI automatiquement ; cest-dire que lorsquun service Web a besoin dune fonctionnalit manquante, il va la cherch au niveau du registre UDDI sans lintervention de lutilisateur ou du dveloppeur. Offrir la possibilit pour que des canaux de communication entre plusieurs registres UDDI soient tablis ; c'est--dire offrir la possibilit pour que lopration de recherche seffectue dans un rseau de registres dUDDI dploys dans le Web et qui se reconnaissent. Rendre les fonctionnalits servies par les services Web plus interactifs enrichis dune prsentation conviviale en amliorant ces contenus et les interfaces.
Bibliographie
Bibliographie
[Are06] Nerea Arenaza, Composition semi-automatique des Web Services, Projet de Master, Ecole Polytechnique Fdrale de Lausane, fvrier 2006. [Asc03] Gilles Ascione, LES LEARNING MANAGEMENT SYSTEMS (LMS), Solutions logicielles de gestion de la formation, dition Wellesley Road, 2003. [Aub05] Sterenn AUBERT, Le e-Learning adaptatif, Rapport de stage, Universit de Nice Sophia-Antipolis, juin 2005. [Bad05] Lyes Badis & Tarek Merzouk, Systme dinterrogation dune collection de documents structur XML, Mmoire de fin dtude, Pour lobtention du diplme dingnieur dtat en informatique, 2005. [Ben05] Ahcene BENAYACHE, Construction d'une mmoire organisationnelle de formation et valuation dans un contexte e-Learning, Thse de Doctorat, luniversit de technologie de compiegne, le 5 dcembre 2005. [Bous04] Nabila Bousbia, Contribution thorique et mthodologique llaboration dun environnement de FOAD, mmoire de magister 2004. [Bry04] Sean Brydon & Beth Stearns, Designing Web Services with the J2EE 1.4 Platform JAX-RPC, SOAP, and XML Technologies, dition Addison Wesley, le 9 juin 2004. [Cer02] Ethan Cerami, Web Services Essentials, dition O'Reilly, fvrier 2002. [Cha03] Sandeep Chatterjee & James Webber, Developing Enterprise Web Services, dition Prentice Hall PTR, le 14 novembre 2003. [Cha02] David Chappell & Tyler Jewell, Java Web Service, dition O'Reilly, Mars 2002. [Chi04] Roberto Chinnici & Martin Gudgin, Web Services Description Language, dition W3C, 22 aout 2004. [Cou02] Carine COURBIS, Technologies XML programmation par aspects et composants, Thse de Doctorat, LUNIVERSIT DE NICE SOPHIA-ANTIPOLIS, le 10 dcembre 2002. [Dur06] Guillaume DURAND, La scnarisation de l'valuation des activits pdagogiques utilisant les Environnements Informatiques dApprentissage Humain, Thse de Doctorat, Universit de Savoie, le 24 octobre 2006. [Gar02] Georges Gardien, XML des bases de donnes aux Services Web, dition Dunod, 2002.
Bibliographie
[Gae05] Gael Bodet & Sabrina Daoud & Pierre-Henri Amalric, e-Learning Comment russir la mise en place dun projet e-Learning, dition X-PERTEAM, le 25 fvrier 2005. [Ges03] Xavier Gesnu, Dvelopper des Services Web XML et des composants serveurs, dition Dunod, 2003. [Got03] Gottfried Vossen & Peter Westerkamp, E-Learning as a Web Service, Universit de Munster, 2003. [Kre01] Heather Kreger, Web Service Conceptual Architecture, dition IBM Software Group, maie 2001. [Leb03] Michel Leblanc & Gilbert Babin, Les Web Services et leurs compact B to B, CIRANO : Centre Interuniversitaire de Recherche en Analyse des Organisations, Aot 2003. [Lop05] Denivaldo Cicero Pavo Lopes, Etude et applications de lapproche MDA pour des plates-formes de Services Web, Thse de Doctorat, lUFR Sciences et Techniques, Universit de Nantes, le 11 juillet 2005. [Mad05] Ivan Madjarov, Des services web pour le e-Learning, Laboratoire des Sciences de lInformation et des Systmes Maroc, le 28 octobre 2005. [Mel04] Tarek Melliti, Interoprabilit des Services Web complexes, Thse de Doctorat, Universit Paris IX Dauphine, le 8 dcembre 2004. [New04] Eric Newcomere, Understanding Web Services Xml WSDL SOAP And UDDI, dition O'Reilly, 2004. [Pat04] Patrick Kellert et Farouk Toumani, Les Web Services smantiques,
http://www.isima.fr/limos/, 2004. [Pamu04] Pierre Alain Muller, La gense dUML, 2004. [Pon04] Julien Ponge, Comptabilit et substitution dynamique des Web Services, Mmoire de fin dtude, Universit Blaise Pascal Clermont II, Juillet 2004. [Rem06] Mostafa Remadna & Abderrahim Bouziane, Un modle XML pour les applications coraniques, Mmoire de fin dtude, Pour lobtention du diplme dingnieur dtat en informatique, 2006. [Rgiu04] J.Rumbaugh, G.Booch, I.Jacobson, Unified Modelling Language, Langage unifi pour la modlisation objet, 2004. [Ric04] Ricardo DE LA ROSA-ROSERO, Dcouverte et Slection de Services Web pour une application Mlusine, lInstitut dInformatique et de Mathmatiques Appliques de Grenoble, le 15 septembre 2004. [Sab01] Emmanuel Sabbagh, Dveloppement dune mthode dvaluation des plates-formes de e-formation et valuation de la plate-forme WebCT, Mmoire de fin dtude pour
Bibliographie
lobtention du diplme de baccalaurat en ingnierie, cole Polytechnique de Montral, le 3 Octobre 2001. [Sco02] Scott Short, Construire des Services Web XML, dition Dunod, 2002. [Tid01] Doug Tidwell & James Snell & Pavel Kulchenko, Programming Web Services with SOAP, dition O'Reilly, dcembre 2001. [Vil02] Marlne VILLANOVA-OLIVER, Adaptabilit dans les systmes dinformation sur le web Modlisation et mise en uvre de laccs progressif, Thse de Doctorat, Institut National Polytechnique de Grenoble, le 18 dcembre 2002. [Via06] Maxime Vialette, Web services, http://www.labo-sun.com/, le 8 mars 2006. [Wee05] Sanjiva Weerawarana & Francisco Curbera, Web Services Platform Architecture SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More, dition Prentice Hall PTR, le 22 mars 2005. [Zast02] Zakaria Chahnez, Stanboul Mohamed Yacine, Conception et Ralisation dun Systme dinformation pour la gestion de cours mditiss, Mmoire de fin dtude, Pour lobtention du diplme dingnieur dtat en informatique, 2002.
AnnexeA:UML
Annexe A UML
Unified Modeling Language.
AnnexeA:UML
informations ncessaires son bon fonctionnement. Les use cases qui reprsentent l'utilisation du systme par les acteurs. Les diagrammes font intervenir les acteurs, les autres systmes et les cas d'utilisation eux mmes. Systme
II peut exister des relations entre les cas d'utilisation que lon reprsente au moyen de strotypes : Le cas d'utilisation peut utiliser un autre cas d'utilisation et on le dnote par une relation de type uses, Le cas d'utilisation peut tendre un autre cas d'utilisation et on le dnote par une relation de type Extend .
AnnexeA:UML
Figure B : Reprsentation graphique d'un diagramme de classes [Rgiu04]. Notation Package Signification Un regroupement de classes, d'associations et ventuellement d'autres parquetages, qui correspondent a une fonctionnalit dfinie et commune. Association 1* En langage UML quand une association est porteuse d'attributs, elle devient une classe association. Package 1 : Entit 4 Une entit peut tre reprsente dans plusieurs packages, il faut juste indiquer son package d'appartenance. Agrgation Association trs forte, utilise pour montrer que toute modification effectue sur l'agrgat entranera une modification sur les objets agrgs.
Le diagramme d'tats est propre une classe donne, il doit tre construit pour les objets de l'application ayant un comportement non trivial. Un tat est une situation. Une transition est une relation entre deux tats signifiant qu'un passage de lun a l'autre est possible. En d'autres termes, c'est une relation oriente entre deux tats, a laquelle est attach un vnement et qui indique qu'un objet
AnnexeA:UML
dans le premier tat passera dans le second si certaines conditions sont remplies.
Notation Objet 1, 2, 3
Signification I1 peut tre une classe, une association ou un acteur externe, il peut mme tre une interface.
Evnement 1, 2, 4 Les vnements et messages mis et reus par les objets impliqus dans l'excution du scnario. Evnement 3 Son excution concerne un seul objet, il est stimule quand cet objet entre dans un tat. Tableau 2 : Elments de base dun diagramme de squences [Zast02].
AnnexeB:InstallationdunregistreUDDI
Annexe B
Installation dun registre UDDI
Prface
Dans le document qui suit : TOMCAT = rpertoire dinstallation de Tomcat (ex. c:\tomcat\). JUDDI = rpertoire dinstallation de JUDDI (en gnral : TOMCAT\webapps\juddi\). MYSQL = rpertoire dinstallation de mySQL (ex. c:\mySQL\).
Logiciels
Apache Tomcat 5.0.18 (http://jakarta.apache.org/tomcat/) JUDDI 0.9 rc1 (http://ws.apache.org/juddi/) MySQL 4.0 (http://www.mysql.com) MySQL JDBC Connector (http://www.mysql.com/products/connector/j/) AXIS (http://ws.apache.org/axis/) UDDI API (http://www.ruddi.biz/downloads.html)
Installation
Installer Apache Tomcat Web server. Pour installer Tomcat excuter le fichier Tomcat-5.0.exe (vous pouvez utiliser les options par dfault. Il est conseill dinstaller Tomcat en tant que service sous windows XP/NT). Si Tomcat est bien install vous devriez dans Internet explorer voir ladresse http://localhost:8080/ la page Web par dfaut de Tomcat. Assur-vous que la variables denvironment de Windows PATH contient les chemins suivant: TOMCAT\common\lib et TOMCAT\webapps\axis\WEB-INF\lib Installer mySQL. Dcompressez le fichier mysql-4.0.21-win.zip et excuter le fichier Setup.exe Installer mySQL comme service. la ligne de commande tapez : MYSQL\bin\mysqld-nt install Pour supprimer le service : MYSQL\bin\mysqld-nt --remove Dmarrer mySQL (control panel\Admin tools\ services). Ensuite, il faut crer le schma de la base de donnes et un utilisateur.
AnnexeB:InstallationdunregistreUDDI
1. Copier les fichiers du repertoire CD-ROM\Software\Script\ dans le rpertoire MYSQL\bin. 2. Modifier le fichier insertpu.sql. Ajouter autant de publisher et dutilisateur voulu. 3. Ouvrez une fentre DOS. 4. Tapez : 1. Positionner vous dans le rpertoire MYSQL\bin 2. Tapez : - mysql u root - source createdb.sql ; - source insertpu.sql; - exit - exit
Installer mySQL JDBC Driver. Dcompressez le fichier mysql-connector-java-3.0.15-ga.zip et copier le fichier mysql-connectorjava-3.0.15-ga-bin.jar dans le rpertoire TOMCAT\common\lib\. Installer JUDDI. Copier le fichier JUDDI\JUDDI.war du fichier juddi.zip dans le rpertoire TOMCAT\webapps\. Apache dcompressera le fichier .war . Redmarrer Tomcat. (Une structure de rpertoire sera automatiquement cre dans TOMCAT\webapps\juddi). Configurer le fichier JUDDI\WEB-INF\juddi.propertie. Si vous nutilis pas de proxy, mettez en commentaire (ajouter un # au dbut de la ligne) les lignes suivantes. Sinon modifier ces lignes pour quil reflte vos informations. juddi.httpProxySet = true juddi.httpProxyHost = proxy.viens.net juddi.httpProxyPort = 8000 juddi.httpProxyUserName = sviens juddi.httpProxyPassword = password
Ajouter le code suivant entre les balises < Logger className="org.apache.catalina.logger.FileLogger" . /> et </Host> la fin du fichier TOMCAT\conf\server.xml Ce code permet Tomcat de se connecter la base de donne mySQL.
AnnexeB:InstallationdunregistreUDDI
<Context path="/juddi" docBase="juddi" debug="5" reloadable="true" crossContext="true"> <Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_juddiDB_log" suffix=".txt" timestamp="true"/> <Resource name="jdbc/juddiDB" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/juddiDB"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <!-- Maximum number of dB connections in pool. Make sure you configure your mysqld max_connections large enough to handle all of your db connections. Set to 0 for no limit. --> <parameter> <name>maxActive</name> <value>100</value> </parameter> <!-- Maximum number of idle dB connections to retain in pool. Set to 0 for no limit. --> <parameter> <name>maxIdle</name> <value>30</value> </parameter> <parameter> <name>maxWait</name> <value>10000</value> </parameter>
AnnexeB:InstallationdunregistreUDDI
<!-- MySQL dB username and password for dB connections --> <parameter> <name>username</name> <value>juddi</value> </parameter> <parameter> <name>password</name> <value>juddi</value> </parameter> <!-- Class name for mm.mysql JDBC driver --> <parameter> <name>driverClassName</name> <value>org.gjt.mm.mysql.Driver</value> </parameter> <!-- The JDBC connection url for connecting to your MySQL dB. The autoReconnect=true argument to the url makes sure that the mm.mysql JDBC Driver will automatically reconnect if mysqld closed the connection. mysqld by default closes idle connections after 8 hours. --> <parameter> <name>url</name> <value>jdbc:mysql://localhost:3306/jUDDI?autoReconnect=true </value> </parameter> </ResourceParams> </Context>
Redmarrez Tomcat. Pour tester la configuration : http://localhost:8080/juddi/happyjuddi.jsp Si aucune erreur nest affich tout devrait tre bien configur. Installer AXIS (permet de gnrer des fichiers .wsdl). Dcompressez le fichier axis-1_2beta3-bin.zip et copier le rpertoire \Axis dans le rpertoire TOMCAT\webapps\. Redmarrer Tomcat. (Vrifier quil ny a pas derreur : http://localhost:8080/axis/happyaxis.jsp) Installer lAPI de UDDI. Dcompressez le fichier ruddi-1.0-bin.zip et copier le fichier ruddi-1.0-bin.jar dans le rpertoire TOMCAT\common\lib . Le fichier ruddi-1.0-bin.jar contient les mthodes de lAPI ainsi que les documents javadocs ncessaires son utilisation. Vous pouvez utiliser cet API pour dvelopper votre propre code source. Installation du Browser UDDI. Dcompressez le fichier Browser.zip et copier tout les fichier dans le rpertoire JUDDI. Pour tester laccs au site : http://localhost:8080/juddi/.
AnnexeC:UDDI
Annexe C
UDDI
Universal Description Discovery and Integration.
UDDI est un standard dvelopp par le trio IBM, Microsoft et Ariba. UDDI est un registre de services Web sous format XML et il dfinit les mcanismes permettant de rpertorier les services Web. Il Rgit linformation relative : La publication, la dcouverte et lutilisation de service Web. Un registre peut tre de type priv, public ou partag. Il existe prsentement au moins 3 registres UDDI de type public en fonction prsentement, celui dIBM, Microsoft et SAP. Ces trois registres sont fonctionnel et peuvent tre accessible partir dInternet, ces registres utilisent la version 2 de UDDI. Ces registres sont configurs de faon pouvoir dupliquer linformation quils contiennent. Par exemple, si un utilisateur publie un service Web dans le registre dIBM, lorsque celui-ci se connectera au registre de Microsoft, il enverra linformation concernant le service Web ajout par lutilisateur au registre de Microsoft. Linformation se retrouve donc dans les 2 registres, ce qui permet aux gens utilisant un registre davoir accs linformation des 3 registres. Ces trois compagnies, sont prsentement en test de la version 3 dUDDI. UDDI (Universal Description, Discovery and Integration) est une spcification technique pour dcrire, dcouvrir et intgrer les services Web. La spcification des structures de donnes permet de dfini quels types de donne seront sauvegards dans UDDI tandis que la spcification de linterface dfinie comment accder au registre. Le registre UDDI permettra demmagasiner de linformation sur les entreprises et les services quelles offrent. Le protocole SOAP est utilis pour accder un registre UDDI. UDDI dfinie quatre types de structures de donnes :
AnnexeC:UDDI
BusinessEntity : Contient linformation sur lentreprise (structure principale dun registre UDDI) qui publie les services Web dans lannuaire, par exemple, Nom, Adresse, Numro de tlphone, Description, Coordonne,etc. BusinessService : Contient linformation sur un service Web ou un groupe de services Web publie par lentreprise, comme : Nom du service Web, Description, et Code. BindingTemplate : Contient linformation sur comment et ou accder un service Web spcifique, cest--dire est un ensemble dinformation concernant le lieu dhbergement le service Web, soit par un : Point daccs : URL (Document WSDL), Email, FTP, ou bien par un tModelInstanceDetails : rfrence a un tModel dans le registre UDDI. Il est gnralement un fichier WSDL dont lobjectif est de dfinir : les types utiliss par le service Web, et les oprations applicables au service Web et comment y accder. tModel : Reprsente lensemble dinformation concernant le mode daccs un service Web, et la spcification technique dans un registre UDDI. Utilis pour spcifi quun service Web respecte les contraintes dfinies dans le model (Standards) par un identificateur unique, ou bien par un pointeur vers une spcification. publisherAssertion : est un ensemble dinformations contractuelles entre partenaires dans le cadre dchanges commerciaux. Il existe deux APIs de programmation pour dialoguer avec un annuaire UDDI : API dinterrogation dans un annuaire : cela consiste effectuer des interrogations, des recherches dinformations, sur les entrs dun annuaire UDDI. Tout utilisateur a la possibilit deffectuer des recherches et donc de mettre en uvre cette API. API de publication dans un annuaire : pour permettre la publication ou la suppression de services Web au sein dun annuaire. Cette API impose des autorisations daccs et est destine aux fournisseurs de services Web et aux entreprises dsirant publier des informations les concernant. Les diffrents lments BusinessEntity, BusinessService, BindingTemplate et tModel peuvent tre accessibles partir des diffrentes mthodes suivantes de leur API.
AnnexeC:UDDI
Tableau 4 : les APIs dinterrogation et de publication dans un annuaire UDDI. Les personnes ayant accs au registre pourront via une interface (Internet Explorer par exemple) publier ou rechercher un service Web, qui convient leurs attentes ou leur entreprise dans le registre UDDI, et obtenir les mtas donns ncessaire son utilisation. Chaque service Web rfrenc est reprsent par une structure bindingTemplate. L'invocation d'un service Web s'effectue gnralement sur la base d'informations fournies par une structure bindingTemplate mise au pralable en cache. Le scnario d'utilisation d'UDDI fin de rdiger un programme d'appel d'un service Web spcifique se prsente alors de la manire suivante :
Le dveloppeur utilise l'annuaire professionnel UDDI pour retrouver l'information enregistre sur l'entreprise ou sur le partenaire qui dclare le service Web : information businessEntity.
Le dveloppeur rentre au choix plus en dtail dans une structure businessService ou demande une structure complte businessEntity, puis slectionne un bindingTemplate particulier.
AnnexeC:UDDI
En se basant sur le bindingTemplate, le dveloppeur obtient de l'information sur les spcifications du service Web au travers des structures tModel rfrences par une cl unique contenu dans l'attribut tModelKey. Une fois connu le lien vers le WSDL, le recours l'assistant de Web service permet de "dcouvrir" le service Web.
En gnral, les appels au service distant fonctionneront correctement, les cas particuliers d'checs et les moyens d'y faire face sont explicits ci-dessous.