Einiges über Bohnen
Referat: beans3 (PDF, SXI)
Es gibt generell zweierlei Bohnen-Konzepte:
- JavaBeans (
java.beans)
- schon in der Java Standard-Edition (J2SE)
- es gibt zusätzlich ein JavaBeans Development Kit (BDK)
- und zum Verknüpfen der Beans eine GUI namens Bean Builder
- Enterprise JavaBeans (
javax.ejb)
- nur in der Java Enterprise Edition (J2EE)
- oder als JAR-Zusatzpaket (EJB)
- drei vordefinierte Typen: Entity Beans, Session Beans, Message Driven Beans
JavaBeans sind eigenständige Objekte mit verschiedener Funktionalität. Alle für den User interessanten Datenfelder können über getter- und setter-Methoden abgefragt und verändert werden. Eine JavaBean kann Ereignisse einer anderen Bohne abhören ("Listener") und sogar eine Ausführung verbieten ("Veto"). Darüberhinaus können die Inhalte der Datenfelder persistent gespeichert und nach einem Neustart wieder hervorgeholt werden ("implements Serializable"). JavaBeans sind also sowohl Komponenten, die zu größeren Anwendungen verknüpft werden können, als auch Container für Informationen.
Enterprise JavaBeans erweitern das Konzept der JavaBeans für Client-Server-Anwendungen und sind dementsprechend in drei Aufgabenbereiche untergliedert:
- Entity Beans dienen nur als Daten-Container und enthalten z.B. eine Tabelle aus einer Datenbank.
- Session Beans dienen der Verbindung zum Client.
- Eine Stateless Session Bean bietet Dienste an, die von jedem beliebigen Client gleichermaßen genutzt werden können, und hat selbst keine persistenten Daten (dient z.B. als einfache Schnittstelle zu den Entity Beans).
- Außerdem gibt es Stateful Session Beans, welche session-spezifische Daten enthalten (z.B. User-Login).
- Message Driven Beans sind Listener (finden ihre Anwendung z.B. in der Verarbeitung asynchroner Daten).
JavaBeans in unserer Literaturdatenbank
Alle Beans und Anwendungsfälle (PDF, SXW) (Zeichnung einzeln: SXD, WMF)
AF 05-12 (PDF) (alte Version: PDF)
AF 16-23 (PDF)
AF 24-27 (PDF) (alte Version: PDF)
AF 28-32 (PDF)
Allgemeiner Programmablauf:
Diagramm 1 (alte Version) (PDF, SXD)
Diagramm 2 (alte Version) (PDF, SXD)
Diagramm 3 (PDF, SXD, WMF)
Schema der Funktionsaufrufe WI > MU > AL (GIF)
Einrichten von EJB zur Benutzung mit Eclipse
(wir brauchen aber keine EJB, uns genügen normale Klassen...)
Es ist möglich, Enterprise JavaBeans mit der Java Standard-Edition einzusetzen. Dazu auf der EJB-Seite unter Downloads > 2.1 - Final Release > Download Class Files die EJB-API herunterladen. Das ZIP-Archiv enthält eine JAR-Datei, welche z.B. in das Projektverzeichnis oder notfalls in das Java-Verzeichnis kopiert werden sollte (falls man EJB in allen seinen Projekten verwenden möchte, unter Windows ist das z.B. C:\Programme\Java\jre1.5.0_02\lib\). (Falls man javac bzw. java direkt von der Konsole ausführt, muss die JAR-Datei in die CLASSPATH-Umgebungsvariable eingefügt werden. Für Eclipse selbst ist das nicht nötig.)
Eclipse muss man den Pfad wie folgt mitteilen:
Für alle Projekte:
Unter Window > Preferences > Java > Installed JREs > Edit den Haken bei Use default system libraries entfernen und auf Add external JARs klicken, um die JAR-Datei der EJB-API hinzuzufügen. Alles mit OK bestätigen, Eclipse schließen und wieder starten. Nun kann man in einer neuen Klasse die javax.ejb.* importieren und z.B. eine EntityBean implementieren.
Für das derzeitige Projekt:
Unter Projekt -> Properties -> Java Build Path -> Libraries -> Add Jars.
Auf der EJB-Download-Seite gibt es übrigens auch die EJB-Dokumentation im JavaDoc-HTML-Stil.
Danke an Kay für die Korrekturhinweise.
Manuel Haim, 01-Jun-2005
Einrichten unseres CVS-Zugangs in Eclipse
- Nur Projekt "LitDB" importieren (einfachste Variante):
File > Import > Checkout Projects from CVS >
Create a new repository location >
Hier kommen die CVS-Verbindungsdaten rein:- Host: 137.248.121.189
- Repository path: /apra
- User/Password habt ihr von Volker per Mail erhalten
Weiter mit Next > Use an existing module >
"LitDB" auswählen und Next klicken (noch nicht Finish!) >
Check out as a project configured using the New Project Wizard (und Finish) >
Java Project auswählen >
Project Name: "LitDB" (oder was ihr wollt) und Create separate source and output folders auswählen, dann Finish.
Alle Java-Pakete, Klassen usw. kommen in das src-Verzeichnis! (macht Eclipse
automatisch)- Der CVS-Server bietet noch weitere Verzeichnisse, die man in das aktuelle Projekt importieren kann, wenn man an entsprechender Stelle Checkout into existing Project wählt.
- Alle CVS-Verzeichnisse importieren (etwas komplizierter) (meine Methode):
Der CVS-Server bietet noch weitere Verzeichnisse, die u.a. zum Kompilieren oder Tomcat-Neustart dienen. Dazu über File > New Project > Java Project ein neues "Java-Projekt" anlegen (z.B. "apra05")
Über File > Import... > Checkout Projects from CVS wie oben mit dem CVS-Server verbinden und die Verzeichnisse mit Shift/Strg-Mausklicks alle auf einmal auswählen und Next klicken (nicht Finish!).
Im nächsten Fenster Check out into an existing project wählen und Next.
Hier unser Projekt (ich hab's "apra05" genannt) wählen und Finish.
Etwas Feinarbeit fehlt noch: In Eclipse klicke ich links im Package Explorer das Projekt apra05 mit der rechten Maustaste an und wähle Properties. Unter Java Build Path > Source entferne ich mit Remove alle Einträge, wähle Add Folder..., setze einen Haken bei apra05/LitDB/src und bestätige mit OK. Unter Java Build Path > Default output folder gebe ich apra05/LitDB/bin ein. Nun sind alle CVS-Verzeichnisse unter einem Projekt vereint und Eclipse legt die Sourcen auch nur in apra05/LitDB/src ab.
Hier noch mal als Bild:

- Alle CVS-Verzeichnisse importieren (Kay's Methode):
Eclipse starten
Window > Open Perspective > Other... > CVS Repository Exploring
Rechtsklick in leeres CVS Repositories-Fenster > New... > Repository Location (eingeben und finish)
:pserver:xxx@137.248.121.189:/apra > HEAD > Rechtsklick auf LitDB > Check out as... > Check out as a project configured using the New Project Wizard und Next und Finish
Java Project und Next > Project name: "apra" und Finish
Nun wird alles heruntergeladen. Über Window > Open perspective > Java wieder in die Java-Perspektive wechseln. Links m Package Explorer gibt es das neue Projekt. Feinarbeit: Rechtsklick auf das Projekt "apra" > Properties > Java Build Path. Unter Source mit Remove alles löschen und über Add Folder einen Haken bei src setzen. Zum Schluss unter Default output folder den Pfad LitDB/build/classes eingeben und OK.
Eclipse Ant
Im CVS gibt's auch eine Datei namens build.xml zum (lokalen) Kompilieren eines WAR-Archives aus den Quelltexten. Diese ist für das Tool Ant gedacht, welches man in Eclipse unter Window > Show view > Other... > Ant > Ant mit OK öffnet. Das Ant-Fenster taucht dann unten neben Tasks/Konsole/usw. auf. Die build.xml zieht man einfach dort hinein und kann dann das Kompilieren von dort aus starten.
CVS verwenden
Alle Programmpakete gehören nach de.fb12.apra05 oder in entsprechende Unterpakete. Neue Klassen werden von Eclipse lokal angelegt und mit einem ">" vor dem Namen als "geändert" gekennzeichnet.- Zum Hochladen einer neuen Datei rechtsklickt man sie im Package Explorer und wählt Team > Commit.
- Aktuelle Versionen lädt man sich über Team > Update herunter.
- Ganze Pfade kann man über Team > Synchronize with repository mit dem CVS-Server abgleichen.
Manuel Haim, 06-Jun-2005
Eclipse- und Java-Tipps
- Man kann Eclipse so einstellen, dass automatisch JavaDoc zu den Standard-Java-Befehlen und -Datentypen angezeigt wird, z.B. wenn man mit der Maus darüber fährt. Dazu muss man nur unter Window > Preferences > Java > Installed JREs das jdk1.5 statt der jre1.5 auswählen (ggf. mit Add hinzufügen).
- Java-Klassen kann man auch von der Konsole aufrufen:
javac Klasse.java (zum Kompilieren)
java Klasse (zum Ausführen der main-Methode)
Dazu muss sich das bin-Verzeichnis der Java-Installation im Pfad befinden (Umgebungsvariable PATH) und das aktuelle Verzeichnis "." (ein Punkt) darf in der Umgebungsvariable CLASSPATH nicht fehlen.
- Umgebungsvariablen setzen
Eclipse hat seine eigenen Einstellungen für die "Umgebungsvariablen" und bedarf keiner zusätzlichen Systemeinstellungen. Wer jedoch etwas über Konsolenbefehle oder mittels UltraEdit oder BlueJ kompilieren/starten möchte, muss die Betriebssystem-Umgebungsvariablen CLASSPATH und PATH entsprechend anpassen, wobei mehrere Pfade durch ";" (Semikolon) getrennt werden. Beispiel:
CLASSPATH C:\Programme\Java\jre1.5.0_02\lib;C:\Programme\Java\etc\ejb-2_1-api.jar;.
PATH C:\Programme\Java\jdk1.5.0_02\bin
- Windows2000/XP:
Systemsteuerung > System > Erweitert > Umgebungsvariablen
Im Zweifelsfall nur die Benutzervariablen anpassen.
- Windows95/98/ME:
Start > Ausführen > notepad c:\autoexec.bat
Folgende Zeilen unten einfügen:
SET PATH=%PATH%;MeinPfad
SET CLASSPATH=MeinKlassenpfad
wobei MeinPfad und MeinKlassenpfad den gewünschten Pfaden entsprechen.
- WindowsNT:
Systemsteuerung > System > Umgebung
Links
JavaBeans API Dokumentation
EJB-API 2.1 Dokumentation
Java-API 1.5 Dokumentation
Java ist auch eine Insel (deutsch)
OpenEJB (ein Open-Source EJB-Container, Verwendung mit Tomcat möglich)
Tomcat (ein Webserver/-Container mit JSP- und Servlet-Unterstützung)
EJB-Vortrag der FH Hannover (PDF) (deutsch, mit Java-Quellcode-Beispielen)
Mastering EJB (Seite mit eBook und Java-Quellcode-Beispielen zum Download)
Index | Parent directory