You are on page 1of 75

Ddicaces

JE DEDIE CE MODESTE TRAVAIL

A mes parents, en guise de reconnaissance et de gratitude pour les sacrifices quils ont fait,

A mon frre, ma sur, avec tout mes vux de les voir russir dans leur vie,

A mes amis, qui je souhaite le succs, pour lamiti qui nous a toujours unis,

A tous ceux qui me sont chers

Marouene

Remerciements

Au dbut de ce rapport, Nous voulons remercier toutes les personnes qui nous ont soutenues accomplir notre projet de fin dtudes et le raliser dans les meilleures conditions. Tout dabord, nous remercions les membres de jury qui nous ont fait le grand honneur de juger ce travail. Nous adressons, aussi, nos vifs remerciements M. Ammar BOUALLEGUE, notre encadrant lENIT, pour ses conseils directifs et prcieux. Nous voudrons exprimer notre gratitude Mlle Naama AMDOUNI pour ses conseils quelle na cesss de nous prodiguer tout au long de lcriture du prsent rapport et surtout pour son sourire dencouragement. Nous remercions, galement, M. Mouadh JABER, notre encadrant dans lentreprise daccueil pour nous avoir consacr une grande partie de son temps, et ainsi que pour tout le personnel de Wave Global Services Tunisia pour lambiance et lenvironnement de travail quils nous ont offert. Enfin, nous tenons exprimer notre profonde gratitude tous nos enseignants lENIT pour nous avoir procur une formation de qualit durant trois ans du cycle dingnieurs.

Rsum
Suite lextension des marchs de linformatique, les entreprises de dveloppement informatiques ont eu recours implmenter des filiales dans des pays en cours de croissance. Cette notion de filiale a donn une grande importance lassistance technique distance et cest dans ce cadre qui se situe notre projet de fin dtudes. En effet ce dernier consiste concevoir et implmenter une solution de prise en main distance dun ordinateur ce qui permet de rsoudre des problmes rencontrs dans un site distant sans perdre de temps et dargent d au dplacement . Lapplication ainsi dveloppe est une application JEE de type client/serveur. La partie serveur est sous forme dun service web base du Framework JAXWS et les clients sous formes des applications java. Mots cls : JEE, Web Service, JAX-WS.

Abstract
Following the expansion of markets for information technology, companies have been used implement subsidiaries in countries undergoing growth. This notion of subsidiary gave great importance to technical remote assistance and in this situation is our final project. Indeed it is to design and implement a solution to take control of a remote computer which can solve problems in a remote site without wasting time and money due to displacement. The application is developed and applied to JEE client / server. The server part is in the form of a web service-based Framework JAX-WS and customers in the form of java applications. Key words : JEE, Web Service, JAX-WS.

Table des matires


Introduction gnrale ...........................................................................................................1 Chapitre 1 Cadre Gnral du Projet ...................................................................................4 1. Introduction ..................................................................................................................................4 2. Prsentation de lentreprise .........................................................................................................4 2.1. Prsentation et activits.............................................................................................4 2.2. Organigramme de lentreprise ...................................................................................4 3. Besoin du projet et problmatique ..............................................................................................5 3.1. Besoin de lancement du projet ..................................................................................5 3.2. Problmatique ...........................................................................................................6 4. Conclusion ....................................................................................................................................6 Chapitre 2 Etude de lexistant .............................................................................................8 1. Introduction ..................................................................................................................................9 2. Etude de lexistant ........................................................................................................................9 2.1. Situation actuelle et besoins ......................................................................................9 2.2. Solutions disponibles ................................................................................................9 2.3. Etudes de quelques exemples .................................................................................. 10 2.3.1. GoToAssist ......................................................................................................10 2.3.2. WebEx ............................................................................................................. 10 2.3.3. pcAnyWhere .................................................................................................... 10 2.3.4. Java Remote Desktop ....................................................................................... 11 2.4. Tableau comparatif ................................................................................................. 11 2.5. Critique de lexistant ............................................................................................... 12 3. Aspect de la solution adopte ....................................................................................................12 4. Conclusion ..................................................................................................................................13 Chapitre 3 Architecture et technologies ............................................................................ 15 1. Introduction ................................................................................................................................16 2. Larchitecture Client/serveur .....................................................................................................16 2.1. Prsentation ............................................................................................................ 16 2.2. Caractristiques ......................................................................................................16 3. Les technologies de mise en uvre de larchitecture client/serveur .......................................17 3.1. CORBA .................................................................................................................. 17 3.2. RMI ........................................................................................................................ 18 3.3. .Net Remoting ........................................................................................................ 18

3.4. WebService ............................................................................................................ 18 3.5. Technologie adopte : WebService ......................................................................... 18 4. Les WebService..........................................................................................................................19 4.1. Dfinition et objectifs ............................................................................................. 19 4.2. les standards du WebService ................................................................................... 19 4.2.1. SOAP ............................................................................................................... 20 4.2.2.WSDL ............................................................................................................... 20 4.2.3. UDDI ............................................................................................................... 20 5. Choix de la plate-forme JEE......................................................................................................20 6. Conclusion ..................................................................................................................................20 Chapitre 4 Analyse et Spcification des Besoins................................................................ 22 1. Introduction .........................................................................................................................23 2. 3. Spcification fonctionnelle ................................................................................................23 Spcification non fonctionnelle .........................................................................................24

3.1. Maquette IHM de lapplication ...........................................................................24 3.2. Architecture et performance ................................................................................ 25 3.3. Documentation et support ................................................................................... 26 3.4. Environnement de dploiement ...........................................................................26 4. Recherche des acteurs et des cas dutilisations ........................................................................26 4.1. Identification des acteurs ........................................................................................ 26 4.2. Raffinement des cas dutilisations ...........................................................................27 4.2.1. Les cas dutilisation .......................................................................................... 27 5. Conclusion ..................................................................................................................................35 Chapitre 5 Conception ....................................................................................................... 36 1. Introduction ................................................................................................................................37 2. Conception architecturale ..........................................................................................................37 2.1. Structure gnrale de lapplication ..........................................................................37 2.2 Organisation gnrale de lapplication ..................................................................... 38 3. Conception dtaille ...................................................................................................................39 3.1. Diagrammes de classes ........................................................................................... 39 3.1.1. Diagramme de classes du composant contrleur ............................................... 39 3.1.2. Diagramme de classes du composant contrl .................................................. 40 3.1.3. Modlisation du WebService ............................................................................ 41 3.2. Larchitecture dtaille des composants .................................................................. 43 3.3. Diagrammes de squences ...................................................................................... 44 3.3.1. Diagramme de squence de lAuthentification .................................................. 45 3.3.2. Diagramme de squence de la cration de session ............................................ 45 3.3.3. Diagramme de squence du contrle de la souris .............................................. 46

3.3.4. Diagramme de squence de lchange de message ............................................ 47 4. Conclusion ..................................................................................................................................48 Chapitre 6 Ralisation ........................................................................................................ 49 1. Introduction ................................................................................................................................50 2. Environnement de travail ...........................................................................................................50 2.1. Environnement matriel .......................................................................................... 50 2.2. Environnement logiciel ........................................................................................... 50 3. Environnement de dploiement .................................................................................................51 4. Choix technique de lAPI JAX-WS ..........................................................................................51 5. Le modle conceptuel de donnes (MCD) ...............................................................................51 6. Signature et scurit ...................................................................................................................53 6.1. Signature des applet ................................................................................................ 53 6.2. Scurit de la communication ................................................................................. 54 7. Maquette de test .........................................................................................................................54 8. Elaboration des interfaces ..........................................................................................................55 8.1. Interface de lauthentification ................................................................................. 55 8.2. Interface de tlchargement des applet .................................................................... 56 8.3. Ecran de lapplet contrleur .................................................................................... 57 8.4. Ecran de lapplet Contrl ...................................................................................... 59 8.5. Etablissement dune session de contrle .................................................................. 60 8.6. Ecran de la messagerie instantane ......................................................................... 61 8.7. Ecran de lEnvoi de fichier ..................................................................................... 62 9. Conclusion ..................................................................................................................................63 Conclusion et Perspectives ................................................................................................. 64 Netographie......................................................................................................................... 65 Bibliographie ...................................................................................................................... 65

Liste des figures


Figure 1 : Organigramme du Wave Global Services Tunisia ...................................................5 Figure 2 : Organisation de linterface ct contrleur ............................................................ 24 Figure 3 : Organisation de linterface ct contrl ............................................................... 25 Figure 4 : Diagramme de cas dutilisation globale ................................................................ 27 Figure 5 : Diagramme de cas dutilisation Prendre le main sur un ordinateur distance ........ 28 Figure 6 : Diagramme de cas dutilisation du contrle dun PC distance ............................ 30 Figure 7 : Architecture gnrale de l'application ................................................................... 38 Figure 8 : Diagramme de classes du composant contrleur .............................................. 40 Figure 9 : Diagramme de classes du composant contrl ................................................. 41 Figure 10 : Modlisation du WebService .............................................................................. 43 Figure 11 : Architecture dtaille des composants ................................................................. 44 Figure 12 : Diagramme de squence dAuthentification ........................................................ 45 Figure 13 : Diagramme de squence de la cration de session ............................................... 46 Figure 14 : Diagramme de squence du contrle de la souris ................................................ 47 Figure 15 : Diagramme de squence de lchange de messages ............................................. 48 Figure 16 : Environnement de dploiement ...........................................................................51 Figure 17 : Modle conceptuel de donnes ...........................................................................52 Figure 18 : Signature d'applet java ........................................................................................ 54 Figure 19 : Page d'authentification ........................................................................................ 55 Figure 20 : Echance de l'authentification ............................................................................. 56 Figure 21 : Page de tlchargement de l'applet contrleur ..................................................... 56 Figure 22 : Autorisation de l'excution des applets java ........................................................ 57 Figure 23 : Structure de l'applet contrleur ...........................................................................58 Figure 24 : Ecran de la cration d'une session de contrle ..................................................... 59 Figure 25 : Structure de l'applet contrl ............................................................................... 60 Figure 26 : Etablissement d'une session de contrle .............................................................. 61 Figure 27 : Ecran de l'envi de fichier..................................................................................... 62 Figure 28 : Ecran de l'envoi de fichier ................................................................................... 63

Liste des tableaux

