- Java-Applet
-
Ein Java-Applet ist ein Computerprogramm, das in der Programmiersprache Java verfasst wurde und normalerweise in einem Webbrowser ausgeführt wird. Sie 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.
Inhaltsverzeichnis
Java-Applets im Internetbrowser
Ü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-Plugins 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
(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)
- Internet Explorer von Microsoft bis Version 5 (Java-1.1.4 ohne RMI/JNI). Microsoft hat die Weiterentwicklung und den Vertrieb der MSJVM eingestellt.
- Netscape Navigator 3.x und 4.x (Java-1.1.5)
Beispiele für Internetbrowser ohne integrierte Java-VM
(Um mit diesen Browsern Applets nutzen zu können muss eine VM nachinstalliert werden, siehe Sun Java VM für Browser)
- 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
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 Methodemain()
, 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 Appletstop()
– 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
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
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.[1]
Zu beachten ist auch, dass Inhalte von Java-Applets nicht von Suchmaschinen erfasst werden können.
Siehe auch
- Im Gegensatz zum Applet läuft eine „Java-Anwendung“ als eigenständiges Java-Programm außerhalb des Browsers.
Einzelnachweise
Weblinks
- Links zum Thema Java-Applet im Open Directory Project
- http://java.sun.com/getjava aktuelle Java-Laufzeitumgebung (JRE) mit Browserplugin (Installation)
- http://java.sun.com/ Java Sites bei sun
- http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/components/applet.html Anleitung zum Schreiben von Applets
- Java-Applet im DSEWiki. Eine Wiki-Seite mit weiterführenden Informationen und Links zum Thema Java-Applets.
Wikimedia Foundation.