3 Das Java-Beans Development Kit (BDK)
3.1 Einführung
Das BDK ist keine vollständige grafische Entwicklungsumgebung wie sie vielleicht aus
Delphitm oder Visual Basictm bekannt ist. Es ist vielmehr ein einfacher
"Container" in welchem Beans erstellt, miteinander verknüpft, getested und
verpackt werden können, und dies plattformunabhängig. Das BDK greift dabei auf die in
Kapitel 2 erläuterten Vereinbarungen zurück und "lernt"
von dem erstellten Programm, welche Fähigkeiten es besitzt und wie es anzusprechen ist. Wird
dem Container (auch BeanBox genannt) eine weitere Bean hinzugefügt, wird versucht die
beiden Beans miteinander zu verknüpfen. So können im Prinzip komplexe Anwendungen im
BDK zusammengestellt werden, ohne auch nur eine Taste zu berühren. Sun legt aber
ausdrücklich Wert auf die Feststellung, daß das BDK gar nicht zum Entwickeln
großer Appliktionen gedacht ist, sondern wirklich zum erstellen und testen einzelner
(oder weniger) Komponenten [9] [9].
Die Spezifikation nennt zwei Szenarien für den Einsatz des BDK. Die Entwicklung und das
Zusammenfügen von Beans im Design-Modus, und die praktische Benutzung im Runtime-Modus
[10] [10].
Diese Unterscheidung ergibt sich aus der Rolle von Beans als wiederverwendbare Komponenten.
Zuerst müssen Beans von Grund auf neu entwickelt und/oder aus bereits vorhandenen anderen
Beans zusammengefügt werden. Dazu benötigen Entwickler viel mehr Informationen als
für ihren späteren Einsatz. Das BDK stellt auch keinen Standard dar, wie eine
JavaBean-Entwicklungsumgebung auszusehen hat. Sogar das Layout der Komponentenanordnung kann von
Umgebung zu Umgebung unterschiedlich sein. Auch mit einer geänderten und erweiterten
Funktionalität ändert sich aber nichts Grundlegendes an den allgemeinen Arbeitsweisen,
wie sie die BeanBox vorstellt.
Abbildung 3.1: Designtime vs. Runtime JavaBean; Quelle: 'Client/Server-Programming with Java and Corba' [11] [11]
3.2 Aufbau des BDK
Das BDK (im übrigen selbst in Java implementiert!) ist nach dem Start in drei Fenster
unterteilt:
der ToolBox, welche Beispielkomponenten enthält und in die eigene Komponenten
eingefügt werden können
der BeanBox, ein Container-Panel in dem Komponenten plaziert und gestested werden
können
dem Property-Sheet. Hier werden alle Eigenschaften der angewählten Komponente
angezeigt (vgl. Abb. 3.2: die Properties des gesammten BeanBox-Panels sind sichtbar).
Abb. 3.2: Das Beans Development Kit - mit drei, direkt nach dem Start eingefügten Komponenten
Die BeanBox ist der wichtigste Teil des Paketes. Sie zeigt sich als eine primitive graphische
Oberfläche in der die Beans-Komponenten aus der ToolBox plaziert werden um ihre Funktionalität
zu testen. Es können die Eigenschaften der Beans verändert werden (Property-Sheet) und
Bindungen zwischen Ereignissen und Methoden anderer Beans hergestellt werden. Die ToolBox
enthält ausschließlich Komponenten aus dem bdk/jars/-Verzeichnis (sofern das BDK so
installiert wurde). Eigene Komponenten können demzufolge durch einfaches Kopieren von
*.jar-Files in dieses Verzeichnis der ToolBox hinzugefügt werden.
3.3 Die Funktionen des BDK
Die möglichen Bearbeitungsfunktionen in der BeanBox sind:
Beans mit Drag&Drop von der ToolBox in das "Compositions"-Fenster ziehen
Beans verschieben und interaktiv ihre Größe ändern
die exportierten Properties bearbeiten
eigene Customizer zur Konfiguration einer Bean aufrufen
einen Event-Source mit einem Event-Handler kombinieren
Bound-Properties verschiedener Beans kombinieren
die eingesetzten Beans aus dem Composition-Fenster komplett speichern und wieder einlesen
einen Introspection-Report eines Beans ausgeben
neue Beans aus JAR-Archiven einlesen
ein lauffähiges Applet erzeugen.
Die wesentlichen Funktionen wie das Verknüpfen von Komponenten oder das Abrufen der Events
geschieht über das Menü der BeanBox. Eine genaue Beschreibung ist Aufgrund der wenigen
Funktionen nicht erforderlich. Die Menüs sind durchgehend "selbstsprechend"
geführt und sollten selbst für Programmieranfänger verständlich sein.
Abb. 3.3: Event-Menü der BeanBox
3.4 Beans speichern: Java-Archive
Java-Archive (erkennbar an der Dateiendung .jar) sind mit dem JDK1.1 eingeführt
worden. Auf Binärebene entsprechen sie den allseits bekannten ZIP-Archiven. Das
JAR-Packformat wurde eingeführt um dem Anwender eine leichte Möglichkeit zu geben,
Java-Beans zu verpacken. Viele Beans enthalten neben den notwendigen Klassen auch Grafiken usw.
Es ist äußerst lästig eine evtl. größere Menge von Dateien einzeln zu
laden und zu starten. Das JAR-Format ermöglicht das Laden aller Klassen und notwendigen
Grafiken in einem File. Die BeanBox bietet im File-Menü die Option eine getestete
Bean sofort als JAR-Archiv abzuspeichern. In dem JAR werden dann neben den Klassen z. B. auch vom
BDK erstellte Metainformationen gespeichert. Im Verzeichnis der JAR-Datei wird zusätzlich
ein *.html-File gespeichert, welches den direkten Aufruf der Bean aus dem
Appletviewer oder einem Browser unterstützt.*
*: Der Ende April 1998 erschienene Netscape Navigatortm 4.05 und der
aktuelle Sun HotJavatm-Browser unterstützen derzeit als einzige dieses Feature
vollständig! Achtung: Die Version 4.05 ist nun in verschiedenen (Unter-)Versionen auf
den Servern. Alle älteren Browser und der Internet Explorertm V4 beherrschen
weder die aktuelle JDK1.1-API noch das JAR-Format!