Tableau 1 : Tableau comparatif des exemples tudis ........................................................... 12 Tableau 2 : Droulement principal de Crer une session de contrle ................................... 29 Tableau 3 : Droulement principal du contrle de la souris ................................................... 31 Tableau 4 : Droulement principal du contrle du clavier ..................................................... 32 Tableau 5 : Droulement principal de lchange de messages ............................................... 33 Tableau 6 : Droulement principal de lenvoi de fichier ........................................................ 35 Tableau 7 : Droulement alternatif de lenvoi de fichier ........................................................ 35 Tableau 8: Entit Utilisateur ................................................................................................. 52 Tableau 9: Entit Session......................................................................................................53

Liste des abrviations


WGS UK WGST WS IDE RMI CORBA OMG IDL IIOP API SOAP WSDL UDDI XML ASCII TCP/IP HTTP SMTP RPC W3C URL JEE IIS SSL VPN JAX-RPC Wave Global Services United Kingdom Wave Global Services Tunisia Web Service Integrated Development Environment Remote Procedure Call Common Object Request Broker Architecture Object Management Group Interface Definition Language Internet Inter-ORB Protocol Application Programming Interface Simple Object Access Protocol Web Services Description Language Universal Description Discovery Information eXtensible Markup Language American Standard Code for Information and Interchange Transmission Control Protocol / Internet Protocol Hypertext Transfer Protocol Simple Mail Transfer Protocol Remote Procedure Call World Wide Web Consortium Uniform Resource Locator Java Enterprise Edition Internet Information Services Secure Sockets Layer Virtual Private Network Java api for XML Remote Procedure Call

JAX-WS RI Java api pour XML Web Service Reference Implementation JAX-WS Java api for XML Web Service

Introduction Gnrale

ENIT 2008/2009

Introduction gnrale
Les entreprises de dveloppement informatique oprent dans un environnement en perptuelle mutation. Pour rester concurrentielles ou efficientes, elles doivent rgulirement adapter leurs rgles de fonctionnement. Si lvolution des systmes dinformation peut se faire naturellement et en douceur par la capacit humaine dadaptation des collaborateurs, les systmes informatiques, aussi sophistiqus soient-ils, restent des constructions artificielles qui doivent tre transformes ou adaptes au cas par cas. Pouss par cette forte contrainte externe, ce type dentreprise se penche alors vers des stratgies lui permettant de capitaliser sur ses ressources humaines et son savoir faire en matrise douvrage et surtout en maitrise duvre. Mme si cette dernire constitue souvent le talon dAchille des entreprises emportes par la lgret de suivre rapidement les nouvelles technologies ou prsentant une vitesse de rotation rapide de son quipe technique. Dans le but de satisfaire ces besoins qui accroissent dun jour un autre et vu lexpansion des technologies de linformation et de la communication, les entreprises cherchent utiliser des outils hautement qualifis technologiquement et offrant des services permettant de pousser ses dveloppement. Grce lextension des marchs de linformatique, les entreprises de dveloppement informatique sont en phase dvolution, de reconstruction et dimplantation dans les pays ou les marchs sont en croissance. Pour cela la notion de filiale a apparu dans le but de rapprocher lentreprise du march et de ses clients. Lapparition de filiale demande de lentreprise mre la prise en charge continuellement. Elle doit accompagner ses filiales dans les phases de dveloppement de ses produits et en cas de problmes elle doit agir afin de les rsoudre dans les plus courts dlai. Quant ses clients, lentreprise doit assurer une prise en charge rapide pour rsoudre leurs problmes rapidement et rpondre leurs questions les plus compliques. Afin de russir la prise en charge de ses clients et de ses employs dans les locaux et sur les sites distants, un expert se dplace vers les intresss pour agir dans le but de rsoudre les

Introduction Gnrale

ENIT 2008/2009

problmes rencontrs. Ce dplacement augmente les dpenses de lentreprise vu le cout lev de dplacement et de la perte du temps. Pour faire face ces inconvnients, la notion dassistance t echnique distance a vu le jour avec une panoplie doutil de prise en main distance. La prise en main distance des ordinateurs vise lamlioration de la qualit et de la rapidit du support technique, la baisse des cots relatifs la maintenance des ordinateurs personnels et serveurs en agissant distance, sans dplacement inutile et coteux et sans perte de temps ,lamlioration de ladministration du rseau et lautomatisation de certaines tches telles que les mises jour, transferts de fichiers, lancements de services et applications distance et la formation des personnels moindre cot. Cest bien dans ce cadre que se situe notre projet de fin dtudes intitul ralisation dune application de prise en main distance . En effet, initi par une volont de lentreprise Wave Global Services, denrichir sa bibliothque de logiciels et de minimiser ses dpenses car elle est en train dutiliser un produit de prise en main distance payant , on nous a affect la tche dtudier, de concevoir et de dvelopper une solution de prise en main distance. La prsentation du projet fera cho cette dmarche et sarticulera autour de six chapitres. Nous nous intressons dans un premier chapitre, prsenter le contexte gnral du projet. Nous commenons par prsenter lorganisme daccueil puis nous posons la problmatique du sujet qui nous a t propos. La ralisation de tout projet se base sur une tape principale qui est ltude de lexistant. Cette tude nous permet de mieux comprendre les besoins de lentreprise et dterminer les problmatiques actuelles que notre application doit faire face afin de proposer la solution adquate. Cette tape fait lobjet du deuxime chapitre que nous lavons consacr ltude de lexistant tout en critiquant ce dernier nous pourrons finir par la mise en relief de la solution adopte. Le troisime chapitre sintresse ltude de larchitecture de notre solution et aux solutions possibles de la mettre en uvre. A la fin de ce chapitre nous focalisons sur la solution opte pour rsoudre le problme trait tout en argumentant nos choix.

Introduction Gnrale

ENIT 2008/2009

Le quatrime chapitre est ddi la spcification du projet. Nous y dtaillons les spcifications fonctionnelles de lapplication. Puis nous y dta illons les spcifications non fonctionnelles. Dans le cinquime chapitre nous laborons la phase de conception. Dans sa premire partie, ce chapitre prsente la conception architecturale de lapplication tout en dtaillant son architecture et ses composants. La deuxime partie de ce chapitre est ddie la conception dtaill de notre solution illustre par des diagrammes UML. Le sixime chapitre est lobjet de la description de la phase de ralisation. Il prsente notre solution en se basant sur larchitecture, les technologie et les Frameworks choisis. Dans un premier temps nous prsentons lenvironnement matriel et logiciel du travail. Par la suite, nous voquons quelques aspects de limplmentation de notre application. La dernire partie de ce chapitre est consacre aux interfaces graphiques et les diffrents tests et validation raliss sur notre application. Dans la conclusion gnrale, nous rcapitulons avec la prsentation des diffrents rsultats acquis et nous proposons des perspectives permettant damliorer notre application.

Chapitre 1
Cadre Gnral du Projet
1. Introduction ..................................................................................................................................4 2. Prsentation de lentreprise .........................................................................................................4 3. Besoin du projet et problmatique ..............................................................................................5 4. Conclusion ....................................................................................................................................6

Cadre Gnral du Projet

ENIT 2008/2009

1. Introduction
Wave Global Services est une entreprise informatique mergeante qui veut assurer sa prsence dans le domaine du dveloppement logiciel en proposant des solutions robustes, rapides et avec les meilleures technologies. Cela est dautant plus dlicat quand nous remarquons le nombre de technologies qui voit le jour notamment JEE et .Net. Dans ce premier chapitre nous nous proposons dabord de prsenter lentreprise daccueil quest Wave Global Services, puis nous exposons la problmatique, le besoin ayant donner naissance au prsent projet et le travail demand, ceci nous permettant ainsi de mieux apprhender le sujet et de bien dfinir son cadre.

2. Prsentation de lentreprise
2.1. Prsentation et activits
La socit Wave Global services Tunisia est une socit totalement exportatrice, filiale dune socit anglaise (WGS UK), elle compte une dizaine demploys et est installe au centre de Tunis et dont lactivit principale est le dveloppement de solutions logicielles concernant la gestion des serveurs et messagerie notamment pour les plateformes Lotus Domino dIBM et Exchange de Microsoft. Ces solutions dveloppes et/ou entretenues par WGST viennent complter les fonctionnalits standards des architectures fournies, et ce notamment, en facilitant la gestion des migrations et du fonctionnement et paramtrage au quotidien des serveurs et des clients de messagerie. En outre, WGST dveloppe des applications connexes pour ce qui touche la scurisatio n et lentretien des messageries et des serveurs, la synchronisation des systmes mobiles (pda mobiles) et des plateformes Lotus Domino et Exchange.

2.2.Organigramme de lentreprise
Wave Global Services Tunisia accueille actuellement 10 personnels dont cinque ingnieurs, un infographiste et quatre administrateurs rpartis selon la structure de lorganigramme prsent par la figure 1.

Cadre Gnral du Projet

ENIT 2008/2009

Figure 1 : Organigramme du Wave Global Services Tunisia

3. Besoin du projet et problmatique 3.1. Besoin de lancement du projet


Wave Global Service est entrain dutiliser une solution de prise en main distance, pour contrler un ordinateur distant, afin de rsoudre les problmes dans l'une de ses filiales ou bien pour faire une dmonstration afin de suivre les phases de dveloppement dun projet, etc. Et cela en utilisant un produit commercial payant ce qui lve les dpenses de lentreprise et favorise son dpendance en terme de produits logiciels. Quant Wave Global Services, possder un outil de prise en main distance propre elle, enrichit ses ressources en terme de produits logiciels et renforce son indpendance lgard des logiciels payants do la lanc de ce projet dans le but de concevoir et raliser une solution de prise en main distance complte et fonctionnelle rpondant aux besoins de cette entreprise en terme de : Amlioration de la qualit et de la rapidit du support technique offert ses employeurs et ses clients dans les locaux et sur des sites distants. Baisse des cots relatifs la maintenance des ordinateurs personnels et serveurs en agissant distance, sans dplacement inutile et coteux, et sans perte de temps.

Cadre Gnral du Projet

ENIT 2008/2009

Amlioration de ladministration du rseau et automatisation de certaines tches telles que les mises jour, transferts de fichiers, lancements de services et applications distance. Faciliter la formation des personnels moindre cot.

