Auteur : neodante Article lu 7 502 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 :
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 :
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) :
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 :
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 :
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 :
Puis ensuite le déploiement de l'application :
Enfin l'application se lance !
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 :
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