Applettes et Java Web Start

Slides:



Advertisements
Présentations similaires
Projet LOT Mini-site web « Looking For You 1 »
Advertisements

CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 8 Langage HTML.
GESTION D’IMPRISSION SOUS WINDOWS & LINUX
- Formation Flex (Introduction)‏ - Formation Flex 1 1.
A propos de java Sun, fin 1995 C++ nettoyé semi-interprété
ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
Architecture. Architecture Enjeux Les Enjeux Trouver une solution e-Business Accessible à partir d’un navigateur Web Accédant au système via un Portail.
Une solution personnalisable et extensible
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
Exposé de Système - Informatique et Réseau
Premiers pas avec Apache Ant Par Guillaume BITAUDEAU Le 16/10/2003.
Page 1 Les applets Jacques Lonchamp. Page 2 Présentation Une applet est téléchargée à partir dune machine distante qui fournit le code. Ce chargement.
Cours 6 : XML et les architectures N-tiers – Tier Applicatif
version Beta Marie Calberg Ninni Louhelainen SLFN7

Le modèle de sécurité de Java 2
JSP Java Server Pages. Introduction Afin dimplémenter les règles métiers, coté serveur dans une application Web, larchitecture Java propose trois solutions.
Servlet JAVA.
Projet J2EE Maverick XMLBeans Garcel Jean-Baptiste – Le Loc Martin – Muller Thibaut.
Présentation des frameworks pour Java EE
Développement dun simulateur dinterface graphique à distance Présenté par Michaël Delhaye Promoteur : Jean Vanderdonckt.
Présentation application GRBL France Telecom
Installation OpenBravo
Les outils d’intégration continue
Exposé Duan Kun Alexandra Moraru M2 Pro Traductique, INALCO
Présenté par : Kalleli Dhouha
Module 1 : Préparation de l'administration d'un serveur
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
SERVLETS PRESENTATION
Applications Chapitre B17 et C18
ECF 5 PRESENTATION « BULLE APPLICATIVE »
Interaction audio sur le site web du LIA
Module : Technologies des serveurs réseaux : Webmin
Fabien Sanglard – Yang Cao
Laboratoire d'Informatique de l’Université de Franche-Comté
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Citrix® Presentation Server 4.0 : Administration
BitDefender Enterprise Manager. BitDefender Enterprise Manager – protection centralisée pour votre réseau Principales fonctions Fonctions spéciales (WMI)
Présentation 1. Consumer/Soho Small BusinessMidsize Business CorporateEnterprise Windows Home Server 1-4 employés 1-4 PCs 1-4 employés 1-4 PCs 5-49 employés.
Installation des programmes
Cours 12 Contenu du cours : RMI : a quoi ca sert Comment ca marche
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Module 2 : Configuration de l'environnement Windows 2000.
1 CSI 2532 Lab6 Application Web et DB Février 27, 2012.
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Animateur : Med HAIJOUBI
M2 – MIAGE/SID Servlet M2 – MIAGE/SID
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
Module I-C3 : Applications Web IUT R&T 2e année
APPLETS. Applets : généralités Applet : application s'exécutant dans une page HTML Le ByteCode (fichiers.class) est téléchargé depuis un serveur. L'exécution.
Cours de programmation web
« Le plaisir du chercheur : retrousser les jupes de la nature » Jean Rostand Proposer une « Interface Homme Machine » en utilisant une technologie Client.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Les sockets.
S'initier au HTML et aux feuilles de style CSS Cours 5.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
S'initier au HTML et aux feuilles de style CSS Cours 5.
Cours MIAGE « Architectures Orientées Services »Henry Boccon-GibodCours MIAGE « Architectures Orientées Services »Henry Boccon-Gibod 1 Architectures Orientées.
Initiation au JavaScript
Les langages de programmation
Les Servlets Présentation Cycle de vie Principe de fonctionnement
HTML 4 et CSS 2 Cours 2 Faire acquérir à l'étudiant des connaissances de niveau intermédiaire en programmation HTML et de l'initier aux feuille de style.
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
1 Démo SoftGrid. Le Séquenceur SoftGrid Utilisation d’un « packageur » SoftGrid Possibilité de “séquencer” en ligne de commande (CLI) Existence d’outils.
Séminaire de rentrée cours de programmation web & Wordpress
1Boulogne Informatic Club PRESENTATION DE WINDOWS 10.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Transcription de la présentation:

Applettes et Java Web Start Exposé technique du 2 déc. 2008 Applettes et Java Web Start Délégation et déploiement R. M. Ingénieurs 2000 IR3

Sommaire Les applettes Présentation Créer et exécuter une applette La sécurité des applettes Les droits et les interdictions. Lever ces interdictions. Java Web Start (JWS) Déployer une application ok La sécurité

Les Applettes, c’est quoi ? Programme Java qui s’intègre dans une page Web. Interactivité. Graphique animé, lecteur vidéo, etc. Exécution du code côté client. Répartition de charge Multiplateforme et « multinavigateur ». Principale concurrent : Flash

3 – Exécution de Applet.class Processus de chargement 1- Demande page.html 2- Demande Applet.class page.html + Applet.class 3 – Exécution de Applet.class L’applette est chargée depuis un serveur puis exécutée sur le poste client.

Comment lire une Applette ? Pour l’insérer dans une page Web <OBJECT> (valide W3C) <APPLET> (préconisée par SUN) Pour l’exécuter Un navigateur AppletViewer (JDK) appletviewer http://.../MonApplet.html Toutes les applettes de la page sont exécutées

La balise <applet> <applet codebase= " http://localhost:8080/Projet/" code="MonApplet.class"  archive="archive1.jar, archive2.jar"  name="A1" width="200" height="200"> <param name="arg1" value="value1"  /> <param name="arg2" value="value2"  /> </applet>

Comment créer une applette ? public class MyFirstApplet extends Applet { @Override public void init() {…} @Override public void start() {…} @Override public void stop() {…} @Override public void destroy() {…} @Override public void paint() {…} } Cycle de vie AppletViewer : init()  start()  stop()  destroy() Navigateurs récents: init()+start()  stop()+destroy()