3.2. Problmatique
La problmatique pose par notre projet de fin dtudes est globalement la ralisation dune application de prise en main distance dun ordinateur complte et performante afin de rpondre au besoin de WGS, qui est en tain dutiliser un produit de prise ne main distance payant, et visant avoir une solution propre elle. La problmatique de notre projet de fin dtudes est ainsi divis en trois parties. La premire partie consiste tudier les solutions existantes et les technologies utilises pour les raliser. La deuxime partie sarticule autour de la spcification et la conception ; ce stade nous allons dfinir les besoins fonctionnels du projet, les contraintes et concevoir une solution qui rponds aux besoins. La troisime partie consiste implmenter la solution avec une interface dutilisation simple pour lutilisateur final vis et de dployer la solution. Concernant limplmentation de la solution de prise en main distance, il sagit sans doute dune tche dont la complexit nest pas simple. En effet, vu le nombre de technologie s, les outils de dveloppement et les Framework qui ne cessent de prendre naissance , ainsi que laugmentation des besoins de lentreprise satisfaire afin de fournir des services plus volus, il est difficile daboutir une telle application qui met en uvre les technologies de pointes et satisfait les besoins dsirs. Dans ce but nous sommes invits durant la premire phase de notre PFE bien tudier lexistant afin de dgager ses avantages et ses inconvnients et les technologies permettant de mettre en place ces solutions. Ensuite nous sommes amens laborer une tude approfondie sur les nouvelles technologies permettant le dveloppement dune solution qui satisfasse les besoins fonctionnels et non fonctionnels des clients du jour.

4. Conclusion
Ce premier chapitre a t rparti en deux grandes parties. La premire partie a t consacre la prsentation de lorganisme daccueil dans lequel nous avons effectu notre projet de fin dtudes quest Wave Global Services Tunisia.

Cadre Gnral du Projet

ENIT 2008/2009

La deuxime partie tait une exploration du travail demand tout en mettant laccent sur le besoin du lancement de notre projet de fin dtudes et sa problmatique. Le chapitre suivant est consacr une tude approfondie de lexistant.

Chapitre 2
Etude de lexistant
1. Introduction ..................................................................................................................................9 2. Etude de lexistant ........................................................................................................................9 3. Aspect de la solution adopte ....................................................................................................12 4. Conclusion ..................................................................................................................................13

Etude de lexistant

ENIT 2008/2009

1. Introduction
La ralisation de tout projet se base sur une tape principale qui est ltude de lexistant. Cette tude nous permet de mieux comprendre les besoins de lentreprise et dterminer les problmatiques actuelles que notre application doit faire face afin de proposer la solution adquate, et de sorienter vers les technologies possible pour la ralisation de nos objectifs. Il faut donc pour bien cerner le problme, analyser en dtails lexistant. Dans ce chapitre nous allons prsenter la situation actuelle et les besoins de lentreprise, une tude des solutions disponibles et de larchitecture utilises par ces derniers, une critique de ces applications existantes et nous allons finir par la mise en relief de la solution adopte.

2. Etude de lexistant
2.1. Situation actuelle et besoins
Dans le but de prendre la main distance sur lun de ces ordinateurs dans lune de ces filiales, en Tunisie, en Bretagne, en France ou en Etat Unis, ou bien sur un ordinateur de lun de ces clients afin dassurer une assistance technique, Wave Global Services est entrain dutiliser un produit commercial payant intitul GoToAssist. Cette solution permet la prise en main distance dun ordinateur en offrant des services pour le contrleur ainsi que le contrl. Donc afin de rduire ses dpenses et dassurer son indpendance en terme de ressources logicielles ,lobjet de chaque entreprise oprant dans le domaine du dveloppement informatique , Wave Global Services a propos le sujet que nous sommes en train de travailler sur dans le cadre dun projet de fin dtudes afin davoir une solution de prise en main distance propre elle.

2.2.

Solutions disponibles

Aujourdhui la prise en main distance dun ordinateur, dans le monde de linformatique, est devenu une ncessit pour mieux sinteragir ent re les parties afin de faciliter la rsolution des problmes ou dinitier au fonctionnement dune application ou dun logiciel mtier et ce tout en tant physiquement loin du ou des intresss. Cest pour cela que la prise en main distance a reconnue un plein essor, do lexposition de plein de produ its sur le march. Nous tudions ainsi quelques produits de prise en main distance.

Etude de lexistant

ENIT 2008/2009

2.3.

Etudes de quelques exemples

Dans ce paragraphe nous allons tudier quelques solutions de prise en main distance afin de mieux cerner les objectifs et les services que notre solution doit les acqurir. 2.3.1. GoToAssist Le produit GoToAssist est un outil de prise en main distance performant en terme de services quil offre lutilisateur. Nous citons les caractristiques de ce produit : Il fonctionne avec des pare-feu mis en place. Il ne ncessite pas une installation logicielle pralable sur les postes concerns. Il est disponible seulement pour la plate-forme Microsoft Windows et MacOS, pas encore sur Linux. Il sexcute dans des viewer et non pas dans des clients web. Il offre une communication scuris de bout en bout. Cet outil est commerciale propritaire de lentreprise Citrix. 2.3.2. WebEx WebEx est un produit de prise en main distance, ayant les caractristiques suivantes: Il est commerciale propritaire de lentreprise Cisco System Inc. Il offre plusieurs services tel que la scurit de la communication. Il sexcute dans des viewer et non pas dans des clients web. Il est disponible sur plusieurs plate-forme. Il ne ncessite pas une installation logicielle pralable sur les postes concerns. 2.3.3. pcAnyWhere La solution pcAnyWhere est un logiciel de prise en main distance commerciale propritaire de Symantec. Il est : Performant en terme dtablissement des connexion fiables et protgs. Permettant aux utilisateurs distants de retrouver facilement les htes dont ils ont besoin travers les pare-feu.

10

Etude de lexistant Purement dvelopp en java

ENIT 2008/2009

Capable de prendre en charge des utilisateurs dans des plate formes htrognes. Excutable dans des java viewer en demandant une installation pralable. Il ncessite une installation logicielle pralable sur les postes concerns. 2.3.4. Java Remote Desktop

Java Remote Desktop est une solution de prise en main distance, elle est : libre et gratuite sous la licence GPL. dveloppe avec la technologie Java/RMI, donc elle spcifie un port bien dtermin pour pouvoir se communiquer travers. Suite lutilisation de la notion des ports Java Remote Desktop peut tre bloque par les pare-feu. Scurise en terme de la fiabilit de la communication. Excutable dans des viewer et sur des plates-formes htrognes. ne ncessite pas une installation logicielle pralable sur les postes concerns.

2.4.

Tableau comparatif

Le tableau 1 prsente un rcapitulatif entre les solutions existantes tudis. Outil tudis GoToAssist Critres de comparaison Client/Serveur License Scurit Multiplateforme Support pare-feu Oui Propritaire Oui Oui Propritaire Oui Oui Propritaire Oui Oui Oui Oui Oui GPL Oui Oui Non Oui WebEx pcAnyWhere Java Remote Desktop

Windows/MacOS Oui des Oui Oui Oui

Excution dans Oui des viewer

11

Etude de lexistant Installation logicielle pralable Non Non Oui

ENIT 2008/2009 Non

Tableau 1 : Tableau comparatif des exemples tudis

2.5. Critique de lexistant


Suite une tude de quelques solutions existantes, nous allons noter quelques points de convergences et de divergences avec les contraintes que notre application doit les satisfaire. Il y a des applications de prise en main distance exigent une installation logicielle pralable, ce qui rend la tche un peu plus ennuyeuse pour les deux parties (contrleur et contrl) car nous sommes en train de chercher la simplicit dutilisation de notre solution par lutilisateur vis. La plus part des outils de prise en main distance sexcute dans des plate formes spcifique tels que Microsoft Windows ou Linux donc elles ne sont pas tout fait multi plate-forme ce qui minimise limportance de notre solution en terme de prise en charge des utilisateurs dans des plate-forme htrognes. Dautres applications de prise en main distance utilisent et spcifient un port bien dtermin pour la communication, ce qui demande une autorisation pralable auprs du pare-feu du poste concern afin douvrir un tel port. Donc les pare-feu essentiellement dans les entreprises vont bloquer ces ports ce qui induit le blocage de ces applications.

3. Aspect de la solution adopte


Afin de raliser une application de prise en main distance performante et offrant lutilisateur une utilisation plus simpliste et motivante, nous avons opt pour proposer une solution ne demandant aucune installation logicielle pralable, sexcutant dans des clients web pour pouvoir schapper du blocage des pare-feu, dtre excutable dans des plate-forme htrognes et offrant des services assez dvelopps aux utilisateurs tels que :

12

Etude de lexistant Le contrle distance

ENIT 2008/2009

Lapplication de prise en main distance doit permettre le partage de l'cran, le contrle du clavier et de la souris d'un ordinateur distant, quels que soient le rglage des couleurs, la rsolution ou le systme d'exploitation utiliss. La messagerie Lapplication proposer doit offrir un service de messagerie permettant lorganisation dune session de conversation bidirectionnelle entre les utilisateurs en mode texte. Distribution de fichier Lapplication de prise en main doit offrir le service de distribution des fichiers. Grce cette fonction, une personne peut envoyer ou recevoir des fichiers auprs dun utilisateur connect dans le cadre dune session ouverte entre eux. Plus spcifiquement nous allons opt pour : - Proposer un moteur grant la solution de prise en main distance sexc utant indpendamment des plate-forme et pouvant se communiquer avec de diffrentes applications clientes dveloppes avec nimporte quel technologie. - Proposer un outil de prise en main distance ct contrleur sexcutant dans des clients web pour pouvoir traverser les pare-feu indpendamment des plate-forme dexcution. -Proposer un outil de prise en main distance ct contrl sexcutant dans des clients web pour pouvoir traverser les pare-feu indpendamment des plate-forme dexcution. -Concevoir une base de donnes bien structure.

4. Conclusion
Ce deuxime chapitre a t segment en deux grandes parties. La premire partie tait le rsum dune recherche approfondie sur les solutions de prise en main distance ainsi que les outils utiliss pour dvelopper ces dernires. Nous avons critiqu ces solutions existantes tout en mettant laccent sur les avantages et les inconvnients que prsentent. Nous avons bien cern les points de convergences et de divergences de ces solutions de prise en main

