![]() |
Mon site perso a changé d'adresse. Si rien ne se passe cliquez sur le lien ci-dessus. |
|
|
|
|
|
|
Développons en Java v 0.85 béta | |
| Copyright (C) 1999-2005 Jean-Michel DOUDOUX |
![]() |
![]() |
![]() |
Java Web Start est une technologie pour permettre 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 a été inclus dans le J2RE 1.4. Pour les versions antérieures du J2RE, il est nécessaire de télécharger JWS et de l'installer sur le poste client.
JWS est le résultat des travaux de la JSR-56. La page officielle de Sun concernant cette technologie est : http:// java.sun.com/products/javawebstart/
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 Lauching Protocol (JPNL).
Le grand avantage de Java Web Start est qu'il est inutile de modifier une application pour qu'elle puisse être déployée avec cette technologie (à condition que les fichiers contenant des ressources soient accédés en utilisant la méthode getResource() du classloader).
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 :
Ce chapitre contient plusieurs sections :
L'application doit être packagée sous la forme d'un fichier .jar.
Il est possible de fournir une petite icône pour représenter l'application : celle si doit avoir une taille de 64 x 64 pixels au format Gif ou JPEG.
L'exemple de cette section crée un certificat et signe l'application avec ce dernier.
| Exemple : |
|
Ce fichier au format XML permet de décrire l'application.
La racine de ce document XML est composé du tag <jnpl>. Son attribut codebase permet de préciser l'url ou sont stockés les fichiers précisés dans le document via l'attribut href.
La tag <information> permet de fournir des précisions qui seront utilisées par le gestionnaire d'application sur le poste client. Ce tag possède plusieurs noeud enfants :
Nom du tag |
Rôle |
Title |
Le nom de l'application |
Vendor |
Nom de l'auteur de l'application |
Homepage |
Préciser une page HTML qui contient des informations sur l'application grâce à son attribut href |
Description |
Une description de l'application. Il est possible de préciser plusieurs type description grâce à l'attribut kind. Les valeurs possibles sont : one-line, short et tooltip. Pour utiliser plusieurs descriptions, il faut utiliser plusieurs tags Description avec l'attribut kind adéquat |
Offline-allowed |
Ce tag précise que l'application peut être exécutée dans un mode déconnecté. L'avantage de ne pas préciser ce tag et de s'assurer que la dernière version de l'application est toujours utilisée mais elle nécessite obligatoirement une connexion pour toute exécution. |
Icon |
Permet de préciser une URL vers une image de 64 x 64 pixels au format gif ou JPEG grâce à l'attribut href |
Le tag <security> permet de préciser des informations concernant la sécurité.
Nom du tag |
Rôle |
All-permissions |
Indique que l'application à besoin de tous les droits pour s'exécuter. L'application doit alors être obligatoirement signée. Si ce tag n'est pas précisé alors l'application s'exécute dans le bac à sable et possède les mêmes restrictions qu'une applet au niveau de la sécurité |
Le tag <resources> permet de préciser des informations sur les ressources utilisées par l'application. L'attribut os permet de préciser des paramètres pour un système d'exploitation particulier.
Nom du tag |
Rôle |
J2se |
Permet de préciser les JRE qui peuvent être utilisés par l'application. Les valeurs utilisables par l'attribut version sont 1.2, 1.3 et 1.4. Il est possible de préciser un numéro de version particulier ou d'utiliser le caractère * pour préciser n'importe quel numéro de release. L'ordre des différentes valeurs fournies est important. |
Jar |
Permet de préciser un fichier .jar qui est utilisé par l'application |
Nativelib |
Permet de préciser une bibliothèque utilisé par l'application qui contient du code natif |
Property |
Permet de préciser une propriété système qui sera utilisable par l'application. L'attribut name permet de préciser le nom de la propriété et l'attribut value permet de préciser sa valeur |
Le tag <application-desc> permet de préciser la classe qui contient la méthode main() grâce à son attribut main-class.
Nom du tag |
Rôle |
Argument |
Permet de préciser des arguments à l'application tel qu'il pourrait être fourni sur une ligne de commande |
| Exemple : |
|
Le serveur qui va servir les fichiers doit être configuré pour qu'il associe le type MIME « application/x-java-jnlp-file » avec l'extension .jnpl
Par exemple sous IIS 5, il faut utiliser l'option propriété du menu contextuel du site. Dans l'onglet « En-Tête http », cliquez sur le bouton « Types de fichiers ». Dans le boîte de dialogue « Type de fichiers », cliquez sur le bouton « Nouveau type » si l'association n'est pas présente dans la liste. Une boîte de dialogue permet de saisir l'extension et le type MIME

Le type MIME permet au navigateur de connaître l'application qui devra être utilisée lors de la réception des données du serveur web.
Hormis le code miminum requis par la norme HTML, la seule chose indispensable est un lien dont l'URL pointe vers le fichier .jnpl sur le serveur web.
| Exemple : |
|
Il faut ouvrir un navigateur et saisir l'url de la page contenant le lien vers le fichier jnlp

Java Web Start se lance


Si le fichier jnlp contient une erreur alors un message d'erreur est affiché.

Cliquez sur « Détails » pour obtenir des informations sur l'erreur.

Si l'application nécessite un accès au système et que le fichier jar n'est pas signé, alors un message erreur est affiché :

Si la classe précisée n'est pas trouvée dans le fichier jar indiqué alors un message d'erreur est affiché

Dans cet exemple, pour résoudre le problème il faut indiquer le nom pleinement qualifié de la classe.
Au premier démarrage réussi d'une application, JWS demande si l'on souhaite créer un raccourci sur le bureau.

En cliquant sur le bouton «Oui», JWS créé un raccourci sur le bureau.
| Exemple de raccourci : |
|
L'application se lance

Comme pour les applets, par mesure de sécurité, un petit libellé en bas des fenêtres est affiché indiquant que la fenêtre est issue de l'exécution d'une application Java.
Pour lancer le gestionnaire d'applications, il suffit de double cliquer sur l'icône de « Java Web Start » sur le bureau.


Le gestionnaire d'application permet de gérer les applications en local : il permet de lancer les applications déjà téléchargées sur le poste et les mettre à jour.
Plusieurs petites icônes peuvent apparaître selon le contexte
: une mise à jour de l'application est téléchargeable sur le serveur
: l'application peut être exécutée sans connexion au réseau
: l'application est mise en cache en local
: l'application n'est pas signée
Pour lancer l'application, il suffit de sélectionner l'application concernée et de cliquer sur le bouton « Démarrer ».


Dans les préférences, sur l'onglet « Avancé », cocher la case à cocher « Afficher la console Java »

Il permet aussi de configurer JWS. Par exemple, en cas de problème, il est possible de demander de consigner une trace d'exécution dans un fichier journal. Celui est particulièrement utile lors du débogage.
Il est possible d'enregistrer les actions dans un fichier de log. Pour cela, il faut cocher la case « Consigner les sorties » et cliquer sur le bouton « Choisir le nom du fichier journal » pour sélectionner ou saisir le nom du fichier.
| Exemple : |
|
![]() |
|
La suite de ce chapitre sera développée dans une version future de ce document |
|
|
|
|
|
|
Développons en Java v 0.85 béta | ||
| Copyright (C) 1999-2005 Jean-Michel DOUDOUX |