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 Link
• Desktop Icon (Link)
• Web Start Application Manager
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
2
Beispiel Code
import java.awt.Frame;
import java.awt.event.*;
public class First extends Frame implements WindowListener {
public First() {
setSize(100, 100);
addWindowListener(this);
show();
}
/* WindowListener methods */
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void ...
public static void main(String args[]) {
First f = new First();
}
}
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="utfencoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/swe2/jaws/"
"
codebase="
href="first.jnlp">
<information>
JNLP Application</title>
</title>
<title>First
<title>
<vendor>SSW</vendor>
</vendor>
<vendor>
<homepage href="http://localhost:8080/swe2/first.jnlp"/>
"/>
href="
<description>First
Demo Application</description>
</description>
<description>
"/>
<icon href="images/first.jpg"/>
href="
"/>
<icon kind="splash" href="splash/first.jpg"/>
href="
<offline<offline-allowed/>
</information>
<security><all<security><all-permissions/></security>
<resources>
<j2se version="1.4+"/>
"/>
version="
<jar href="lib/first.jar"/>
"/>
href="
</resources>
<application"/>
<application-desc mainmain-class="First"/>
class="
</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
• Ev. Schlüssel mit keygen –genkey erstellen
• jarsigner <Dateiname>.jar <Key Alias>
- z.B.: jarsigner first.jar mykey
first.jnlp
Auf Webserver kopieren
Zur Client-Installation mit Browser aufrufen
first.jar
• http://localhost:8080/swe2/jaws/first.jnlp
Ausführen über:
• Browser
• WebStart
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>
- version="1.4+"
- initial-heap-size="64m"
- href="http://java.sun.com/products/autodl/j2se"
Kann nur bei exakter angabe der Version erfolgen (z.B.: version="1.4.2_02")
• <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://java.sun.com/j2se/1.4.2/docs/guide/jws/developersguide/syntax.html
• Jar-Manifest
- http://java.sun.com/j2se/1.4.2/docs/guide/jar/jar.html#Manifest%20Specification
JOHANNES KEPLER UNIVERSITY LINZ
Research and teaching network
Pratikum SWE 2
© M. Löberbauer, T. Kotzmann, H. Prähofer
10
Herunterladen