Professional Documents
Culture Documents
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,
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.
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
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
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
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.
ENIT 2008/2009
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.
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.
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
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
11
12
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.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.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]
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]
19
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]
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
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
ENIT 2008/2009
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
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.
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
ENIT 2008/2009
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
ENIT 2008/2009
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
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
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.
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
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
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
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
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
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
2.2.
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
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.
40
Conception
ENIT 2008/2009
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
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.
44
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.
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.
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.
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
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
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.
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.
workNum
Numrique
52
ENIT 2008/2009 Description Identifiant unique dune session Identifiant correspondant lidentifiant de lutilisateur dans lentit Utilisateur
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
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
La figure 20 prsente le cas de lchance de lauthentification ainsi un message derreur saffiche pour informer lutilisateur.
55
Ralisation
ENIT 2008/2009
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.
57
Ralisation
ENIT 2008/2009
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
59
Ralisation
ENIT 2008/2009
60
Ralisation
ENIT 2008/2009
61
Ralisation
ENIT 2008/2009
62
Ralisation
ENIT 2008/2009
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
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
Bibliographie
[B1]Serge Tahe, Fvrier 2009. Introduction au web service avec Netbeans 6.5 Mai 2009
65