Configuration d'un déploiement d’une application Java via JNLP

Note : 9,00/10

12345678910
Auteur : neodante Article lu 16 722 fois

Description : Aujourd'hui le déploiement des applications est au coeur du besoin de nombreuses entreprises. L'utilisation de la technologie Java Web Start permet de répondre élegamment à cette problèmatique de déploiement pour les applications Java. Voici un article sur une façon simple de mettre à disposition de vos utilisateurs vos applications Java.




Modèle d'applications centrées sur le web


Le modèle d'application centrée sur le web permet le lancement d'une application sur un client depuis des ressources se trouvant sur le réseau plutôt que sur le disque local. JNLP (Java Networking Launching Protocol) permet de fournir un protocole orienté web et un environnement d'exécution pour les applications Java de ce type.


Le principal concept de JNLP est de fournir une implémentation du modèle d'applications centrées sur le web sans aucune phase d'installation et avec mise à jour incrémentale transparente. Avec ce modèle est fourni un protocole de livraison des applications (empaquetage sur le serveur web) qui est représenté par un fichier XML de configuration JNLP, qui décrit comment télécharger et lancer l'application, et un environnement d?exécution très similaire à la sandbox des applets (avec des APIs additionnelles) qui permet de gérer la sécurité d'exécution des applications, la configuration du proxy.


Les points clés de JNLP :

  • Pas de phase d'installation,

  • Mises à jour automatiques, transparentes et incrémentales : on ne met à jour que ce qui a changé depuis la dernière exécution),

  • Téléchargement incrémentales : on ne télécharge que ce que l'application a besoin,

  • Support du mode hors ligne


Le fichier de description JNLP


Ce fichier XML de description de l'application est le coeur de la technologie JNLP. Il ne contient aucune donnée mais les URLs de ces ressources (images, fichier JNLP ou fichier JAR (classes Java, bibliothèques natives)). Un fichier JNLP peut appelé un autre fichier JNLP qui est alors appelé un descripteur d?extension.


<?xml version="1.0" encoding="utf-8" ?>

<jnlp codebase="http://127.0.0.1:8080/TSSample">

  <information>

    <title>TechnoS SourceS sample</title>

    <vendor>Julien CHABLE</vendor>

    <description>TechnoS SourceS sample application</description>

    <description kind="short">Demo JNLP TechnoS SourceS</description>

    <icon href="/pat.png"/>

    <icon kind="splash" href="/pat.png"/>

    <offline-allowed/>

  </information>

  <resources>

    <j2se version="1.4+"/>

    <jar href="tsapp.jar"/>

  </resources>

  <application-desc

    main-class="com.ts.TSApp"/>

</jnlp>

   Les ressources 

Un client JNLP peut télécharger 3 sortes de ressources : les fichiers JARs, les images et d?autres fichiers JNLP en utilisant le protocole HTTP depuis un serveur web standard.


Les URLs de chaque ressource peuvent être accompagnées d'un identifiant de version, mais la mise à jour transparente incrémentale d'une application n'est pas obligatoire, d'où la possibilité pour un serveur web d'héberger plusieurs versions de la même application. Cependant le protocole de versionage nécessite le support des servlet ou de CGI.


Configuration du serveur web


Pour ce tutorial nous allons utiliser le serveur web tomcat (support des servlet/JSP).

Installation rapide

Voici quelques étapes de l'installation relativement simple de Tomcat 5.0. Tout d'abord télécharger l'installer de la version 5.0 (vous pouvez utiliser la version 5.5 si vous le désirez).


Ici l'installation de Tomcat se fait à la racine du lecteur c:\ tel que le montre la capture :

 

TomcatSetup1.jpg


Nous spécifions le login et le mot de passe de l'administrateur (notez bien votre mot de passe !) ainsi que le numéro du port du serveur web, par défaut 8080 :


TomcatSetup2.jpg

Cliquez sur suivant pour installer et puis fermez l'installation en cliquant sur Terminer une fois l?installation terminée.

Démarrage de Tomcat

Si vous n'avez pas spécifié à Tomcat de démarrer à la fin de l'installation, voici la procédure à suivre. Dans la barre système, une nouvelle icône est apparue (celle de gauche) :


TomcatWinsysbar1.jpg

Faites un clic droit sur cette icône pour voir apparaître un menu, puis sélectionnez 'Start service' pour démarrer Tomcat en tant que service :

TomcatWinsysbar2.jpg

Le type MIME

Le support du type MIME de JNLP permet au serveur de prendre en charge les requêtes HTTP aux fichiers JNLP en retournant un le bon type MIME qui permettra à Java Web Start de se lancer.


Tomcat est déjà configuré pour supporté le type MIME de JNLP. Cependant, vous devez vérifier, et ajoutez le cas échéant, le support du type MIME dans le fichier de configuration du serveur web. La configuration du type MIME dépend du type de serveur utilisé.