13

Etude de lexistant

ENIT 2008/2009

distance avec la solution que nous allons la dvelopper dans le but de satisfaire nos besoins et de respecter les contraintes. Aprs ltude de lexistant, la seconde partie de ce chapitre a t consacre la prsentation de la solution adopte qui va satisfaire nos besoins tout en respectant les contraintes afin daboutir la solution de notre problmatique. Le chapitre suivant est lobjet dune tude de larchitecture de notre application et dune mise en relief de la technologie permettant de la mettre en uvre.

14

Chapitre 3
Architecture et technologies
1. Introduction ................................................................................................................................16 2. Larchitecture Client/serveur .....................................................................................................16 3. Les technologies de mise en uvre de larchitecture client/serveur .......................................17 4. Les WebService..........................................................................................................................19 5. Choix de la plate-forme JEE......................................................................................................20 6. Conclusion ..................................................................................................................................20

Architecture et Technologies

ENIT 2008/2009

1. Introduction
Les architectures des applications informatique et les technologies utiliss afin de mettre ces dernires en uvre ne cessent dvoluer. Chacune a ses avantages et ses inconvnients et se diffrencient selon le domaine dutilisation. Le choix dune telle architecture et dune telle technologie dpend des besoins du concepteur et du dveloppeur afin de satisfaire les contraintes exiges. Dans ce chapitre nous prsentons en premier lieu larchitecture client/serveur de lapplication. Ensuite nous faisons une tude comparative entre les technologies permettant la mise en uvre de cette architecture et en terminant par un choix de la technologie la plus adquate. Dans une deuxime partie nous prsentons les web service et ses standards et nous finissons par le choix du JEE comme plate-forme de dveloppement.

2. Larchitecture Client/serveur
2.1. Prsentation
Larchitecture client -serveur est un modle de fonctionnement logiciel qui peut se raliser sur tout type darchitecture matrielle, partir du moment ou les entits de ces architectures peuvent tre interconnectes. Nous parlons de fonctionnement logiciel dans le cadre de larchitecture client/serveur dans la mesure ou cette architecture est base sur lutilisat ion de deux types de logiciels, savoir un logiciel serveur et un logiciel client sexcutant sur deux machines diffrentes. Llment important dans cette architecture est lutilisation de mcanismes de communication entre les deux applications. Le dialogue entre les applications peut se rsumer par : Le client demande un service au serveur. Le serveur ralise ce service et renvoie le rsultat au client. [N1]

2.2. Caractristiques
Larchitecture client/serveur est particulirement recommand pour des rseaux ncessitant un grand niveau de fiabilit, ses principaux caractristiques sont :

16

Architecture et Technologies

ENIT 2008/2009

des ressources centralises : tant donn que le serveur est au centre du rseau, il peut grer des ressources communes tous les utilisateurs. une meilleure scurit : car le nombre de points d'entre permettant l'accs aux donnes est moins important. une administration au niveau serveur : les clients ayant peu d'importance dans ce modle. un rseau volutif : grce cette architecture il est possible de supprimer ou rajouter des clients sans perturber le fonctionnement du rseau et sans modification majeure. les technologies supportant l'architecture client/serveur sont plus matures. un maillon faible : le serveur est le seul maillon faible de larchitecture client/serveur. un cot lev d la technicit du serveur.

3. Les technologies de mise en uvre de larchitecture client/serveur


Parmi les technologies de mise en uvre de larchitecture client/serveur nous citons CORBA, RMI, .Net remoting les Web services, etc. Dans ce qui suit nous tudions les technologies de mise en uvre du modle client/serveur.

3.1. CORBA
CORBA est un standard dfini par l'OMG pour faire communiquer des objets quels que soient le langage de programmation utilis et la machine sur laquelle ils vont sinvoqu. Les objets sont dcrits dans lIDL. Ce dernier prcise les traitements effectus ainsi que le format des donnes en entre et en sortie. Les applications bass sur CORBA communiquent par lintermdiaire du protocole IIOP. Pour tablir une communication entre eux, les applications CORBA spcifient un port de communication. Cette technologie permet la mise en uvre dune architecture client/serveur. [N2]

17

Architecture et Technologies

ENIT 2008/2009

3.2. RMI
RMI est un systme qui tend la scurit et la robustesse du langage Java. Cette technologie permet linteroprabilit entre les applications de manire simple mais elle ne fonctionne que dans un environnement java de bout en bout. RMI assure une communication entre le serveur et le client travers TCP/IP et ce de manire transparente.[N3]

3.3. .Net Remoting


.NET Remoting est une interface de programmation d'applications Microsoft. Cette technologie est fortement couple au systme dexploitation Microsoft Windows donc elle permet seulement linteroprabilit entre des applications .NET. Le protocole de communication adopt par le .Net Remoting soit TCP soit HTTP donc les pare-feu ne posent pas de problmes pour cette technologie.[N4]

3.4. WebService
Le Web Service est une nouvelle technologie permettant la mise en uvre de larchitecture client/serveur tout en proposant un modle de communication. Le principe de cette technologie rside dans le fait que les applications clientes et le serveur de web services utilisent le protocole HTTP pour transporter les requtes et les rponses. Les applications clientes dun Web Service peuvent tre de nature diffrentes et crites avec diffrents langage. [N5]

3.5. Technologie adopte : WebService


Nous ne trouvons pas dintrt dadopter le CORBA et le RMI comme technologie pour la mise en uvre de notre architecture, car ces deux technologie spcifient un port de communication entre les applications ce qui permet le blocage de notre solution au niveau des pare-feu. La technologie .Net Remoting ne sexcute que dans la plate for me Windows donc nous navons pas dintrt de ladopter comme technologie car elle exige au pralable que notre application sera mono plate-forme.

18

Architecture et Technologies

ENIT 2008/2009

Nous avons besoin dadopter les web service comme technologie pour la mise en uvre de notre architecture car le modle de communication quelle propose satisfasse nos besoins et nos contraintes. En effet, elle assure linteroprabilit entre des applications implments avec des langages diffrents et sexcutant dans des plates-formes htrognes, etc.

4. Les WebService
4.1. Dfinition et objectifs
Les Web Services sont des applications modulaires bases sur Internet qui excutent des tches prcises et qui respectent un format spcifique. Ils permettent aux applications de faire appel des fonctionnalits distance en simplifiant ainsi lchange de donnes. Ils permettent donc aux applications de dialoguer travers le rseau, indpendamment de leur plate-forme dexcution et de leur langage d'implmentation. Ils sinscrivent donc dans la continuit d'initiatives telles que CORBA en apportant toutefois une rponse plus simple, sappuyant sur des technologies et des standards reconnus. Les protocoles et les technologies existants tels que RMI, CORBA, IIOP et RPC sont progressivement abandonns au profit des Web Services. Les Web Services prsentent des avantages significatifs tels que : Ils fournissent l'interoprabilit entre divers application fonctionnant sur diverses platesformes. Les services Web utilisent des standards et protocoles ouverts. Les protocoles et les formats de donnes sont au format texte dans la mesure du possible, facilitant ainsi la comprhension du fonctionnement global des changes. Bass sur le protocole HTTP, les services Web peuvent fonctionner au travers de nombreux pare-feux sans ncessiter des changements sur les rgles de filtrage.[N6]

4.2. les standards du WebService


La notion des Web Services a t fonde et base sur des standards de base tels que le SOAP, WSDL et UDDI qui sont normaliss par le W3C. Nous dfinissons dans ce qui suit ces standards. [N7]

19

Architecture et Technologies 4.2.1. SOAP

ENIT 2008/2009

SOAP est un protocole d'change inter-applications indpendant de toute plate-forme, bas sur le langage XML. Il permet la transmission de messages entre objets distants sous forme des fichiers XML. Un appel de service SOAP est un flux ASCII englob dans des balises XML et transport avec le protocole HTTP, SMTP ou autre. [N7]

4.2.2. WSDL
WSDL donne la description au format XML des Web Services en prcisant les mthodes pouvant tre invoques, leurs signatures et le point daccs (URL, port, etc.). Cest, en quelque sorte, lquivalent du langage IDL pour la programmation distribue CORBA. [N7]

4.2.3. UDDI
UDDI normalise une solution dannuaire distribu de Web Services, permettant la fois la publication et l'exploration de Web Services. UDDI se comporte lui-mme comme un Web service dont les mthodes sont appeles via le protocole SOAP. [N7]

5. Choix de la plate-forme JEE


Les acteurs majeurs tels que JEE ou .NET proposent une solution oriente Web Services ainsi que lintgration des standards associs. Dans ce qui suit nous tudierons les Web Services dans le cadre des deux plates-formes JEE et .Net. Les Web Services en .Net font recours des composants de la plate-forme Microsoft Windows tels que le Framework .Net et le serveur IIS. Bnficiant de la robustesse du langage java, de son simplicit et de son capacit de sexcuter sur nimporte quelle plate-forme, les Web Services dvelopps en JAVA/JEE peuvent sexcuter sur nimporte quel environnement et nexigeant aucune restriction sur les serveur dapplication. Donc nous allons adopter les Web Services dvelopp en java dans le cadre de la plate-forme JEE.

6. Conclusion
Dans ce chapitre nous avons prsent larchitecture de notre application, tout en choisissant la technologie la plus adapte pour la mettre en uvre aprs une tude dun ensemble de technologies.

20

Architecture et Technologies

ENIT 2008/2009

Pour rpondre aux besoins architecturaux et techniques de la mise en place de notre solution de prise en main distance, nous avons choisis la plate-forme JEE comme plate-forme de dveloppement pour notre application de type client/serveur et nous avons adapt les Web Services comme technologie de mise en uvre. De ce fait, nous avons essay de multiplier les fonctionnalits et daugmenter leffi cacit de notre application au moyen de cette technologie.

21

Chapitre 4
Analyse et Spcification des Besoins
1. Introduction ................................................................................................................................23 2. Spcification fonctionnelle ........................................................................................................23 3. Spcification non fonctionnelle .................................................................................................24 4. Recherche des acteurs et des cas dutilisations ........................................................................26 5. Conclusion ..................................................................................................................................35

Analyse et Spcification des Besoins

ENIT 2008/2009

