Sprechen Softwareentwickler von Beans, sind selten Gemüsebohnen gemeint. Bei Enterprise JavaBeans (EJB) handelt es sich vielmehr um serverseitige Komponenten in einer verteilten Geschäftsanwendung, die mit der von Sun im Rahmen der Java 2 Enterprise Edition (J2EE) zur Verfügung gestellten Referenzimplementierung zum de-facto-Standard der Java Community geworden sind. Das Buch „Enterprise JavaBeans 2.1“ von Martin Kompf stellt die aktuellste Version 2.1 vor und vermittelt in 20 Kapiteln auf 462 Seiten wertvolle Grundlagen und Praxiswissen für Softwareentwickler und –architekten.
Der Autor gibt zunächst eine Einführung in Enterprise JavaBeans und beleuchtet die Rolle des Applikationsentwicklers im J2EE Umfeld. Ab dem zweiten Kapitel wird vom Leser Einsatz gefordert: die erforderlichen Werkzeuge werden beschafft, vorgestellt, und kommen im dritten Kapitel im Rahmen einer ersten J2EE-Anwendung zum Einsatz. Die folgenden Kapitel widmen sich Session Beans sowie Hilfsmitteln zur Erstellung von Beans. Kapitel sieben vertieft dann die im dritten Kapitel bereits kennengelernte Technologie von J2EE Clients und beleuchtet das Client-API. Während bisher nur prozessmodellierende Beans vorgestellt wurden, widmet sich das achte Kapitel den Entity-Beans, welche für den Zugriff auf Prozessdaten verantwortlich sind; das neunte Kapitel geht auf die Spezifizierung der Beziehungen zwischen Entitäten in sog. Container-Managed Relationships ein. Nach einem kurzen Überblick über die EJB Query Language im zehnten Kapitel erfährt der Leser im elften Kapitel, wie Client-Applikationen mit der EJB-Schicht zusammenwirken. Im umfangreichen zwölften Kapitel liest man, wie man mit sog. Bean-Managed Persistence dank JDBC und SQL volle Kontrolle über den Datenspeicherzugriff erhält. Nach fünf Kapiteln über die verschiedenen Aspekte von Entity-Beans fasst Kompf in Kapitel 13 die wichtigsten Informationen tabellarisch zusammen, wie z.B. Unterschiede der Definition von Bean-Klassen mit Bean-Managed Persistence und Container-Managed Persistence sowie die verschiedenen Methoden im Lebenszyklus einer Bean. Die folgenden zwei Kapitel widmen sich den Message-Driven-Beans sowie dem in 2.1 neu eingeführten Timer-Service. Kapitel 16 stellt geeignete Technologien für den Zugriff auf Backend-Systeme aus J2EE Applikationen vor. Die letzten drei Kapitel widmen sich fortgeschrittenen Themen wie dem Security-Management des J2EE Applikationsservers, der Transaktionssteuerung, Threads und Reentranz, sowie der Verwendung von Stateless Session-Beans als Webservice-Endpunkt seit EJB Version 2.1.
Kompf sieht sein Buch selbst weniger als Referenz, denn mehr als Tutorial. Dementsprechend pragmatisch gestalten sich auch die Kapitel: wer JavaBeans auf der Couch schmöckernd kennenlernen möchte, muss mindestens ein Notebook auf dem Schoß haben, denn wer das gelesene nicht gleichzeitig in die Praxis umsetzt, wird zumindest als Einsteiger schnell abgehängt. Vom Leser wird also Mitarbeit verlangt, wenn er nicht bereits mit EJB Erfahrung hat und das Buch nur als Referenz verwendet – das ist dem Lernerfolg aber nur zuträglich. Positiv stimmt ebenfalls, dass Kompf den Leser an seiner Erfahrung teilhaben lässt – zur Beantwortung von Fragen wie „Entity Beans: ja oder nein?“ diskutiert Kompf mit dem Leser wichtige Entscheidungskriterien. Relevante Teile des Buches werden durch UML-Diagramme und Quellcodebeispiele verdeutlicht. Nach Durcharbeiten des Buches gewinnt man als Leser so den Eindruck, EJB umfassend kennengelernt zu haben. Voraussetzung zum Verständnis ist jedoch ein wenig Erfahrung in der Implementierung von verteilten Systemen sowie solide Java-Kenntnisse.
Alle Beispiele aus dem Buch sind auf der Galileo-Homepage http://www.galileocomputing.de zum Download verfügbar. Weiterhin pflegt der Autor unter http://ejb.kompf.de eine Seite mit Downloads, Tipps und Ergänzungen zum Buch – selbst auf das neu erschienene J2EE 1.4 SDK Update 1 sowie der im September veröffentlichten Beta-Version des Sun One Applicationserver Version 8.1 hat Kompf den Buchinhalt dort angepasst.
Martin Kompf, „Enterprise JavaBeans 2.1“;
Galileo Computing, 1. Auflage 2004;
ISBN 3-89842-420-9
Matthias Gall, September 2004