Mit Hilfe von Javabeans sollen Anwendungsentwickler komplexe Anwendungen aus
konfigurierbaren Basisbausteinen zusammensetzen können. Sie
brauchen i.a. keine speziellen Javakenntnisse zu haben, sondern nur
nur Kenntnisse des zu entwickelnden Systems.
Bausteinentwickler können zusätzliche Javabeans
erstellen; auch Ankauf ist möglich.
Es gibt 'sichtbare' Javabeans mit
einer Schnittstelle zur grafischen Oberfläche und
'unsichtbare' Javabeans, die bestimmte Aufgaben im Hintergrund erledigen,
z.B einen Zugang zu einer Datenbank ermöglichen.
Allen Javabeans gemeinsam ist Unterstützung von:
Die Anpassung (Customizing) von Properties (Daten oder Eigenschaften wie
Vorder- und Hintergrundfarbe einer grafischen Oberfläche)
einer Javabean
geschieht über ein Property-Fenster, in dem die eingestellten Werte
angezeigt und gegebenfalls verändert werden.
Die für die Anwendung verwendbaren Methoden der Javabeans sind normale
Java-Methoden, die von anderen Objekten aufgerufen werden können.
Standardevents wie ActionEvent erben von Klassen aus dem package
java/awt/event,
das die Grafikbehandlung in Java unterstützt;
vom Bausteinentwickler erstellte UserEvents erben vom
java/util/EventObject.
Der Empfänger muss java/awt/event/ActionListener bzw.
java/util/EventListener oder einen anderen eventspezifischen Listener
implementieren.
Die Beanbox dient als Werkbank zur Erstellung bzw. Anpassung
und zum Test von
zusammengesetzten Anwendungen [#!jbtut!#]. Sie ist mit einer Beispiel-Javabean (Juggler)
und zwei Buttonbeans in Abbildung [#!klui00!#] dargestellt.
In der Beanbox werden in einem Toolbox-Fenster Javabeans, z.B.
Bausteine für Datenbankzugriffe u. ä. zur Verfügung gestellt. In einem
weiteren Fenster, dem Werkbank-Fenster können die über drag&drop aus der
Toolbox herübergezogenen Bausteine verknüpft werden.
Nach dem Laden der Beanbox werden drei
Fenster aufgemacht (siehe Abbildung (das Fenster Method
Tracer
gehört hier zum Juggler)) :
Es gibt hier den Design-Modus, in dem Javabeans angepasst und zu einer
Anwendung verbunden werden, sowie den Runtime-Modus, in dem die Anwendung
getestet wird. Im Design-Modus sind Sicherheitsrestriktionen abgeschaltet,
ein Test kann hier nur die gröbsten Fehler anzeigen. In der vorliegenden
Arbeit wird auf Security-Auflagen nicht eingegangen, da dies den Rahmen der
Fopra sprengen würde [#!jb101!#].
Das Menü Edit erlaubt die gerichtete Verbindung einer SourceBean zu einer
TargetBean (s. Abbildung );
z.B. über einen ActionEvent zu einer TargetBean-Methode, die den Event
empfängt, wie
z.B actionPerformed oder eine andere public-Methode, die die gleiche
Schnittstelle wie actionPerformed(ActionEvent e) oder keinen
Parameter hat.
In der Beanbox kann mit dem edit-Menü erkannt werden,
Durch Anklicken der Source-Bean (mit der Maus) wird diese aktiv; dies wird durch eine Umrandung angezeigt. Aus dem Edit-Menü kann ein Event (z.B. ActionEvent, PropertyEvent oder MousePressedEvent) gewählt werden, mit dem die Target-Bean verständigt werden soll.
Danach wird im Hintergrund durch Anklicken der gewünschten Target-Bean die
Verbindung
hergestellt. Dies wird durch einen roten Strich dargestellt . Ein Fenster
geht auf,
in dem man die zu aktivierende Methode des Targets auswählt.
Daraufhin wird vom HookupManager, einem Supportprogramm der Beanbox, durch
Schreiben in ein File ein eindeutiger Adapter-Baustein Hooknnn erstellt.
(Näheres siehe Abschnitt 3.3)
Der Entwickler kann selbst Beans erstellen. Diese werden in ein jar-File
gebracht und im Verzeichnis BDK1.1/jars abgelegt. Damit stehen sie für
die
Beanbox bereit und können mit File/loadjar in die Toolbox geladen werden.
Von da werden sie mit drag&drop auf die Beanbox-Werkbank gebracht und
zusammen mit anderen zu einer Gesamtanwendung vereinigt.