Java-Applet

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Java-Applet ist ein Computerprogramm, das mittels Java-Technik erstellt, und normalerweise in einem Webbrowser ausgeführt wird. Applets wurden eingeführt, um Programme in Webseiten ablaufen lassen zu können, die im Webbrowser (auf der Client-Seite) arbeiten und direkt mit dem Benutzer interagieren können, ohne Daten zum Server senden zu müssen. Java-Applets waren Ende der 1990er Jahre mit ein Grund für den Erfolg und die schnelle Verbreitung von Java.

Neben Applets existieren auch Servlets; das sind ebenfalls Java-Programme, die allerdings auf dem Server ausgeführt werden.

Java-Applets im Internetbrowser[Bearbeiten]

Üblicherweise werden Java-Applets von HTML-Seiten aufgerufen. Um sie ausführen zu können, muss der jeweilige Webbrowser über eine entsprechende Java-VM verfügen. Diese VM, die Laufzeitumgebung für das Java-Applet, kann entweder Teil des entsprechenden Browsers sein oder in Form eines Java Plug-ins nachträglich installiert werden (z. B. JRE von Oracle). Eine weitere Möglichkeit besteht darin, dass der Browser – wie im Fall von Opera – direkt mit der VM in Verbindung tritt, also ohne Umweg über ein Plugin.

Beispiele für Internetbrowser mit integrierter Java-VM[Bearbeiten]

(Der Funktionsumfang dieser VMs entspricht nur der JDK-Version 1.1, sie sind aus heutiger Sicht veraltet. Eine aktuelle VM lässt sich aber nachinstallieren, siehe Weblinks)

Beispiele für Internetbrowser ohne integrierte Java-VM[Bearbeiten]

(Um mit diesen Browsern Applets nutzen zu können, muss eine VM nachinstalliert werden, siehe Java Plug-in[1])

  • Mozilla und alle darauf basierenden Browser wie Netscape Navigator 6.x und 7.x, Mozilla Firefox
  • Opera
  • Safari
  • Auch der Internet Explorer kann dazu befähigt werden, auf die externe VM zuzugreifen. Ein Vorteil besteht z. B. darin, dass dadurch eine modernere VM zur Verfügung steht, da die standardmäßig verwendete MSJVM veraltet und fehlerbehaftet ist.

Appletprogrammierung[Bearbeiten]

Die Einbindung des Applets in den HTML-Code von Webseiten erfolgt mit dem OBJECT-Element, dem APPLET-Element oder dem EMBED-Element. Alle Java-Applets werden von der Java-Klasse java.applet.Applet abgeleitet. Sie verfügen unter anderen über die folgenden Methoden, jedoch nicht über eine Methode main(), wie sie für Java-Anwendungen benötigt wird.

  • init() – wird genau einmal aufgerufen, wenn das Applet erstmals in den Browser geladen wird.
  • start() – wird jedes Mal aufgerufen, wenn das Applet sichtbar wird.
  • paint(…) – Zeichenmethode für die Anzeigefunktionen des Applet
  • stop() – wird jedes Mal aufgerufen, wenn das Applet verdeckt wird, z. B. weil das Browser-Fenster von einem anderen Fenster überdeckt wird.
  • destroy() – wird aufgerufen, wenn das Applet aus dem Hauptspeicher entladen wird.

Für die Programmierung der Benutzeroberfläche können die beiden Techniken Swing oder AWT verwendet werden. Jedoch ergibt sich die Einschränkung, dass das in die HTML-Oberfläche eingebettete Fenster nicht programmgesteuert geschlossen werden kann, man kann aber zusätzliche Fenster öffnen.

Sicherheit[Bearbeiten]

Applets werden auf dem Rechner des Anwenders ausgeführt und stellen daher – wie jedes lokal ausführbare Programm – ein Sicherheitsrisiko dar (Java Drive-By Exploit). Da die Applets in einer abgeschotteten Laufzeitumgebung (Sandbox) laufen, ist dieses Risiko jedoch gut beherrschbar. Ein Sicherheitsrisiko durch „böswillige“ Applets besteht nur, wenn die Sandbox fehlerhaft ist.

Einsatzbereiche, Vorteile und Nachteile[Bearbeiten]

Die Applet-Technologie bietet dem Programmierer unter Berücksichtigung der Sicherheitsregeln den vollen Funktionsumfang aus der J2SE-API und eignet sich sehr gut für Anwendungen in gepflegten Unternehmensnetzen, bei denen alle Anwender die gleiche Java-Version haben. In Zusammenarbeit z. B. mit Servlets oder Application Servern lassen sich komplexe Anwendungen erstellen, die auf diese Weise auf die Installation lokaler Software verzichten und ohne großen Aufwand mit unterschiedlichen Browsern und Betriebssystemen laufen können.

Ein Nachteil für den Einsatz im Internet und an langsamen Netzwerkanschlüssen ist aber die Größe der JRE mit 12,5 MB (Stand JRE 6.0). Ein weiterer Nachteil ist die vergleichsweise lange Initialisierungszeit für die JVM, wenn diese noch nicht geladen ist, sowie die Zeit, um das Applet herunterzuladen und zu initialisieren. Mit der Einführung des sogenannten Java-Kernels in Java SE 6 Update 10 kann die Ladezeit der JVM jedoch deutlich verkürzt werden.[2]

Zu beachten ist auch, dass Inhalte von Java-Applets nicht von Suchmaschinen erfasst werden können.

Hybrides Applet[Bearbeiten]

Indem ein Java-Applet um eine main-Methode erweitert wird, kann es per Doppelklick auf die entsprechende jar-Datei auch als gewöhnliche Java-Anwendung gestartet werden. Dies ist einerseits für Testzwecke praktisch, da das Applet nicht in einen Webbrowser eingebunden werden muss, zum anderen wird eine Java-Anwendung nicht in einem geschützten Bereich ausgeführt, sondern erhält (abgesehen von lokalen Sicherheitsbeschränkungen) grundsätzlich Vollzugriff auf das System. Letzteres kann jedoch zum Nachteil werden, da ein bösartiges Applet somit problemlos Schadcode ausführen kann.

Einsatz von Applets[Bearbeiten]

Neben vielen Einsätzen in firmeninterner Software finden Applets auch Einsatz in öffentlich umfangreich genutzter Software. Beispiele hierfür sind:

  • Fotodienstleister, welche den Upload und die Bearbeitung mit Applets abwickeln,
  • ELSTER Online

Siehe auch[Bearbeiten]

  • Im Gegensatz zum Applet läuft eine „Java-Anwendung“ als eigenständiges Java-Programm außerhalb des Browsers. Allerdings kann man das im Browser funktionierende Applet auch von einer eigenständigen Anwendung aus geeignet aufrufen und das Applet dadurch mehrseitig nutzen.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Java Plug-in Technology
  2. Java Kernel FAQ