Java Web Start

Werbung
Java Web Start
Definition, Beispiel, JNLP
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
1
Definition
Technologie zur Auslieferung von Java Anwendungen über das
Internet.
Web Start Anwendungen bieten:
• Einfache Aktualisierung
• On- und offline Ausführung
Startmöglichkeiten:
• Webbrowser
• Desktop Icon, Start Menu
• Java Cache Viewer
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
2
Beispiel Code
import javax.swing.JFrame;
public class First {
public void start() {
JFrame frame = new JFrame("First WebStart Application");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(100, 100);
frame.setVisible(true
true);
true
}
public static void main(String[] args) {
First f = new First();
f.start();
}
}
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
3
Beispiel JNLP
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="6.0+" codebase="http://www.ssw.uni-linz.ac.at/
Teaching/Lectures/PSW2/2007/JavaWS/"
href="first.jnlp">
<information>
<title>First JNLP Application</title>
<vendor>SSW</vendor>
<homepage href="http://www.ssw.uni-linz.ac.at/
Teaching/Lectures/PSW2/2007/JavaWS/index.html"/>
<description>First JNPL Demo Application</description>
<icon href="images/first.jpg"/>
<icon kind="splash" href="splash/first.gif"/>
<offline-allowed/>
</information>
<security><all-permissions/></security>
<resources>
<java version="1.6+"/>
<jar href="lib/first.jar"/>
</resources>
<application-desc main-class="First"/>
</jnlp>
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
4
Beispiel Installieren
Kompilieren
In JAR verpacken
• jar cf <Dateiname>.jar { <ClassDatei>.class }
- z.B.: jar cf first.jar First.class
Signieren
• Evtl. Schlüssel mit keytool –genkey
erstellen
• jarsigner <Dateiname>.jar <Key Alias>
first.jar
- z.B.: jarsigner first.jar mykey
Auf Webserver kopieren
Zur Client-Installation mit Browser aufrufen
Ausführen über:
• Browser
• Java Cache Viewer
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
5
Beispiel
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
6
Java Network Launching Protocol Syntax 1/3
<jnlp>
•
•
•
•
spec: Beschreibt die Spezifikation (Standard: "1.0+").
codebase: Auf diese Basis beziehen sich alle relativen Angaben.
href: URL auf diese jnlp-Datei
<security>, <information>, <resources>, <application-desc>,
<applet-desc>
<security>
• <all-permissions/>: Zugriff auf alle Systemresourcen (Disk, Netz).
<information>
•
•
•
•
<title>Name der Anwendung</Title>
<vendor>Hersteller</vendor>
<homepage href="Homepage der Anwendung"/>
<description>Beschreibung der Anwendung</description>
- kind="one-row | short | tool-tip"
• <icon>
- href="Adresse des Icons"
- kind="splash": Zeigt an das dieses Icon als "Splashscreen" genutzt wird.
• <offline-allowed/>
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
7
Java Network Launching Protocol Syntax 2/3
<resources>
• <jar>
- href="Adresse des Java Archives der Anwendung"
- download="lazy | eager"
• <nativelib>
- href="Adresse der Bibliotheken"
- download="lazy | eager"
• <j2se> oder <java>
- version="1.4+"
- href="http://java.sun.com/products/autodl/j2se"
Kann nur bei exakter Angabe der Version erfolgen (z.B.: version="1.4.2_02")
- java-vm-args
- initial-heap-size="64m"
- max-heap-size="256m"
• <property>: Abfragen mit System.getProperty oder System.getProperties
- name="Name"
- value="Wert"
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
8
Java Network Launching Protocol Syntax 3/3
<application-desc>
• <argument>Argument</argument>
- Kann beliebig oft vorkommen (erstes Vorkommen Argument 1, zweites
Argument2, usw.)
- Diese Argumente werden an main übergeben.
• main-class="Klassenname der Hauptklasse"
- Kann fehlen, wenn im Manifest bereits angegeben.
<applet-desc>
• document-base="Adresse des Applets"
• name="Name des Applets"
• main-class="Hauptklasse des Applets"
- Kann fehlen, wenn im Manifest bereits angegeben.
• width="Breite"
• height="Höhe"
• <param>
- name="Name"
- value="Wert"
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
9
Zusammenfassung
Infrastruktur zur Auslieferung
Einfache Updates
Unterstützung für Anwendungen und Applets
Links
• Allgemein
- http://java.sun.com/products/javawebstart/
• JNLP
- http://jcp.org/en/jsr/detail?id=56
- http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html
• Jar-Manifest
- http://java.sun.com/javase/6/docs/technotes/guides/jar/jar.html#JAR%20Manifest
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
10
Herunterladen