1. Introduction
Dans ce chapitre, nous dcouvrons les besoins fonctionnels aussi bien que non fonctionnels de notre solution. En effet, pour bien comprendre un problme, il est ncessaire de le reprsenter, le spcifier et le documenter au pralable laide dun langage adapt et admis par la communaut des spcialistes du logiciel. Dans ce but, nous utilisons le langage de modlisation UML, qui fournit les fondements pour spcifier, construire, visualiser et dcrire les composants d'un systme logiciel. Il se base sur une smantique prcise et sur une notation graphique expressive. Il permet de modliser de manire claire et prcise la structure et le comportement d'un systme indpendamment de toute mthode ou de tout langage de programmation. Ce chapitre est ddi la spcification de la solution adopte. Il prsente dans un premier lieu la spcification fonctionnelle de lapplication. Dans un deuxime lieu, il traite sa spcification non fonctionnelle. Et dans une troisime partie, il prsente les cas dutilisations.

2. Spcification fonctionnelle
Dans ce paragraphe, nous exposerons lensemble des besoins fonctionnels auxquels devraient rpondre imprativement lapplication dveloppe. Notre application doit fournir ces fonctionnalits : Cration et droulement des sessions de contrle, consiste : Gnrer une URL contenant un identificateur de session. Envoyer cet URL lintress. Confirmer la demande douverture de session et la connexion se traduit. Aprs le cration et le droulement de la session, notre application doit permettre : Le partage de lcran distance. La prise de la main sur la souris et le clavier. Lenvoi et la rception des messages instantans. Lenvoi et la rception des fichiers. La clture dune session .

23

Analyse et Spcification des Besoins

ENIT 2008/2009

3. Spcification non fonctionnelle


Aprs avoir dtailler le spcification fonctionnelle du systme, nous allons maintenant aborder la spcification non fonctionnelle de lapplication tout en mettant en relief les besoins non fonctionnels.

3.1. Maquette IHM de lapplication


Lapplication doit avoir une interface graphique ergonomique offrant un cadre simple et convivial pour la manipulation. Nous avons distingu deux interfaces principales pour notre application. La figure 2 donne un premier aperu sur lorganisation de linterface de lapplication ddi la personne qui va prendre la main distance.

Figure 2 : Organisation de linterface ct contrleur Cette interface est constitu principalement de deux parties : 1. Une zone contenant des boutons qui offre lutilisateur la possibilit de grer une session de contrle ds sa cration jusqu sa clture.

24

Analyse et Spcification des Besoins

ENIT 2008/2009

2. Une zone daffichage, cest la partie de linterface dans laquelle les captures de lcran de lutilisateur concern vont safficher. La figure 3 donne un premier aperu sur lorganisation de linterface ddi la personne que son cran va tre partag.

Figure 3 : Organisation de linterface ct contrl

Cette deuxime interface est constitu principalement de deux parties : 1. Une zone contenant des boutons offrant des options lutilisateur. 2. Une deuxime zone permettant dafficher la fentre de chat.

3.2.

Architecture et performance

Larchitecture de lapplication doit tre gnrique, elle ne dpond pas dun prototype particulier et doit permettre lapplication de rpondre aux exigences suivantes : - Application volutive : lapplication doit tr e extensible et avoir toujours la possibilit dajouter des nouveaux modules sans perturber son fonctionnement. - Application modulaire : clarification du code et rpartition des comptences. - Application portable : indpendante de la plateforme de lexcution (matriel et systme dexploitation). - Application robuste : gestion des transactions, reprise en cas de pane du matriel, etc. - Application interoprable : possibilit de communication avec dautres applications.

25

Analyse et Spcification des Besoins - Application scuris. - Permettre linterfaage avec plusieurs SGBD.

ENIT 2008/2009

3.3.

Documentation et support

Le code gnrer doit tre une uvre de qualit, il doit tre bien structur et bien comment. Il disposera dun systme de traage, toute opration effectue par lapplication doit laisse une trace afin de y revenir en cas de besoin.

3.4.

Environnement de dploiement

Les logiciels utiliss dans les entreprises qui sintgrent dans ses systmes dinformation ce niveau ne fonctionnent pas sur un simple PC mais requirent une puissance matrielle plus importante. Pour cette raison, les applications doivent tre constitues de plusieurs composants pouvant tre dployes sur des plate-forme multiples. Do, il a t ncessaire de rserver un puissant serveur comme environnement de dploiement de la pplication.

4. Recherche des acteurs et des cas dutilisations 4.1. Identification des acteurs
Les acteurs sont dfinis comme tant les utilisateurs directs du systme. Nous distinguons dans le cadre de notre application deux types dacteurs : - Le contrleur : cest un exploitant de lapplication, il peut effectuer les oprations de la cration des sessions de contrle, la prise en main de la souris et du clavier de lordinateur distant, envoyer des messages instantans, changer des fichiers et il peut aussi mettre fin une session ouverte. Tout cela peut se drouler quaprs une authentification de cet acteur sil est dj inscrit si non il doit procder linscription. - Le contrl : cest un exploitant de lapplication, il a un rle important dans la session de contrle car cest lui qui va confirmer ou annuler le cration de la session afin de permettre au contrleur laccs son ordinateur. Il peut aussi bnficier d un service de messagerie instantan, changer des fichiers avec le contrleur et il peut galement mettre fin la session de contrle.

26

Analyse et Spcification des Besoins

ENIT 2008/2009

4.2. Raffinement des cas dutilisations


Cette phase a pour objectif de dcrire le comportement attendu du systme. Pour cela nous allons nous baser sur les diagrammes des cas dutilisations qui reprsentent une manire spcifique dutiliser un systme. En effet, le diagramme de cas dutilisation est limage dune fonctionnalit du systme dclenche en rponse la stimulation dun acteur externe. 4.2.1. Les cas dutilisation 4.2.1.1. Cas dutilisation globale Nous prsentons dans ce qui suit le diagramme de cas dutilisation globale de notre application rsumant son objectif gnral qui est la prise en main dun ordinateur distance. La figure 4 prsente le diagramme de cas dutilisation globale.

Figure 4 : Diagramme de cas dutilisation globale

4.2.1.2. Cas dutilisation Prendre la main sur un PC distance Afin de prendre la main distance le contrleur doit crer une session de contrle et ce en sauthentifiant si ce dernier est dj inscrit si non il doit procder linscription pour avoir accs notre application. Aprs la cration dune session le systme fournit au contrleur un URL contenant un identificateur de sessio n, il lenvoi au contrl pour que ce dernier confirme la cration de session afin de la joindre. La figure 5 prsente le diagramme de cas dutilisation Prendre la main sur un ordinateur distance .

27

Analyse et Spcification des Besoins

ENIT 2008/2009

Figure 5 : Diagramme de cas dutilisation Prendre le main sur un ordinateur distance

Description textuelle de la cration dune session de contrle. Titre : Crer une session de contrle Acteur primaire : Contrleur Rsum : Afin de contrler un ordinatuer distance une session de contrle doit tre cree. Pr-condition : Le contrleur doit tre inscrit. Post-condition : Une session de contrle est cree et mise jour de la base de donnes Droulement principal : Contrleur 1. Demander la page dauthentification 2. Charger la page de lauthentification 3. Taper le nom dutilisateur et le mot de passe 4. Cliquer sur le bouton se connecter 5. Valider les donnes saisies Systme

28

Analyse et Spcification des Besoins 6. Vrifier

ENIT 2008/2009 lexistence des donnes

saisies dans la base de donnes 7. Rediriger le contrleur vers la page de tlchargement de lapplet 8. Tlcharger lapplet 9. Cliquer sur le bouton Crer une session 10. Crer une session de contrle en gnrant un identificateur de cette session 11. Ajouter cette session dans la base de donnes 12. Afficher lURL de la session contenant lidentificateur de cette dernire
Tableau 2 : Droulement principal de la cration dune session de contrle

Droulement alternatif 1: chec de la validation des donnes saisies Il peut y arriver que le contrleur saisisse des donnes non valides. Dans ce cas aprs la cinquime opration (Validation des donnes saisies), la mme page sera recharge, et un message de non validit des donnes sera affich. Droulement alternatif 2 : chec de la vrification de lexistance des donnes saisies dans la base de donnes. Aprs la validation des donnes, le systme vrifielexistence des donnes saisies au niveau de la base de donnes. Dans le cas de lchec de cette opration (donnes dj existantes), la mme page sera recharge, et un message dchec dauthentification sera affich.

29

Analyse et Spcification des Besoins 4.2.1.3. Cas dutilisation Contrler un ordinateur

ENIT 2008/2009

La figure 6 dtaille le cas dutilisation contrler un ordinateur distance. Les acteurs dans ce diagramme vont interagir entre eux dans le cadre dune session de contrle dj ouverte. Comme dans ce cas dutilisation, deux types dacteurs se prsentent : Le contrleur : celui qui va visualiser lcran de la personne contrl, prendre la main sur la souris et le clavier, envoyer et recevoir des messages instantans et des fichiers. Le contrl : cet acteur peut seulement envoyer et recevoir des messages instantans et des fichiers avec le contrleur.

Figure 6 : Diagramme de cas dutilisation du contrle dun PC distance

Dans ce qui suit nous dtaillerons les cas dutilisations suivants : contrler la souris, contrler le clavier, changer de messages et fichiers.

30

Analyse et Spcification des Besoins Description textuelle du contrle de la souris. Titre : Contrler la souris Acteur primaire : Contrleur

ENIT 2008/2009

Rsum : Dans le cadre dune session de contrle le contrleur peut prendre la main sur la souris de lordinateur du contrl et ce en dplaant son curseur sur la zone daffichage de lcran du contrl ainsi tout les vnement vont se transmettre et sappliquer sur lordinateur de ce dernier. Pr-condition : Une session de contrle doit tre cre et le curseur de la souris sur la zone daffichage de lcran du contrl. Post-condition : Excution des vnements de la souris sur lordinateur du contrl. Droulement principal : Contrleur 1. Dplacer le curseur de la souris sur la zone daffichage de lcran du contrl 2. Prendre les vnements de la souris du contrleur sur la zone de laffichage de lcran du contrl 3. Appliquer ces vnements sur lordinateur du contrl
Tableau 3 : Droulement principal du contrle de la souris

Systme

