> Inhalt: Einführung in das Programmieren mit Java > Inhalt: Einführung in das Programmieren von Enterprise Java Beans |
|
Letzte
Bearbeitung dieses Dokuments: |
Voraussetzungen für das Verständnis dieses Dokuments:Grundkenntnisse in der Programmierung von Java (Klassen, Methoden, Schleifen) oder anderer Objekt-Orientierter Programmiersprachen (z.B. C++, Modula-2, Pascal). Kenntnisse im Umgang mit Eclipse; empfohlen ist das Durcharbeiten der Einführungsbeispiele für das Programmieren mit Java. |
Ungefährer Zeitbedarf zum Durcharbeiten dieses Dokuments:Arbeitszeit:
|
Diesem Dokument enthält die Anleitungen um die Dateien, die für den Einsatz auf einem Java-Application-Server (JAS) und für die Schnittstellen-Definition für Client-Programme erforderlich sind, zu erstellen.
Zum Erstellen der erforderlichen Dateien wird die Möglichkeit des 'Project archives', die das JBoss-IDE-Plugin für Eclipse (Installation siehe Eclipse Plugins installieren > Installation des JBoss-IDE-Plugins) bietet, genutzt.
Die
damit erstellte JAR-Datei (Java-ARchiv) wird anschließend in
einem JAS (JBoss
in diesem Tutorial) 'deployed'; das heißt die Datei wird in das
dafür vorgesehene Verzeichnis des JAS kopiert und so an den JAS
'übergeben'.
Damit können Client-Programme (die noch
erstellt werden müssen) auf die Dienste des bisher erstellten
EJB zugreifen.
Als
letzter Teil dieses Schrittes werden jene Dateien, die die
Schnittstellen für die Client-Programme definieren, in eigene
JAR-Dateien gepackt.
Diese Dateien werden dann von den (noch zu
erstellenden) Client-Programmen importiert.
Vorigerer Schritt: XDoclet
Struktur
der JAR-Datei für den JAS
Vorbedingungen
'Project
archives' anlegen
Dateien
mit Java-Klassen hinzufügen
META-INF
hinzufügen
JAR-Datei
neu erstellen
JAR-Datei an den JAS
übergeben ('deploy')
JAR-Datei
für Client-Programme erstellen
Weitere
Schritte und verwandte Dokumentation
Nächstes Tutorial: Client-Programm für Einfache Session Bean (Java_EJB_02)
JAR-Dateien
enthalten Unterverzeichnisse mit Dateien in komprimierter (gepackter)
Form.
Der Algorithmus zum Komprimieren der Dateien kann nicht
beeinflußt werden und ist auch nicht von Interesse.
Die Struktur der Unterverzeichnisse folgt zwei Vorgaben:
Die
Verzeichnis-Struktur gibt die Definition der Java-Packages
wider.
Damit wird dem JAS ermöglicht, einzelne Java-Klassen
mit EJB (Enterprise Java Beans) zu finden und deren Methoden
auszuführen.
Ein
Verzeichnis mit dem Namen 'META-INF' enthält eine Datei mit
XML-Strukturen zur Festlegung der Zuordnung von Java-Klassen zu
symbolischen Namen für die Verwendung durch den JAS,
Datenbanken und Client-Programme.
Weiters können im
Verzeichnis 'META-INF' noch weitere Dateien mit XML-Strukturen, die
spezielle Konfigurations-Anweisungen für einzelne JAS und
Datenbank-Systeme enthalten, vorhanden sein.
Die Theorie der Referenzierung von internen zu externen Namen, die den Einsatz von EJB so flexibel macht, ist im Detail im Dokument (noch zu schreiben) beschrieben.
Schritt 3 XDoclet ausgeführt – und dessen Vorbedingungen auch.
Wenn das bearbeitete Project das Erste, für das JAR-Dateien erstellt werden sollen, im Eclipse-Workspace ist (so wie bei diesem Tutorial), muß zuerst die View für die 'Project archives' eröffnet werden. Das geschieht über die Auswahl Window > Show View > Other... . |
|
Im darauf hin erscheinenden Fenster (Show View) wird 'Project archives' ausgewählt. 'Project archives' ist innerhalb der Gruppe 'JBoss Tools' zu finden und wenn sie Auswahl nicht sichtbar ist, kann sie durch anklicken des kleinen Dreiecks links neben 'JBoss Tools' sichtbar gemacht werden. Anschließend wird die Schaltfläche [ OK ] angeklickt um einen neuen Bereich im unteren Bereich zu öffnen. |
|
Durch Anklicken des neuen Bereiches mit der rechten Maustaste wird ein Kontext-Menu angezeigt. Mit der Auswahl von New Archive > EJB JAR wird ein Fenster (New EJB JAR) geöffnet mit dem Parameterisierungen für die zu erstellende Datei vorgenommen werden können. |
|
Die vorgegebenen Einstellungen werden beibehalten. Nach dem Anklicken der Schaltfläche [ Next > ] wird eine Vorschau mit dem Namen und der Struktur der Datei mit der Erweiterung 'jar' angezeigt. Die Datei ist derzeit noch leer; für sie werden später die Regeln, was in diese Datei gepackt werden soll, festgelegt. Durch das Anklicken der Schaltfläche [ Finish ] wird die Datei erstellt. |
|
Die neu erstellte Datei ist jetzt im Bereich des 'Project archives' gelistet. |
|
Dateien
mit Java-Klassen hinzufügen
Die Java-Klassen inklusive der durch die Java-'package's definierten Verzeichnis-Struktur werden in das EJB aufgenommen. Für das Hinzufügen von Dateien (inklusive der Verzeichnis-Struktur) wird die Datei 'Java_EJB_01.jar' mit der rechten Maustaste angeklickt und aus dem Kontext-Menu New Fileset ausgewählt. |
|
Im folgenden Fenster wird durch Anklicken der Schaltfläche [ Workspace... ] ein eigenes Fenster geöffnet, in dem als Nächstes jenes Verzeichnis, in dem die Dateien mit den Java-Klassen – inlusive der Verzeichnis-Struktur für die Java-'package's – ausgewählt werden kann. |
|
Im
erscheinenden Auswahl-Fenster ('Folder Selection') wird wird zu
jenem Verzeichnis manövriert, in dem die Dateien mit den
Java-Klassen liegen. Die Verzeichnis-Struktur wird angezeigt bzw. verborgen, wenn das kleine Dreieck links neben einem Verzeichnis-Namen angeklickt wird. Die Auswahl wird durch Anklicken der Schaltfläche [ OK ] bestätigt und damit wird auch das Fenster geschlossen. |
|
Im Fenster für das 'New Fileset' werden dann die Filter-Kriterien für die Dateien, die in die JAR-Datei aufgenommen werden sollen, im Feld 'Includes' festgelegt: **/*.class. **/ bedeutet, dass alle Verzeichnisse in der Struktur auf Dateien mit einem passenden Namen durchsucht werden. *.class bedeutet, daß alle Dateien, deren Namen mit .class endet, in die JAR-Datei gepackt werden sollen. Nach Eingabe der Filter-Kriterien ist im Feld 'Preview' zu sehen, welche Dateien ausgewählt sind. Die Definition wird durch Anklicken der Schaltfläche [ Finish ] abgeschlossen und damit wird auch das Fenster geschlossen. |
|
Im Bereich des 'Project archives' ist dann sichtbar, welche Dateien für das Packen in die JAR-Datei ausgewählt sind. Die Struktur für die JAR-Datei kann durch Anklicken des kleinen Dreiecks links neben den Datei- bzw. Verzeichnis-Namen angezeigt oder verborgen werden. |
|
META-INF
hinzufügen
Die
Auswahl der Dateien mit den Meta-Informationen für den JAS
(Java-Application-Server) in die JAR-Datei ist ähnlich der
Auswahl der Dateien mit den Java-Klassen.
Zusätzlich ist
innerhalb der JAR-Datei ein Verzeichnis zu definieren, in dem die
Dateien mit den Meta-Information enthalten sind.
In diesem
Abschnitt erfolgt noch einmal eine kompette Beschreibung mit allen
Abbildungen um die Routine zu festigen.
Für das Erstellen eines Verzeichnisses innerhalb der Datei 'Java_EJB_01.jar' wird diese mit der rechten Maustaste angeklickt und aus dem Kontext-Menu New Folder ausgewählt. |
|
Im folgenden Fenster ('Create a folder') wird der Name des Verzeichnisses (META-INF) eingegeben und anschließend die Schaltfläche [ OK ] angeklickt. |
|
Im Bereich des 'Project archives' ist dann sichtbar, welche Dateien für das Packen in die JAR-Datei ausgewählt sind. Ist das Vezeichnis nicht zu sehen kann die Struktur für die JAR-Datei durch Anklicken des kleinen Dreiecks links neben den Datei- bzw. Verzeichnis-Namen angezeigt werden. |
|
Welche Dateien als Meta-Information aufgenommen werden, wird über ein 'Fileset' festgelegt. Für das Hinzufügen dieser Dateien wird das Verzeichnis 'META-INF' mit der rechten Maustaste angeklickt und aus dem Kontext-Menu New Fileset ausgewählt. |
|
Im folgenden Fenster wird durch Anklicken der Schaltfläche [ Workspace... ] zuerst ein Fenster geöffnet, in dem als Nächstes jenes Verzeichnis ausgewählt wird, in dem die Dateien für die META-Information enthalten sind. |
|
Im
Auswahl-Fenster ('Folder Selection') wird wird zu jenem
Verzeichnis manövriert, in dem die Dateien mit den
Meta-Informationen liegen. Die Verzeichnis-Struktur wird angezeigt bzw. verborgen, wenn das kleine Dreieck links neben einem Verzeichnis-Namen angeklickt wird. Die Auswahl wird durch Anklicken der Schaltfläche [ OK ] bestätigt und damit wird auch das Fenster geschlossen. |
|
Im Fenster für das 'New Fileset' werden dann die Filter-Kriterien für die Dateien, die in die JAR-Datei aufgenommen werden sollen, im Feld 'Includes' festgelegt: *.*. Das bedeutet, daß alle Dateien, die in Schritt 3: XDoclet erzeugt und im Unterverzeichnis 'META-INF' gespeichert wurden, in die JAR-Datei gepackt werden. Nach Eingabe der Filter-Kriterien ist im Feld 'Preview' zu sehen, welche Dateien ausgewählt sind. Die Definition wird durch Anklicken der Schaltfläche [ Finish ] abgeschlossen und damit wird auch das Fenster geschlossen. |
|
Im Bereich des 'Project archives' ist dann sichtbar, daß auch ein Verzeichnis 'META-INF' mit Dateien in die JAR-Datei gepackt wird. Die Struktur für die JAR-Datei kann durch Anklicken des kleinen Dreiecks links neben den Datei- bzw. Verzeichnis-Namen angezeigt oder verborgen werden. |
|
JAR-Datei
neu erstellen
Bis
jetzt wurde nur festgelegt, welche Dateien in die JAR-Datei gepackt
werden.
In diesem kurzen Abschnitt wird beschrieben, wie die
JAR-Datei erstellt wird.
Dazu wird die Datei 'Java_EJB_01.jar' mit der rechten Maustaste angeklickt und aus dem Kontext-Menu Build Archive (Full) ausgewählt. Der Vorgang des 'Packens' dauert nur Bruchteile einer Sekunde und es wird keine Rückmeldung gegeben wenn der Vorgang beendet ist. |
|
Die erzeugte Datei ist in der Struktur des 'Package Explorer's zu sehen und wenn Sie ganz sicher gehen wollen, können Sie diese mit der rechten Maustaste anklicken und aus dem Kontext-Menu Properties auswählen. |
|
Im anschließend angezeigten Fenster ist das Datum der Datei-Erstellung zu sehen ('Last modified'). Damit kann überprüft werden, ob die Datei neu erstellt wurde. |
|
JAR-Datei
an den JAS übergeben ('deploy')
Eclipse
bietet zwar die Möglichkeit, die fertige JAR-Datei an
verschiedene Java Application Server (JAS) zu übergeben –
bei Einsatz von JBoss
ist es aber am einfachsten, die gerade erstellte JAR-Datei in das
entsprechende Verzeichnis von JBoss
zu kopieren.
Dazu
wird ein 'Terminal'-Fenster geöffnet und folgendes Kommando
eingegeben:
cp
/workspace_directory
/Java_EJB_01.jar
/jboss_home
/server/default/deploy
Dabei
ist
/workspace_directory
durch
jenes Verzeichnis zu ersetzen, in dem die Dateien des Projects
innerhalb von Eclipse enthalten sind, z.B.
/home/kurti-o/java_ejb/Java_EJB_01
.
/jboss_home
ist
das Stamm-Verzeichnis, in dem JBoss
installiert ist. Wenn die Installation so wie in
JBoss
Java-Application-Server installieren > Installation von JBoss
beschrieben
erfolgt ist, ist dieses Verzeichnis
/opt/jboss
.
Wenn
JBoss in einem 'Terminal'-Fenster läuft (Start unter unter |
|
JAR-Datei
für Client-Programme erstellen
Für
das Client-Programm, das im nächsten Schritt (
Tutorial:
Client-Programm für einfache Session Bean (Java_EJB_01)
)
erstellt wird, ist eine JAR-Datei notwendig, die die Schnittstellen
des auf dem JAS laufenden EJB beschreibt. Wie diese JAR-Datei
erstellt wird ist in diesem Abschnitt beschrieben.
Das
Definieren der Dateien, die in diese JAR-Datei gepackt werden sollen,
erfolgt nach dem gleichen Schema wie in den vorigen Abschnitten (ab
'Project archives' anlegen)
beschrieben.
Aus diesem Grund werden nicht alle Schritte mit
Abbildungen dargestellt.
Durch Anklicken des Bereiches 'project archives' mit der rechten Maustaste wird das bekannte Kontext-Menu angezeigt. Mit der Auswahl von New Archive > JAR wird ein Fenster (New JAR) geöffnet mit dem Parameterisierungen für die zu erstellende Datei vorgenommen werden können. |
|
Der
Name der Datei wird auf Java_EJB_01-client.jar
geändert. Anschließend wird die Schaltfläche [ Workspace... ] angeklickt. Im
folgenden Fenster ('Select a destination') wird das Verzeichnis
'Java_EJB_01' ausgewählt. Damit wird eine eigene Datei
erstellt. Durch Anklicken der Schaltfläche [ OK ] wird die Auswahl des Verzeichnisses bestätigt. Durch das Anklicken der Schaltfläche [ Finish ] im Fenster 'New JAR' wird die Datei erstellt. |
|
Die neu erstellte Datei ist jetzt im Bereich des 'Project archives' gelistet. |
|
In die Datei werden nur Dateien mit Java-Klassen, die von Client-Programmen importiert werden müssen, aufgenommen. Für das Hinzufügen dieser Dateien wird die gerade angelegte Datei mit der rechten Maustaste angeklickt und aus dem Kontext-Menu New Fileset ausgewählt. |
|
Im folgenden Fenster (untere Abbildung nachdem das Verzeichnis ausgewählt wurde) wird durch Anklicken der Schaltfläche [ Workspace... ] zuerst ein weiteres Fenster geöffnet, in dem das Verzeichnis mit den Dateien, die in die JAR-Datei aufgenommen werden sollen, ausgewählt werden kann. Im
folgenden Fenster ('Folder Selection', obere Abbildung) wird zum
Verzeichnis gen/classes
manövriert. Im Fenster für das 'New Fileset' werden dann noch im Feld 'Includes' die Filterkriterien **/staticvalues/*.class für die Auswahl der Dateien festgelegt. Die ausgewählte Klasse ('CountryConstants.class') ist dann im Bereich 'Preview' gelistet. Die Auswahl wird durch Anklicken der Schaltfläche [ Finish ] bestätigt und damit wird auch das Fenster geschlossen. |
|
Das
vorige Verfahren für das Hinzufügen eines 'Fileset' mit
Dateien wird für das Verzeichnis Wenn
die Parameter korrekt definiert wurden, sind folgende Dateien
ausgewählt: |
|
Im Bereich des 'Project archives' ist dann sichtbar, welche Dateien in die JAR-Datei gepackt werden. Die Struktur für die JAR-Datei kann durch Anklicken des kleinen Dreiecks links neben den Datei- bzw. Verzeichnis-Namen angezeigt oder verborgen werden. |
|
Um die JAR-Datei mit den definierten Inhaltsdateien zu erstellen wird die Datei 'Java_EJB_01-client.jar' mit der rechten Maustaste angeklickt und aus dem Kontext-Menu Build Archive (Full) ausgewählt. Der Vorgang des 'Packens' dauert nur Bruchteile einer Sekunde und es wird keine Rückmeldung gegeben wenn der Vorgang beendet ist. Die Methode wie geprüft werden kann, ob die Datei wie gewünscht erstellt wurde, ist unter JAR-Datei neu erstellen beschrieben. |
|
Dokument |
Inhalt |
Im nächsten Tutorial wird ein einfaches Client-Programm, das die in diesem Tutorial entwickelte EJB nutzt. |