«Java Web Start » base de donnée licence pro : Génie logiciel CHAPITRE 1:DIFFERENTES TECHNIQUES DE DEPLOIEMENT D’APPLICATIONS I) Introduction Le but de ce chapitre est d'introduire les notions d'architecture un, deux et trois tiers afin de mieux faciliter la compréhension du MVC . Il apparaît de plus en plus fréquent que dans le monde de l'information, on définisse les applications comme étant distribuées. Elles doivent leur nom au fait que pour fonctionner elles doivent interagir avec plus d'un ordinateur généralement en communiquant à travers un réseau (local ou distant). La plupart des applications peuvent être définies comme étant des applications n-tiers. C'est en fait un type d'application client-serveur. De ce fait il existe donc trois niveau d’abstraction : la couche vue, ou présentation : encore appelée IHM, permet l'interaction de l'application avec l'utilisateur. Cette couche gère les actions de la souris, du clavier, de l'écran, la présentation de l'information etc. la logique application, les traitements : décrivent les tâches à réaliser par l'application. les données : ou plus particulièrement, l'accès aux données, regroupent l'ensemble des mécanismes permettant la gestion des informations stockées par ou pour l'application. On imagine bien que ces trois niveaux peuvent être imbriqués ou répartis entre différentes machines physiques et/ou virtuelles. Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 1 «Java Web Start » base de donnée II) licence pro : Génie logiciel Architecture un –tiers Dans une approche d'application de type un-tiers, les trois couches sont fortement et intimement liées, et s'exécutent sur la même machine. Dans ce cas, on ne peut pas parler d'architecture client-serveur mais d'informatique centralisée. Plusieurs avantages lui sont reconnus, dont une grande facilité d'administration et une haute disponibilité. Aujourd'hui, il bénéficie d'une large palette d'outils de conception, de programmation et d'administration ayant atteint un niveau de maturité et de fiabilité qui lui permettent encore de soutenir la comparaison avec des solutions nettement plus modernes. Toutefois l'envoie intégral des données nécessaires à l'exécution d'une requête fait vite saturer le réseau. Des techniques existent pour alléger le réseau, mais on arrivera toujours à une saturation malgré tout. De plus, la cohabitation de plusieurs moteurs de base de données indépendants manipulant les mêmes données tend à devenir instable à l'usage. Il n'est pas rare de rencontrer des conflits lors de la consultation ou de la modification simultanée par rapport à un même renseignement par plusieurs utilisateurs. Ces conflits peuvent altérer l'intégrité des données. Il peut arriver que la confidentialité des données ne soit plus conservée, c'est aussi très dangereux. Ce type de solution est donc à réserver à des applications non critiques exploitées par de petits groupes de travail. III) Architecture deux –tiers Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 2 «Java Web Start » base de donnée licence pro : Génie logiciel L'architecture à deux niveaux (aussi appelée architecture 2-tier, tier signifiant rangée en anglais) caractérise les systèmes clients/serveurs pour lesquels le client demande une ressource et le serveur la lui fournit directement, en utilisant ses propres ressources. Cela signifie que le serveur ne fait pas appel à une autre application afin de fournir une partie du service. Le dialogue entre le client et le serveur se résume donc à l'envoi de requêtes et aux données, en réponse. Le dialogue client-serveur Dans ce type de conversation, on distingue donc deux parties : le client : il provoque le dialogue ; le serveur : il se contente seulement de répondre aux requêtes du client. Limites de l'architecture deux-tiers L'architecture client-serveur de première génération présente les inconvénients suivants : le poste client est fortement sollicité, il devient de plus en plus complexe et nécessite des mises à jour régulière, ce qui est contraignant ; Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 3 «Java Web Start » base de donnée licence pro : Génie logiciel le client et le serveur sont assez bruyants, ce qui s'adapte mal à des bandes passantes étroites ; ce qui cantonne ce type d'application à des réseaux locaux ; il est difficile de modifier l'architecture initiale, les applications supportent donc mal les fortes montées en charge ; ce type d'architecture est grandement rigidifié par les coûts et la complexité de maintenance. Néanmoins, on peut noter quelques avantages non négligeables de ce type d'architecture : elle permet l'utilisation d'une interface utilisateur riche ; elle a permis l'utilisateur ; elle a introduit la notion d'interopérabilité IV) l'appropriation des applications par architecture 3 -tiers L'architecture trois-tiers, également connue sous le nom d'architecture deux-tiers de deuxième génération ou clientserveur distribué, sépare l'application en trois niveaux de services distincts : 1. Un client, c'est-à-dire l'ordinateur demandeur de ressources, équipée d'une interface utilisateur (généralement un navigateur web) chargée de la présentation ; 2. Le serveur d'application (appelé également middleware : l'ensemble des couches réseau et services logiciels qui permettent le dialogue entre différents composants d'une application répartie), chargé de fournir la ressource mais faisant appel à un autre serveur 3. Le serveur de données, fournissant d'application les données dont il a besoin. au serveur Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 4 «Java Web Start » base de donnée licence pro : Génie logiciel Tous ces niveaux sont totalement indépendants, i.e. ils présentent des liens faibles, ce qui permet de les répartir sur plusieurs machines, de ce fait : Le client léger Dans l'architecture trois-tiers, on reconnait le poste client. Plus communément appelé client léger ou Thin Client, par opposition au client lourd des architectures deux-tiers. Il se contente de présenter un rendu fidèle, avec, éventuellement, une partie de logique application permettant une vérification immédiate de la saisie. Le service applicatif Dans une architecture trois-tiers, la logique application est prise en charge par le serveur HTTP. Ce dernier se retrouve dans la position du poste client d'une application deux-tiers et les échanges avec le serveur de données mettent en œuvre les mécanismes déjà vus dans ce type d'application.Le chapitre suivant nous montrera comment nous pouvons déployer une application en 3 –tiers cas du JWS. CHAPITRE 2 : C’EST QUOI JAVA WEB START 1) Définition Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 5 «Java Web Start » base de donnée licence pro : Génie logiciel Beaucoup de développeurs de sites Web voulaient construire des interfaces de plus en plus riches. Ils voulaient pouvoir développer des applications avec toute la puissance fournie par le côté client de Java, mais sans pour autant abandonner la facilité de déploiement inhérente aux applications Web. Java Web Start est une technologie permettant le déploiement d'application standalone à travers le réseau, développée avec la plate forme Java 2. Il permet l'installation d'une application grâce à un simple clic dans un navigateur. JWS permet la mise à jour automatique de l'application si une nouvelle version est disponible sur le serveur et assure une mise en cache locale des applications pour accélérer leur réutilisation ultérieure. La sécurité des applications exécutées est assurée par l'utilisation du bac à sable (sandbox) comme pour une applet, dès lors pour certaines opérations il est nécessaire de signer l'application. JWS utilise et implémente une API et un protocole nommée Java Network Launching Protocol (JNPL). Apres avoir créer nos deux fichiers .jar et .jnlp nous créerons une page web pour la distribution du logiciel. 2) Obtention du logiciel Java Web Start Java Web Start est inclus dans l'environnement d'exécution Java (JRE) en tant que composant de la version JRE 5.0. Ainsi, lorsque vous installez JRE, Java Web Start est automatiquement installé. Le logiciel Java Web Start est lancé automatiquement lorsque vous téléchargez pour la première fois une application Java à l'aide de la technologie Java Web Start. Le logiciel Java Web Start cache (stocke) l'intégralité de l'application sur votre disque local. Ainsi, tout lancement consécutif est quasi instantané dans la mesure où toutes les ressources nécessaires sont déjà disponibles localement. Chaque fois que vous démarrez l'application, le logiciel Java Web Start vérifie si une Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 6 «Java Web Start » base de donnée licence pro : Génie logiciel nouvelle version est disponible sur le site Web de l'application. Si c'est le cas, il la télécharge et la lance. 3) déploiement du logiciel Java Web Start Le déploiement permet la distribution du logiciel sur le poste client. Deux aspects caractérisent le déploiement d’un logiciel du support permettant de stocker le code binaire et les ressources, la technique utilisée pour le transport et la mise à jour. L’API de Java fournit un ensemble de technologies adapté aux besoins du déploiement Le support se fait directement dans les fichiers « class » ou dans des fichiers « jar » contenant des fichiers « class » La technique de transport se fait par la technologie Java Web Start Le déploiement doit pouvoir également assurer un niveau de sûreté lors de l’exécution sur le poste client (autoriser ou pas l'accès aux fichiers du client … ). L'application doit être packagée dans un fichier jar qui sera associée sur le serveur à un fichier particulier de lancement. L'utilisation d'une application via JWS implique la réalisation de plusieurs étapes : •Packager l'application dans un fichier jar en le signant si nécessaire •Créer le fichier de lancement jnlp . •Copier les deux fichiers sur le serveur web Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 7 «Java Web Start » base de donnée licence pro : Génie logiciel CHAPITRE 3: MISE EN ŒUVRE DE L’APPLICATION 1) nécessaire Le développement d’une telle application demande quelque connaissance dans le domaine du génie logiciel donc les principales sont : -langage xml, php, html,javascript,css. -langage java. Il nous faut un serveur web, le plus simple qu'il existe suffit. Apache dans sa version minimale ou IIS sont plus que suffisants. S'il en existe un en place, il servira à cette tâche. 2) Mis en œuvre du serveur si vous utilisez le serveur APACHE : pour activer la reconnaissance des fichiers .jnlp, il vous faudra éditer le fichier mime.types. installation classique sous Windows : C\Program Files \Apache Group\Apache2\conf\mime. types ajouter dans le fichier la ligne : application/x-java-jnlp_file jnlp . par contre si c’est un serveur IIS il faut ajouter un type de fichier fig. pour configurer le serveur afin qu’il soit à l’écoute des postes clients : -ouvrir le fichier C:\Program Files\Apache Group\apache2\conf\httpd.conf Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 8 «Java Web Start » base de donnée licence pro : Génie logiciel - ajouter dans le fichier les lignes Listen <adresse de ton pc> Listen 127.0.0.1 :port 3) Création du fichier JAR Notre fichier jar de application que nous souhaitons partager sur le réseau. L'application doit être packagée sous la forme d'un fichier .jar diminutif de java archive. 4) Création du fichier JNLP Pour rendre notre application accessible, il va nous falloir créer un fichier .JNLP, ce fichier est au format XML, donc compréhensible. En voici le code source de celui de notre projet : Logiciel.jnlp <?xml version="1.0" encoding="utf-8"?> <jnlp spec="1.0+" codebase="http://localhost/prog/" href="logiciel.jnlp"> <information> <title>Mon Logiciel </title> <vendor>Noumessi edson</vendor> </information> <resources> <j2se version="1.5+" /> <jar href="http://localhost/prog/calculatrice.jar"/> </resources> <application-desc mainclass="projet.Lanceur" /> </jnlp> Explication : <?xml version="1.0" encoding="utf-8"?> version : version xml du fichier Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 9 «Java Web Start » base de donnée licence pro : Génie logiciel encoding : encodage utilisé <jnlp spec="1.0+" codebase="http://localhost/jnlp/" href="alter.jnlp"> spec : version du fichier jnlp codebase : chemin des fichiers href : nom complet du fichier jnlp La balise information contient la description de l'application. <title>Mon application</title> titre de l'application <vendor>noumessi edson</vendor> nom du ou des développeurs/vendeurs <homepage href="http://localhost/jnlp/"/> site de l'application href : url de l'application, adresse du site <description>Alter-SIG</description> <description kind="short"> calculatrice en Java, technologie de déploiement JWS/JNLP </description> description de l'application <j2se version="1.5+"> Spécifiez les caractéristiques nécessaires pour la machine virtuel java <jar href="altersig.jar" main="true" download="eager" /> <jar href="data.jar" download="lazy" /> Spécifiez les jars nécessaires pour l'application href : adresse de l'archive jar version : version de l'archive download : eager / lazy : eager veut dire que l'archive sera téléchargée avant le lancement de l'application, lazy Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 10 «Java Web Start » base de donnée licence pro : Génie logiciel qu'elle le sera si necessaire. Java Web Start peut paraître très simpliste, détrompez-vous, il y a possibilité de le rendre très performant et très avantageux ! Aussi bien pour l'entreprise sur un intranet que pour un développeur seul qui veut partager ses logiciels sur internet. Pour mieux comprendre toutes les possibilités de Java Web Start, veuillez consulter l’annexe1. 5) Signature de l’archive JAR La signature d'une archive est très importante, elle permet de savoir qui a fait l'archive de manière fiable. C'est une façon de prouver qu'il s'agit bien de votre travail. C'est une sorte de signature électronique. Elle va permettre à notre application d'avoir le droit d'accéder aux fichiers systèmes, à la communication sur le réseau ... etc ..., à l'identique d'un programme java standard. Le principe de la signature marche sur un cryptage clé privée/clé public. La signature va ajouter quelques lignes dans le fichiers manifest ainsi que d'autre fichiers permettant de confirmer qu'il s'agit de vous et que l'archive n'a pas été modifié après signature. Je n'en dirais pas plus sur ces sécurités, ce n'est pas le but de ce tutorial. Il faut d'abord obtenir une clé privée associée à des clés publiques. Celles ci vont être stockées dans une petite base de données appelée « Keystores ». Chaque clé est identifiée par un alias, généralement le nom du Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 11 «Java Web Start » base de donnée licence pro : Génie logiciel signataire. Un keystore peut contenir la signature de plusieurs personnes. Avant d’exécuter la commande keystore nous devons d’abord ajouter le chemin vers le fichier keytool de la manière suivante : -panneau de configuration->système->paramètre avancés->variable d’environnement dans variables systeme Path->nouvelle -introduire le chemin d’accès E:\Program Files\Java\jre6\bin; ->ok -dans variables utilisateur ->nouvelle nom= CLASSPATH valeur=. ;->ok Pour créer un KeyStore : keytool -genkey -keystore FichierKeyStore -alias edson Tapez le mot de passe du Keystore : (mdpkey) Ressaisissez le nouveau mot de passe : (mdpkey) Quels sont vos prénom et nom ? [Unknown] : edson noumessi Quel est le nom de votre unité organisationnelle ? [Unknown] : ingénieur Quelle est le nom de votre organisation ? [Unknown] : siantou superieur Quel est le nom de votre ville de rÚsidence ? [Unknown] : yaoundé Quel est le nom de votre état ou province ? [Unknown] : cameroun Quel est le code de pays à deux lettres pour cette unité ? [Unknown] : cm Est-ce CN=edson, OU=ingénieur, O=siantou supérieur, L=Yaoundé, ST=Cameroun, C=cm ? [non] : oui SpÚcifiez le mot de passe de la clé pour <edson> (appuyez sur Entrée s'il s'agit du mot de passe du Keystore) : (mdpedson) Ressaisissez le nouveau mot de passe : (mdpedson) Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 12 «Java Web Start » base de donnée licence pro : Génie logiciel Un fichier « monKeyStore » a été créé. On peut répéter cette opération pour ajouter des signatures dans le keystore. Il s’agit dans un premier temps de déplacer notre fichier jar dans le même répertoire que monKeystore. Pour signer notre archive jar, il faut executer la commande : jarsigner -keystore FichierKeyStore monarchive.jar edson Enter Passphrase for keystore: (mdpkey) Enter key password for edson: (mdphenry) Warning: The signer certificate will expire within six months. C'est fait, votre archive est maintenant signée de votre main « virtuelle » et prête pour être autorisée à accéder aux données du système. Pour une visibilité plus pertinente veuillez consulter les fig() de l’annexe. 6) Création du fichier html Le fichier html suivant est une combinaison des langages html, javascript, css. Cette page web servira d’IHM pour notre application. Le but de ce projet ne se focalisant pas sur ces langage nous nous contenterons d’expliquez les codes les plus importants. En voici le code source du fichier : Page.html <html> <head> <link href="template.css" rel="stylesheet" type="text/css" /> <link href="t\template.css" rel="stylesheet" type="text/css" /> <link href="t\blue.css" rel="stylesheet" type="text/css" /> Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 13 «Java Web Start » base de donnée licence pro : Génie logiciel <link href="t\blue_bg.css" rel="stylesheet" type="text/css" /> <link href="img2.css" rel="stylesheet" type="text/css" /> <link href="img1.css" title="img1" rel="alternate stylesheet" type="text/css" /> <link href="img3.css" title="img3" rel="alternate stylesheet" type="text/css" /> <link href="img4.css" title="img4" rel="alternate stylesheet" type="text/css" /> <link href="img5.css" title="img5" rel="alternate stylesheet" type="text/css" /> <link href="img6.css" title="img6" rel="alternate stylesheet" type="text/css" /> <script type="text/javascript" language="javascript"> var manual_or_random="manual" //"manual" or "random" var randomsetting="3 days" //"eachtime", "sessiononly", or "x days (replace x with desired integer)". Only applicable if mode is random. function setStylesheet(title, randomize){ //Main stylesheet switcher function. Second parameter if defined causes a random alternate stylesheet (including none) to be enabled var i, cacheobj, altsheets=[""] for(i=0; (cacheobj=document.getElementsByTagName("link")[i]); i++) { if(cacheobj.getAttribute("rel").toLowerCase()=="alternate stylesheet" && cacheobj.getAttribute("title")) { //if this is an alternate stylesheet with title cacheobj.disabled = true altsheets.push(cacheobj) //store reference to alt stylesheets inside array if(cacheobj.getAttribute("title") == title) //enable alternate stylesheet with title that matches parameter cacheobj.disabled = false //enable chosen style sheet } } Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 14 «Java Web Start » base de donnée licence pro : Génie logiciel if (typeof randomize!="undefined"){ //if second paramter is defined, randomly enable an alt style sheet (includes non) var randomnumber=Math.floor(Math.random()*altsheets.lengt h) altsheets[randomnumber].disabled=false } return (typeof randomize!="undefined" && altsheets[randomnumber]!="")? altsheets[randomnumber].getAttribute("title") : "" //if in "random" mode, return "title" of randomly enabled alt stylesheet } function chooseStyle(styletitle, days){ //Interface function to switch style sheets plus save "title" attr of selected stylesheet to cookie if (document.getElementById){ setStylesheet(styletitle) setCookie("mysheet", styletitle, days) } } </script> </head> <title> Page d’ acceuil du cite </title> <center> <h1 style="text-align: center;">Select background</h1> <br /> <a href="javascript:chooseStyle('none', 60)" checked="checked" /><img src="thumb2.jpg" alt="background image 2" border="0" class="bgthumbs" /></a> Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 15 «Java Web Start » base de donnée licence pro : Génie logiciel <a href="javascript:chooseStyle('img1', 60)" /><img src="thumb1.jpg" alt="background image 1" border="0" class="bgthumbs" /></a> <a href="javascript:chooseStyle('img3', 60)" /><img src="thumb3.jpg" alt="background image 3" border="0" class="bgthumbs" /></a> <a href="javascript:chooseStyle('img4', 60)" /><img src="thumb4.jpg" alt="background image 4" border="0" class="bgthumbs" /></a> <a href="javascript:chooseStyle('img5', 60)" /><img src="thumb5.jpg" alt="background image 5" border="0" class="bgthumbs" /></a> <a href="javascript:chooseStyle('img6', 60)" /><img src="thumb6.jpg" alt="background image 6" border="0" class="bgthumbs" /></a> </center> <div class="module_menu"> <div> <div> <div> <ul class="menu" /> </div> </div> </div> </div> <center> Mon Programme a déployer : <br> <a href="logiciel.jnlp">mon logiciel</a> </center> </html> <Html> code de la page</html> <script type="text/javascript" language="javascript">function javascript</script> <link href="template.css" rel="stylesheet" type="text/css" />lien vers les page contenant les css. Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 16 «Java Web Start » base de donnée licence pro : Génie logiciel 5) lancement de l’application En supposant que tout c’est bien passer jusque là il ne nous reste plus qu’a déplacé tous nos fichiers(html,jar,jnlp) dans un répertoire reps créé dans le serveur www. Lorsqu'un utilisateur clique sur un lien pour lancer une application côté client Java pour la première fois, le processus suivant se produit: Le navigateur Web est chargé d'exécuter Java Web Start. Java Web Start commence par le lancement d'un écran de démarrage. Java Web Start se connecte alors au serveur Web désigné et détermine si des fichiers ont été téléchargés pour l'application souhaitée Java. Les fichiers appropriés sont téléchargés sur la machine locale. Java Web Start exécute l'application téléchargée. Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 17 «Java Web Start » base de donnée licence pro : Génie logiciel Java Web Start, avec le Java Web Start Application Manager, fournit une approche cohérente look-and-feel interface, ainsi que fournir une rétroaction à l'utilisateur tout au long du processus d'installation et de lancement. La figure si dessous montre la fenêtre qui apparaît lorsque Java Web Start premières tentatives de lancer une application Java client. Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 18 «Java Web Start » base de donnée licence pro : Génie logiciel Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 19 «Java Web Start » base de donnée licence pro : Génie logiciel Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 20 «Java Web Start » base de donnée licence pro : Génie logiciel CHAPITRE 4 : PARAMETRE AVANCE 1) Utilisation du gestionnaire d’application intégré Le gestionnaire d'applications est intégré au produit Java Web Start. Il permet de lancer rapidement et facilement des applications préalablement exécutées par Java Web Start. Il combine un menu historique et un menu Démarrer/Programmes pour les applications fondées sur la technique Java et déployées à partir du Web. Le gestionnaire d'applications permet aussi de se connecter à la page d'accueil d'une application et d'afficher des informations supplémentaires la concernant. Pour lancer une application à partir du gestionnaire d'applications, on double-clique sur l'icône correspondante ou on clique sur le bouton de lancement. Autre fonctionnalité du gestionnaire d'applications, la boîte de dialogue des préférences permet d'examiner et de modifier les paramètres utilisés par Java Web Start. Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 21 «Java Web Start » base de donnée 2) licence pro : Génie logiciel Lancement à partir d’icones placé sur le bureau(Windows uniquement) Java Web Start peut créer automatiquement des raccourcis sur le bureau et dans le menu Démarrer de Windows pour les applications fondées sur la technique Java et déployées par la voie du Web. Par défaut, Java Web Start demande si un raccourci doit être créé lors du deuxième lancement d'une application. Il est possible de modifier cela dans la boîte de dialogue des préférences. Des raccourcis peuvent aussi être ajoutés ou retirés à l'aide des options de menu Application/Créer raccourcis et Application/Retirer raccourcis du gestionnaire d'applications. 3) Utilisation de JWS derrière un serveur proxy ou pare-feu Java Web Start doit être configuré avec les paramètres de proxy qui lui permettront de lancer des applications de l'extérieur de votre pare-feu. Java Web Start essaiera de détecter automatiquement les paramètres de proxy à partir du navigateur par défaut du système (Internet Explorer ou Netscape sous Windows et Netscape sous Solaris et Linux). Java Web Start prend en charge la plupart des scripts de configuration automatique de proxy web. Il peut détecter les paramètres de proxy dans la majorité des environnements. Si les paramètres de proxy ne peuvent être détectés automatiquement, on doit les spécifier manuellement lors de la première utilisation de Java Web Start.Java Web Start demandera aussi le nom d'utilisateur et le mot de passe requis pour accéder à un serveur proxy d'authentification. Ces noms d'utilisateur et mot de passe seront stockés pour l'instance en cours de Java Web Start. Cependant, chaque fois qu'une nouvelle machine virtuelle Java est appelée lors de l'accès à un site Web sécurisé, les noms d'utilisateur et mot de passe seront Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 22 «Java Web Start » base de donnée licence pro : Génie logiciel redemandés (ces informations sont stockées dans une même instance d'une machine virtuelle Java). CHAPITRE 5 : AVANTAGE ET LIMITE DU JWS Les avantages de cette technologie sont - mise à jour automatique de l’application si une nouvelle version est disponible - assure une mise en cache locale des applications pour accélérer leur réutilisation ou si la machine client n’est pas connectée - sécurité des applications assurée par l’utilisation du bac à sable - Pas d'exécutable / désinstallation et de raccourcis à gérer - Déploiement à distance des logiciels Toutes fois quelques inconvénients existent dans ce type d’architecture. Le serveur HTTP constitue la pierre angulaire de l'architecture et se trouve souvent fortement sollicité : il est Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 23 «Java Web Start » base de donnée licence pro : Génie logiciel difficile de répartir la charge entre client et serveur. On se retrouve confronté aux épineux problèmes de dimensionnement serveur et de gestion de la montée en charge rappelant l'époque des mainframes. De plus, les solutions mises en œuvre sont relativement complexes à maintenir et la gestion des sessions est compliquée, mais c'est possible. Projet tutoré Exposant : Noumessi Thierry edson, et Soufor Matin Page 24