Droulement alternatif : chec de lapplication des vnements de la souris sur lordinateur du contrl. Si le systme dtecte que la souris est non disponible c'est--dire que le contrl est en train de lutiliser, lexcution des vnements en question sannule.

31

Analyse et Spcification des Besoins

ENIT 2008/2009

Dans le cas de lchec de la troisime opration (Appliquer ces vnements sur lordinateur du contrl) le systme se met lcoute des nouveaux vnements de la souris du contrleur sur la zone daffichage de lcran du contrl.

Description textuelle du contrle du clavier. Titre : Contrler le clavier Acteur primaire : Contrleur Rsum : Dans le cadre dune session de contrle le contrleur peut prendre la main sur le clavier de lordinateur du contrl. Pr-condition : Une session de contrle doit tre cre et la fentre de laffichage de lcran du control doit tre active. Post-condition : Les vnements sur le clavier vont tre excuts sur lordinateur du contrleur. Droulement principal : Contleur 1. Manipler lapplet. 2. Dtecter vnements clavier. 3. Excuter ces vnements sur et sur transmettre les touches les du le clavier lors de Sytme

lactivation de la fentre contenant

lordinateur du contrl.
Tableau 4 : Droulement principal du contrle du clavier

Droulement alternatif : chec de lexcution des vnements du clavier sur lordinateur du contrl.

32

Analyse et Spcification des Besoins

ENIT 2008/2009

Si le systme dtecte que le clavier est non disponible, les vnements du clavier que le contrleur veut les excuter sur lordinateur du contrl sannulent. Dans le cas de lchec de la troisime opration (Appliquer ces vnements sur lordinateur du contrl) le systme annule lexcution de ces vnements et se met lcoute des nouveaux vnements. Description textuelle de lchange de messages instantans. Le contrleur ainsi que le contrl peuvent tous les deux envoyer et recevoir des messages instantans lun lautre. Dans ce qui suit nous considrons que le contrleur est lui qui joue le rle dun expditeur et le contrl comme destinataire. Titre : Echange de messages insantans Acteur primaire : Contrleur Rsum : Dans le cadre dune session de contrle le contrleur peut envoyer et recevoir des messages instantans avec le contrl. Pr-condition : Une session de contrle doit tre cre. Post-condition : Les messages entrants et so rtants saffichent dans lordinateur de chacun deux. Droulement principal : Contrleur 1. Cliquer sur le bouton chat 2. Afficher la fentre du chat 3. Taper un message et cliquer sur envoyer 4. Transfrer le message au destinataire et lafficher
Tableau 5 : Droulement principal de lchange de messages

Systme

33

Analyse et Spcification des Besoins Description textuelle de lenvoi de fichier.

ENIT 2008/2009

Le contrleur ainsi que le contrl peuvent tous les deux envoyer des fichiers lun lautre. Dans ce qui suit nous considrons que le contrleur est lui qui joue le rle dun expditeur et le contrl comme destinataire. Titre : Envoi de fichier Acteur primaire : Contrleur Rsum : Dans le cadre dune session de contrle , le contrleur peut envoyer des fichiers au contrl. Pr-condition : Une session de contrle doit tre cre. Post-condition : Le fichier senregistre sur lordinateur du contrl. Droulement principal : Contrleur 1. Cliquer sur le bouton Envoyer fichier 2. Afficher la fentre de navigation 3. Choisir envoyer 4. Cliquer sur le bouton envoyer 5. Notifier le contrl par lenvoi du fichier en lui offrant le choix de lacceptation ou le refus de ce fichier 6. Confirmer lenregistrement le fichier Systme Contrl

34

Analyse et Spcification des Besoins

ENIT 2008/2009 du fichier 7. Tlcharger le fichier du contrleur et lenvoyer au contrl

Tableau 6 : Droulement principal de lenvoi de fichier

Droulement alternatif : refus de lenregistrement du fichier Cet enchainement dmarre au point 6 du droulement principal. 6. Refuser lenregistrement du fichier 7. Notifier le contrleur par lannulation de lenvoi du fichier
Tableau 7 : Droulement alternatif de lenvoi de fichier

5. Conclusion
Ce chapitre t consacr la spcification de notre application. Nous avons distingu les objectifs fonctionnels et les objectifs non fonctionnels. Dans la deuxime partie nous nous sommes intresss aux cas dutilisations. Plusieurs contraintes trs dpendantes les unes des autres satisfaire par lapplication. Le travail demand savre donc trs compliqu, notamment que nous voulons adapter notre projet aux nouvelles technologies, et tant donn que ces dernires demandent un temps dapprentissage relativement lo ng.

35

Chapitre 5
Conception
1. Introduction ................................................................................................................................37 2. Conception architecturale ..........................................................................................................37 3. Conception dtaille ...................................................................................................................39 4. Conclusion ..................................................................................................................................48

Conception

ENIT 2008/2009

1. Introduction
La conception est un processus cratif qui ncessite de l'exprience que nous acqurons essentiellement par la pratique ainsi que par l'tude de systmes existants. Une bonne conception est surement une parmi les principales cls d'une dmarche ingnierie russie. Do durant ce processus nous devons imaginer et proposer une architecture pour satisfaire les spcifications (objectifs et contraintes). Cest la dcomposition en sous systmes et la mise en vidence des frontires entre ces systmes : cest la structuration de lensemble. Durant cette phase, nous avons envisags plusieurs solutions, comparer et choisir entre les diffrentes alternatives de conception. A la fin de cette tape nous devons disposer dun modle complet, cohrent, maintenable et testable. En effet, ce chapitre est consacr la prsentation de notre tude conceptuelle suivant lapproche UML .

2. Conception architecturale
2.1. Structure gnrale de lapplication
Lobjectif de notre application est de faire communiquer lapplication contrleur et le lapplication contrl. En effet le contrleur peut prendre la main distance sur lordinateur du contrl et cela dune manire transparente sur le rseau internet, pour cela notre solution doit prendre en charge les pare-feu. La communication nest pas directe entre les utilisateurs mais elle se droule travers un e machine serveur qui excute des Web Services, qui devront tre invoqus distance par les applications clients, et qui gre la communication avec le serveur de base de donnes. La figure 7 prsente larchitecture gnrale de notre systme.

37

Conception

ENIT 2008/2009

Figure 7 : Architecture gnrale de l'application

2.2.

Organisation gnrale de lapplication

Notre solution de prise en main distance se compose de quatre composantes :

Application java ct contrleur : Elle peut sexcuter en tant quune application monotone ou en tant quun module intgr dans une application web dploye sur un serveur web.

Application java ct contrl : Elle peut sexcuter en tant quune application monotone ou en tant quun module intgr dans une application web dploye sur un serveur web.

WebService : un module assurant la communication entre les applications clientes dune faon transparente ces derniers.

Lapplication web : permet dintgrer dedans les deux applications clientes et le module Web Service afin dexcut er notre solution sur le rseau internet.

38

Conception

ENIT 2008/2009

3. Conception dtaille
3.1. Diagrammes de classes
Le diagramme de classes montre l'existence de classes et leurs relations dans la vue logique d'un systme, il dfinit donc lensemble de tous les tats possibles . Un diagramme de classes fait abstraction des aspects dynamiques et temporels. Notre application est dcompose en trois modules principales devront tre intgrs dans la composante web savoir : composant contrleur, composant contrl et le composant Web Service , nous allons donc expliciter les diagrammes de classes de chaque composant. 3.1.1. Diagramme de classes du composant contrleur Les principales classes dans le composant contrleur sont: Classe ControllerScreen : cest la classe principale de lapplication ct contrleur, elle a des associations avec toutes les autres classes. Classe DisplayContainer : elle gnre les mthodes de cration de l interface de contrle. Classe ContainerChat : elle gnre les mthodes permettant la gestion de la messagerie instantane. Classe ExchangeFile: elle gnre les mthodes permettant la gestion de lenvoi et la rception de fichiers. La figure 8 prsente le diagramme de classe du module contrleur.

39

Conception

ENIT 2008/2009

Figure 8 : Diagramme de classes du composant contrleur

3.1.2. Diagramme de classes du composant contrl Les principales classes du composant contrl sont: Classe ControlledScreen : cest la classe principale du composant contrl, elle a des associations avec toutes les autres classes. Classe ScreenCapture : cest la classe qui gnre les mthodes permettant la capture dcran . Classe ApplyMouseEvent : cest la classe qui gnre les mthodes de manipulation de la souris. Classe ApplyKeyboardEvent : cest la classe qui gnre les mthodes de manipulation du clavier. Classe ContainerChat : elle gnre les mthodes permettant la gestion du chat.

La figure 9 prsente le diagramme de classe du composant contrleur.

40

Conception

ENIT 2008/2009

Figure 9 : Diagramme de classes du composant contrl

3.1.3. Modlisation du WebService Le WebService joue le rle de lapplication serveur pour notre application, il contient donc les mthodes ncessaire pour grer la communication entre le composant contrl et le composant contrleur, nous dfinissons ainsi les principales mthodes. verifSession() : cette mthode est trop importante dans ce composant pour le contrl ainsi que le contrleur. Lors de la cration de session par le contrleur, elle se connecte la base de donnes afin de la mettre jour en ajoutant une session la base. Quant au contrl cette session doit tre invoqu par le composant contrl lors de la confirmation de la jointure de session afin de sassurer que la session est rellement cr sur le serveu r. getCaptures() : cette mthode doit tre invoqu distance par le composant contrl afin de transmettre les captures dcran de son ordinateur vers le serveur. sendCapture() : cette mthode doit tre invoqu distance par le composant contrleur dans le but de rcuprer une capture dcran du serveur vers lordinateur du contrleur afin de lafficher.

41

Conception -

ENIT 2008/2009

saveMouseEvent() : cette mthode doit tre invoqu par le composant contrleur afin de denvoyer les vnements de la souris vers la session cre sur la machine serveur.

getMouseEvent() : cette mthode doit tre invoqu par le composant contrl dans le but de transmettre les vnements excuter de la souris enregistrs sur la machine serveur vers le poste du contrl.

saveKeyEvent() : cette mthode permet denregistrer les vnements du clavier de lordinateur du contrleur dans la session cre sur la machine serveur.

getKEyEvent() : cette mthode permet de rcuprer les vnements du clavier enregistrs dans la session vers lordinateur du contrl afin de les excuter.