Type: application/x-java-jnlp-file

Extension : .jnlp


Pour Tomcat 5.0, allez dans rep Tomcat/conf/web.xml et vérifier la présence de :

< mime-mapping >

            < extension > jnlp </ extension >

            < mime-type > application/x-java-jnlp-file </ mime-type >

</ mime-mapping >


Déploiement de l'application dans le serveur web

Pour déployer votre application sur le serveur web, il vous suffit de copier les fichiers de façon à ce que ceux-ci correspondent aux URLs de votre fichier JNLP. Il vous faut donc le fichier JNLP et les ressources répertoriées dans celui-ci :

ServerwebExplorer.jpg

Déployer l'application sur le poste

Si vous avez installé le JDK 1.4 ou 5 sur votre machine, Java Web Start est déjà installé et l'extension .jnlp avec le type MIME est déjà associé à JWS. Par conséquent, il ne reste plus qu'à ajouter un lien hypertexte dans une page web pointant vers le fichier JNLP.


<a href="TSSample.jnlp">Déployer l'application</a>


Voilà ce que donne la page avec le lien vers le fichier JNLP :


Deploy1.jpg

Puis ensuite le déploiement de l'application :


Deploy2.jpg

Enfin l'application se lance !


Deploy3.jpg

Installation

Java Web Start gère un cache pour l'exécution des applications hors ligne, vous pourrez constater que l'application a été ajouté dans le menu de configuration Ajouter/supprimer des programmes :


InstallPrograms.jpg


La désinstallation videra ce cache.


Conclusion


La mise en place d'un déploiement d?une application Java n'est pas plus compliqué que de créer un fichier JNLP et de déposer toutes les ressources sur un serveur web. C'est un moyen efficace de distribuer vos applications, aussi bien pour les particuliers que pour les entreprises. De plus, la technologie JNLP permet de gérer la sécurité et de signer vos applications pour garantir leur authenticité. Dans cet article, nous n'avons qu'effleuré la technologie JNLP, d'autant plus que la dernière version comporte de nombreuses nouveautés.


Voici un exemple de déploiement d'une application lourde, ici Argo UML, un logiciel de conception UML :


http://argouml-downloads.tigris.org/nonav/argouml-0.20/jws/argouml.jnlp





A Propos de l'auteur

Julien Chable

Admin CodeS SourceS
MVS


[ Voir la fiche de neodante ] - [ Voir tous les articles de neodante ] - [ Contacter neodante ]



Mots définissants ce tutorial

Mot(s) associé(s) :

web tomcat java start jnlp


Fichier Zip disponible

FichierTailleDate
JNLPTut/005/07/2006 15:34:30
JNLPTut/bin/005/07/2006 11:05:52
JNLPTut/bin/com/004/07/2006 17:46:20
JNLPTut/bin/com/ts/004/07/2006 17:46:22
JNLPTut/bin/com/ts/TSApp.class51404/07/2006 17:55:06
JNLPTut/bin/TSSample.jnlp60505/07/2006 11:05:52
JNLPTut/dist/005/07/2006 12:05:36
JNLPTut/dist/index.htm8205/07/2006 12:05:22
JNLPTut/dist/pat.png244704/07/2006 15:20:34
JNLPTut/dist/Thumbs.db563204/07/2006 17:51:58
JNLPTut/dist/tsapp.jar68804/07/2006 17:51:42
JNLPTut/dist/TSSample.jnlp60505/07/2006 11:05:52
JNLPTut/index.htm8205/07/2006 13:38:14
JNLPTut/src/005/07/2006 15:34:30
JNLPTut/src/com/004/07/2006 17:46:20
JNLPTut/src/com/ts/004/07/2006 17:46:22
JNLPTut/src/com/ts/TSApp.java27904/07/2006 17:53:24
JNLPTut/TSSample.jnlp60505/07/2006 11:05:52

Historique des mises à jour

DateDescription
22/07/2006 12:20:20- Titre
22/07/2006 12:19:29- Correction texte

Commentaire(s)

Commentaire de : krikete le 27/02/2007 19:39:03Envoyer un message à krikete
j'ai unue question a vous poser :
je fais une application client/serveur le client dois se conecter pour executer des modele de simulation que j'ai deployer avec java web start en .jnlp .
est ce que lors du lancemant de l'execution les .jar se telacharge dans son poste ou non????

c'est tres imporatnt car si c'est le cas cela ne m'arange pas!! je veus qu'il ai que l'execution c'est tous.......

merci

Ajouter un commentaire :

Pour ajouter un commentaire, vous devez vous identifier :
Si vous n'avez pas encore de compte sur un des sites TechnoS-SourceS / CodeS-SourceS cliquez ici pour créer votre compte.

Login et mot de passe que vous avez sur
CodeS-SourceS/TechnoS-SourceS




Mot de passe oublié ? / Activation de compte
Créer un compte