Différents dialogues possibles (1/2) Entre applets d’une même page getAppletContext().getApplet("A1"). javaMethod() De JavaScript à une applet document.applets[‘A1'].javaMethod() Des applets à JavaScript Ajouter l’attribut mayscript="true" Importer plugin.jar (JRE) new JSObject.call("javascriptMethod")

Différents dialogues possibles (2/2) Avec le serveur qui héberge l’applette URLConnection con = new URL(getCodeBase(), «ServletName »).openConnection() OutputStream stream = con.getOutputStream()

Sécurité des applettes La SandBox Protéger le client Pas d’accès aux fichiers, périphériques et au réseau du client. Lève SecurityException Accès non restreint ? Modifier les politiques de sécurité du client Signer numériquement l’application.

Les politiques de sécurité Etendre les droits Un fichier côté client grant codeBase "http://localhost:8080/AppletServlet/MstscNS.jar" { permission java.io.FilePermission "c:\\windows\\system32\\mstsc.exe", "execute"; }; A éditer à la main ou avec policytool (JRE). Prendre en compte la nouvelle politique appletviewer –H-Djava.security.policy=« mypolicy » http://.../file.html La placer dans {USER.HOME}/.java.policy

Lever les interdictions Signature numérique Lever les interdictions Archiver l’application Créer un certificat keytool -genkey -keystore myKeystore.ks -alias mykey Signer l’archive jarsigner –keystore myKeystore.ks myappli.jar mykey

Conclusion Avantages Technologie mature S’intègre facilement S’affranchir des limitations de HTML Bibliothèques Java consistantes Les applettes ne sont pas mortes Java FX

Java Web Start : Présentation Déploiement d’applications ou d’applettes Java Téléchargement des données. Installation / Exécution / Désinstallation Intégration Mises à jour automatiques A l’initiative du client. Différent de System Management Server Equivalent à ClickOnce

Avantages Java Web Start La portabilité La maintenance La sécurité Les optimisations Mises à jour des fichiers anciens seulement (jardiff) Seules les ressources utilisées sont téléchargées Mises en cache (exécution hors ligne, lancement accéléré)

1 Demande Descriptor.jnlp 2 Client JWS demande Application.jar Processus de déploiement 1 Demande Descriptor.jnlp 2 Client JWS demande Application.jar Descriptor.jnlp + Application.jar 3 Installation / MAJ 4 Exécution L’application est téléchargée, installée puis exécutée sur le poste client

Déployer une application Aucune modification du code n’est nécessaire. Archiver l’application Créer fichier de lancement au format JNLP Ajouter le type MIME « application/x-java-jnlp-file jnlp ». Au niveau du serveur Web (Apache : fichier « mime.types ») Placer les archives + JNLP sur le serveur Web

Le fichier JNLP Structure <jnlp spec="6.0+" <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE jnlp PUBLIC « -//Sun Microsystems, Inc//DTD JNLP Descriptor 6.0//EN" « http://java.sun.com/dtd/JNLP-6.0.dtd"> <jnlp spec="6.0+" codebase="http://localhost:8080/TestJWS"> <information>(...) </information> <security> (...) </security> <resources> (...) </resources> <application-desc> (...) </application-desc> <applet-desc> (...) </applet-desc> </jnlp>

Le fichier JNLP Information <information> <title>Nom de l’application</title> <shortcut><desktop /></shortcut> <homepage href="http://.../expose.html"/> <description> (…) </description> <icon kind="splash" href="img/ig2k_logo.png" /> <offline-allowed/> </information>

Sécurité, Update et Resources Le fichier JNLP Sécurité, Update et Resources <security> <all-permissions /> </security> <update check=“always" policy="prompt-update"/> <resources> <java version="1.6+" max-heap-size="64m"/> <jar href="Mstsc_version_JWS.jar" main="true" download="eager"/> </resources>

Le fichier JNLP Application <application-desc main-class="MaClassePrincipale"> <argument>arg1</argument> <argument>arg2</argument> </application-desc> Ou bien … <applet-desc main-class="MonApplet" name="test"  width="320" height="240"> <param name="key1" value="value1" /> <param name="key2" value="value2" /> </applet-desc>

Lancer une application Java Web Start Pré-requis : Client JWS (inclus dans les JRE 1.4+) Avant installation Depuis un navigateur Web <a href=«  AppliDescriptor.jnlp»>Start Appli</a> En ligne de commande javaws HTTP://.../AppliDescriptor.jnlp Après installation À partir d’un gestionnaire d’applications À partir d’un raccourci créé sur le bureau

Lancer une application Java Web Start Le gestionnaire d’applications javaws -viewer

Java Web Start : Sécurité Identique aux applettes Exécution dans la SandBox Etendre les droits Mêmes solutions : Modifier les politiques de sécurité Signer numériquement les archives Nouvelle solution : l’API JNLP

Java Web Start : Sécurité L’API JNLP (1/2) Etendre les droits sans signature numérique Librairie nécessaire « javaws.jar » (JRE) Fournit 11 services dont : PrintService : accès à l’imprimante FileOpenService/FileSaveService : accès aux fichiers en lecture / écriture Etc.

Java Web Start : Sécurité L’API JNLP (2/2) FileOpenService fos = (FileOpenService) ServiceManager .lookup("javax.jnlp.FileOpenService"); FileContents[] fcs = fos.openMultiFileDialog(null, null); for (FileContents file : fcs) System.out.println(file.getName()); // lecture possible

Conclusion Facile à mettre en place Technologies complémentaires Migration d’une applette en application desktop Solutions gratuites !

Merci de votre attention. Questions ? R. M. Ingénieurs 2000 IR3