getMessage() : cette mthode peut tre invoqu par le composant contrleur ainsi que contrl afin de rcuprer un message saisi lors dune conversation instantane du poste concern vers la session sur la machine serveur.

sendMessage() : cette mthode doit tre invoqu soit par le composant contrleur soit par le composant contrl afin denvoyer un message de la session vers le poste concern.

Pour la mise jour de la base de donnes le Web Service est entrain dappeler les mthodes de la classe ConnectDB et OperationBD. Dans ce qui suit nous prsentons ces deux classes. Classe ConnectDB : cest la classe qui gnre la chaine de connexion la base de donnes. Classe OperationBD : cest la classe qui gnre les oprations permettant la manipulation de la base de donnes : la recherche, lajout et la mise jour. La figure 10 mettre en relief la modlisation du Web Service.

42

Conception

ENIT 2008/2009

Figure 10 : Modlisation du WebService

3.2. Larchitecture dtaille des composants


Notre application se compose de quatre composantes principales ayant des relations entre eux : Les applications clientes : se sont des applications java pouvant invoquer les mthodes du Web Service distance et cette invocation se droule travers le protocole SOAP transport par le HTTP ou bien par le HTTPS. Le Web Service : il se comporte comme la partie serveur pour notre application car lui qui va excuter les requtes quenvoient les applications clientes. Pour que la communication avec le web service soit concluante, il fallait avoir un mcanisme permettant de mapper les appels et les rponses orient objet en des fichiers XML et linverse , cest le moteur SOAP avec ses API.

43

Conception -

ENIT 2008/2009

La base de donnes : notre application ne sera accessible quaprs avoir authentifi. En plus toute cration de session de contrle doit tre enregistr dans la base de donnes. Cest pour cela quil fallait avoir un serveur de gestion de base de donnes.

Lapplication web : notre solution de prise en main distance doit tre accessible sur le Web cest pour cela quil fallait la dployer dans une application web. La figure 11 met en relief les diffrents composants de notre solution.

Figure 11 : Architecture dtaille des composants

3.3. Diagrammes de squences


Le diagramme de squence permet de traiter la dynamique du systme d'information, c'est-dire les oprations qui sont ralises en fonction dvnements. Ce modle permet donc de reprsenter de faon schmatique l'activit d'un systme d'information sans faire rfrence des choix organisationnels ou des moyens d'excution.

44

Conception 3.3.1. Diagramme de squence de lAuthentification

ENIT 2008/2009

Lauthentification est une tape primordiale que chaque utilisateur doit y passer pour accder lapplication, cette phase assure, en effet, la scurit de lapplication. En demandant laccs lapplication, lutilisateur se voit dans lobligation de sidentifier travers son compte. Lapplication vrifie lexistence de ce compte dans sa base des donnes. Si lutilisateur est identifi dans la base, il accde immdiatement lapplication. La figure 12 prsente le diagramme de squence de lauthentification.

Figure 12 : Diagramme de squence dAuthentification

3.3.2. Diagramme de squence de la cration de session Le diagramme indiqu dans la figure 13, montre lenchainement des tapes de cration dune session de contrle. Le contrleur demande lajout dune sess ion, le Web Service se charge de la cration de cette session tout en se connectant la base de donnes pour mettre cette dernire jour. Ce Web Service retourne au contrleur comme rsultat un URL contenant un identifiant de la session, quil va lenvo yer au contrl afin de joindre cette session. En cliquant sur cet URL, le contrl tlcharge un applet java et en confirmant la demande douverture de la session, le Web Service se contente de vrifier lexistence de cette session en excutant une requte SQL auprs de la base de donnes. Aprs la confirmation lapplet

45

Conception

ENIT 2008/2009

java ct contrl se contente de faire des captures dcran dune manire successive et laide du Web Service elle les envoient la session cre dj sur le serveur web. Lapplet ct contrleur commence invoquer le Web Service pour rcuprer les captures dcran aprs l a gnration de lURL afin de lafficher dans la zone de visualisation et cela de manire successive.

Figure 13 : Diagramme de squence de la cration de session

3.3.3. Diagramme de squence du contrle de la souris Le diagramme indiqu dans la figure 14, prsente les tapes de droulement du contrle de la souris. Tout dabord le contrle de la souris commence lorsque le contrleur agit avec sa souris sur la zone de visualisation de lcran du contrl. Lapplication dt ecte les vnements de la souris et les envoient la session cre sur le serveur web laide du Web Service. Lapplication ct contrl commence se mettre lcoute ces vnements tout en invoquant le Web Service qui, lorsquil trouve des nouveaux vnements, les lui fournit.

46

Conception

ENIT 2008/2009

Lapplication du contrl dtecte si ce dernier nest pas en train de manipuler sa souris , elle excute ces vnements si non elle annule lexcution.

Figure 14 : Diagramme de squence du contrle de la souris

3.3.4. Diagramme de squence de lchange de message Le diagramme prsent dans la figure 16, prsente les tapes dchange de messages. Nous considrons dans ce diagramme de squence que le contrleur joue le rle de lexpditeur dun message et le contrl comme le rle du destinataire. Le contrleur appuie sur le bouton de chat pour ouvrir la fentre concern et il commence saisir son message dans la zone dcriture puis il appuie sur le bouton envoyer . Ainsi lapplication invoque le Web Service pour rcuprer le message et le sauvegarder dans la session sur la machine serveur. Lapplication du contrl se met lcoute ds la joint ure de la session laide de linvocation du Web Service, ds quil y a un nouveau message, le Web Service le fournit lapplication pour lafficher au contrl.

47

Conception

ENIT 2008/2009

Figure 15 : Diagramme de squence de lchange de messages

4. Conclusion
Ce troisime chapitre a prsent lune des plus importantes phases du processus de dveloppement dun projet, cest la conception. Il a t prsent sous forme de deux grandes parties : la conception architecturale et la conception dtaille. Concernant la conception architecturale, nous avons prsent larchitecture de lapplication en dtaillant les diffrents composants qui la constituent. Quant la conception dtaille, nous lavons prsent suivant lapproche UML, qui nous a permis de bien approfondir et dtailler la solution par llaboration des diagrammes tout en respectant les besoins de la socit. Le chapitre suivant prsentera la ralisation de cette conception et la description des interfaces ralises.

48

Chapitre 6
Ralisation
1. Introduction ................................................................................................................................50 2. Environnement de travail ...........................................................................................................50 3. Environnement de dploiement .................................................................................................51 4. Choix technique de lAPI JAX-WS ..........................................................................................51 5. Le modle conceptuel de donnes (MCD) ..............................................................................51 6. Signature et scurit ...................................................................................................................53 7. Maquette de test.........................................................................................................................54 8. Elaboration des interfaces .........................................................................................................55 9. Conclusion .................................................................................................................................63

Ralisation

ENIT 2008/2009

1. Introduction
La ralisation dun projet informatique consiste construire ses composantes logicielles. Il sagit de la traduction de la conception dans un langage de programmation. Durant cette phase plusieurs problmes ont t rencontrs, notamment le dveloppement et la mise en place du Web Service et les applications qui vont consommer ce dernier tout en sexcutant dans des clients web. Ctait un dfi relever la complexit que pourra prsenter la mise en place dune architecture consommant un web service dune manire scuris. Ce chapitre vise prsenter les diffrentes phases de ralisation du projet. Nous prsenterons dans une premire partie lenvironnement de travail. Ensuite nous prsenterons larchitecture dtaille de notre application tout en mettant laccent sur le choix technique de l API aidant au dveloppement du Web Service. Nous entamerons la partie implmentation des diffrents composants de notre application tout en mettant laccent sur la scurit de la connex ion. Nous terminerons avec une exposition des interfaces labors.

2. Environnement de travail
2.1. Environnement matriel
Durant la ralisation de notre projet nous avons utilis un ordinateur ayant les caractristiques suivantes : Marque : HP Processeur : Centrino Duo 1.9GHz Mmoire : 2 Go Disque dur : 160 Go Environnement logiciel

2.2.

Pour le dveloppement de cette application nous avons utilis les outils suivants : PowerAMC 15 pour la modlisation UML NetBeans 6.5 comme IDE. Glassfish V2 comme serveur dapplication. Derby comme SGBD. Adobe Dreamweaver CS3 pour la cration des interfaces graphique.

50

Ralisation Microsoft Virtual PC 2007 pour la cration de la maquette de test.

ENIT 2008/2009

3. Environnement de dploiement
La figure 16 prsente lenvironnement de dploiement de notre applicat ion est comme suit. Les applications contrleur et contrl vont tourner dans des navigateur. Le Web Service vont sexcuter dans un conteneur web.

Figure 16 : Environnement de dploiement

4. Choix technique de lAPI JAX-WS


JAX-WS est lune des plus importante API de la plate-forme Java EE 5. Un suivi de la libration de lapi Java manipulant le XML bas sur RPC 1.1 , JAX-WS est une implmentation de JAX-WS RI aidant simplifier le dveloppement des Web Services dans le cadre de la plate-forme JEE. JAX-WS remplit quelques dfauts de JAX-RPC en fournissant un appui de nombreux protocoles tels que SOAP 1.1 et SOAP 1.2 et en fournissant un mcanisme de soutien des protocoles additionnels avec HTTP. JAX-WS utilise JAXB 2.0 pour la liaison de donnes. Avec son utilisation et son soutien des annotations, JAX-WS simplifie le dveloppement des web service et diminue la taille des fichiers jar. [N8] [B1]

5. Le modle conceptuel de donnes (MCD)


Un modle conceptuel de donnes reprsente la structure logique globale dune base de donnes, indpendamment du logiciel ou de la structure du stockage des donnes. Ce modle reprsente lorganisation des donnes sous forme graphique, vrifie la validit des donnes de

51

Ralisation

ENIT 2008/2009

conception, gnre le modle physique de donnes, qui spcifie les modalits physiques de mise en uvre de la base de donnes. Selon ce modle, un utilisateur peut crer plus quune session. La figure 16 prsente le MCD.

Figure 17 : Modle conceptuel de donnes

Description des entits


Entit Utilisateur Cette entit contient toutes les informations relatives un contrleur stock dans la base. Champs Login Psw Name e-mail Adress mobileNum Texte Texte Texte Texte Texte Numrique Type Description Identifiant dun utilisateur Identifiant dun utilisateur Nom dun utilisateur Ladresse e-mail dun utilisateur Ladresse dun utilisateur Le numro de portable dun utilisateur Le numro de tlphone fixe

workNum

Numrique

Tableau 8: Entit Utilisateur

Entit Session Cette entit reprsente une session.

52

Ralisation Champs sessionID Pswuser Texte Texte Type

ENIT 2008/2009 Description Identifiant unique dune session Identifiant correspondant lidentifiant de lutilisateur dans lentit Utilisateur

Tableau 9:Entit Session

6. Signature et scurit
6.1. Signature des applet

Le systme de scurit des applets Java interdit totalement ces dernires d'accder aux ressources de la machine dexcution (disque dur, base de registre, etc.). Si nous voulons crer une applet qui dborde ces scurits, il est ncessaire : - de crer une applet signe. - que l'internaute autorise explicitement l'applet accder au systme. Le JDK offre deux outils permettant de signer les applet java noter loutil keytool et loutil jarsigner. Le premier est utilis pour crer les cls et les sauvegarder dans le .Keystore. Le second outil permet de signer le fichier.jar contenant lapplet. La figure 18 prsente quelques informations spcifiques de la signature tel que le nom de lapplet, le nom du fournisseur et lemplacement depuis lequel nous sommes en train de la tlcharger.

53

Ralisation

ENIT 2008/2009

Figure 18 : Signature d'applet java

6.2. Scurit de la communication


Une des solutions les plus faciles pour scuriser des Web Services est d'assurer la fiabilit de la connexion entre le client et le serveur. Pour atteindre cet objectif, plusieurs techniques sont possibles, selon la porte du rseau et le profil d'activit des interactions. Citons, parmi les plus rpandues et les plus accessibles, les techniques suivantes : des rgles bases sur l'existence d'un pare-feu, le protocole SSL et les rseaux privs virtuels VPN. Le protocole SSL quant lui permet d'tablir des connexions scurises sur des rseaux non scuriss (tel qu'Internet). SSL crypte et dcrypte les messages qui circulent entre un client et un serveur. En cryptant les donnes, nous empchons la lecture des messages pendant leur transfert. SSL crypte un message envoy par le client puis le transmet au serveur.

7. Maquette de test
Afin de tester notre application nous tions amens la cration dune maquette de test laide des trois machines virtuelles cres avec le logiciel VPC 2007. En effet nous avons considr une machine comme tant un serveur sur lequel nous sommes en train de dployer notre application et les deux autres machines jouant le rle de la machine du contrl et la machine du contrleur.

54

Ralisation

ENIT 2008/2009

8. Elaboration des interfaces


Dans ce qui suit nous allons prsenter les interfaces graphiques labors dans le cadre de notre application.

8.1. Interface de lauthentification


Lauthentification est une tape primordiale pour accder notre application de prise en main distance. La figure 19 prsente lcran de lauthentification.

Figure 19 : Page d'authentification

La figure 20 prsente le cas de lchance de lauthentification ainsi un message derreur saffiche pour informer lutilisateur.

55

Ralisation

ENIT 2008/2009

Figure 20 : Echance de l'authentification

8.2. Interface de tlchargement des applet


Si lauthentification a russi le systme redirige lutilisateur vers la page de tlchargement de lapplet du contrleur. La figure 21 prsente lcran de tlchargement de lapplet contrleur.

Figure 21 : Page de tlchargement de l'applet contrleur

Aprs lautorisation de la fentre pop-up, le tlchargement de lapplet sign commence tout en affichant la signature lutilisateur pour lui informer que cette applet va avoir accs son

56

Ralisation

ENIT 2008/2009

ordinateur. Et en appuyant sur le bouton "Run" lapplet se tlcharge et fonctionne normalement en accdant aux ressources de cet ordinateur. La figure 22 prsente lcran de lautorisation dexcution de lapplet sign.

Figure 22 : Autorisation de l'excution des applets java

8.3. Ecran de lapplet contrleur


La figure 23 prsente la structure de lapplet du contrleur. Elle renferme une zone daffichage des captures dcran du contrl, un bouton de cration de session , un champs de texte dans lequel le systme retourne lURL de la session cre et deux boutons ,inactives initialement, permettant le lancement du service "chat" et du service "envoi de fichier".

57

Ralisation

ENIT 2008/2009

Figure 23 : Structure de l'applet contrleur

Afin de crer une session le contrleur doit cliquer sur le bouton "Create Session" celui-ci invoque un Web Service permettant de mettre jour la base de donnes tout en ajoutant une session la base et retourne une URL contenant un identifiant de la session. Cet URL doit tre envoye au contrl pour quil puisse joindre la session. En attendant la joint ure du contrl la session une image anime de tlchargement saffiche au milieu de la zone daffichage jusqu ce que les captures dcran du contrl senvoient la session dans le serveur web. La figure 24 prsente lcran mettant en uvre la cration dune session de contrle.

58

Ralisation

ENIT 2008/2009

Figure 24 : Ecran de la cration d'une session de contrle

8.4. Ecran de lapplet Contrl


La figure 25 prsente la structure de lapplet du contrl. Elle renferme un bouton de confirmation de la cration de session, deux boutons, initialement dsactiv avant la confirmation, lun pour le lancement du service chat et lautre pour lenvoi de fichier. Cet applet possde une zone vide droite, cette dernire est rserv laffichage des fentres de chat et de lenvoi de fichier.

59

Ralisation

ENIT 2008/2009

Figure 25 : Structure de l'applet contrl

8.5. Etablissement dune session de contrle


Aprs la confirmation le contrl rejoint la session de contrle, ce moment les captures dcran de son ordinateur senvo i la session cre dans le serveur laide du Web Service. Ainsi ces captures dcran senvoi aussi lapplication du contrleur pour safficher dans la zone daffichage dans lapplet du contrleur. En effet le contrleur visualise lcran du contrl et peut prendre la main sur sa souris et sur son clavier en agissant sur ces derniers. La figure 26 prsente le droulement dune session de contrle, en effet lcran du contrl est affich dans lapplication du contrleur.

60

Ralisation

ENIT 2008/2009

Figure 26 : Etablissement d'une session de contrle

8.6. Ecran de la messagerie instantane


Le contrleur ainsi que le contrl puissent se servir du service de chat, tout en appuyant sur le bouton "chat" la fentre de chat souvre. La figure 27 prsente lenvoi dun message par le contrl vers le contrlant.

61

Ralisation

ENIT 2008/2009

Figure 27 : Ecran de l'envi de fichier

8.7. Ecran de lEnvoi de fichier


Le contrleur ainsi que le contrl puissent se servir du service denvoi de fichier, lors de lappui sur le bouton "Send File" la fentre de navigation vers les fichiers saffichent afin datteindre celui que lintress veut lenvoyer. La figure 28 mettant laccent sur le service de lenvoi de fichier.

62

Ralisation

ENIT 2008/2009

Figure 28 : Ecran de l'envoi de fichier

9. Conclusion
Ce chapitre a t ddi la description de la mise en uvre de la conception dcrite dans le cinquime chapitre. En premier lieu, nous avons prsent lenvironnement de travail. Puis nous avons mis laccent sur lenvironnement de dploiement et le choix technique de lapi aidant au dveloppement du Web Service. Nous avons explicit limplmentation de la base de donnes. En deuxime lieu nous avons prsent les interfaces graphiques de notre application.

63

Conclusion et Perspective

ENIT 2008/2009

Conclusion et Perspectives
Le travail qui nous a t demand dans le cadre de notre projet de fin dtudes ralis au sein de la socit Wave Global Services Tunisia consiste concevoir et implmenter une solution de prise en main distance dans le cadre dune application JEE adopta nt les nouvelles technologies du domaine. Pour ce faire nous tions invits dans un premier temps ltude de lexistant qui nous a permis de mieux comprendre les besoins de lentreprise et dterminer les problmatiques actuelles que notre application doit faire face afin de sorienter vers les technologies possible pour la ralisation de nos objectifs. La deuxime phase de notre projet a t consacr ltude de larchitecture de notre application tout en faisant une tude comparative des diffrents technologies possibles la ralisation de cette dernire et en achevant avec le choix du web service comme technologie de mise en uvre de larchitecture de notre ap plication. Ensuite nous nous avons focaliser sur la spcification fonctionnelles et non fonctionnelles de la solution adopte. Dans une autre phase nous avons dtaill la conception de lapplication tout en mettant laccent sur larchitecture gnrale et dtaill de lapplication. La dernire phase de ce document est ddi la prsentation du travail ralis tout en lillustrant avec des interfaces graphiques. Nous tenons galement signaler dans cette conclusion que ce projet nous a t dun apport pour approfondir nos connaissances en conception et en dveloppement dapplication entire en gnral et JEE en particulier. Il nous a aussi donn la possibilit dutilisation et de configuration de diffrents outils dans le cadre dune seule application, la mise en uvre de linteroprabilit des diffrents composants dun mme projet, lapprentissage de nouvelles technologies tel que les web services . Finalement, et comme perspective futures pour notre projet, nous avons pens terminer le module de louverture dune session vido vu la complexit de la ra lisation de notre application et damliorer linterface graphique.

64

Netographie & Bibliographie

ENIT 2008/2009

Netographie
[N1]http://fr.wikipedia.org/wiki/Client-serveur [N2]http://fr.wikipedia.org/wiki/CORBA Mars 2009 Serge Larousse Mars 2009 Franois Larouine

[N3]http://www.labo-sun.com/resource-FR-essentiels-642-0-java-reseau-j2se-rmiapplication-distribuee.htm Mars 2009 [N4]http://defaut.developpez.com/tutoriel/dotnet/remoting/cs/ Avril 2009 [N5]http://azanetti.developpez.com/webservice/ 2009 Par Antony ZANETTI (TeamB-FR) Avril

[N6]http://www.labo-sun.com/resource-fr-essentiels-832-1-java-j2ee-les-web-servicespublication-de-services.htm Avril 2009 [N7]http://www.soapuser.com/fr/basics4.html Avril 2009 [N8]http://www.netbeans.org/kb/docs/websvc/jax-ws.html Avril 2009

Bibliographie
[B1]Serge Tahe, Fvrier 2009. Introduction au web service avec Netbeans 6.5 Mai 2009

65

You might also like