Buchrezension: JBoss im Einsatz

Cover: JBoss im Einsatz

Javid Jamae, Peter Johnson
Deutsche Übersetzung von Dorothea Heymann Reder
JBoss im Einsatz
Den JBoss Application Server konfigurieren

517 Seiten. FlexCover
€ 49,90
ISBN 978-3-446-41574-4

Vor nicht allzu langer Zeit waren Begriffe wie „Enterprise-Java-Beans“ oder „Application-Server“ noch von einer mystischen Aura umgeben. Nur tapfere Software-Architekten nahmen den Kampf mit dieser Technologie auf und sangen noch Jahre später von ihren Heldentaten. Mit der Java Enterprise Edition 5 hat sich die Sache wesentlich zum Besseren gewendet. Das Erstellen von Session-Beans und das Mappen von Modell-Objekten ist schnell erklärt und gehört heute zum Rüstzeug der meisten Java-Entwickler. Auch das Betreiben eines Application-Servers ist – von wenigen Ausnahmen abgesehen – geradliniger geworden.

Frei nach dem Motto: „Man kann nur konfigurieren, was man auch versteht“, treten die Autoren Javid Jamae und Peter Johnson an, den Betrieb eines JBoss AS 5 dem geneigten Entwickler näher zu bringen. Die Autoren nutzen ihre langjährige Erfahrung, um genau das in den Fokus zu rücken, was für eine erfolgreiche Produktivstellung von Anwendungen ausschlaggebend ist. Das Buch richtet sich dabei an Leser, die mit den Java-EE-Spezifikationen (EJB, JMS, JPA, JCA, JAXWS, …) bereits bestens vertraut sind; es wird deshalb nur überblicksartig erläutert, wie man Java-EE-Anwendungen erstellt. Das Augenmerk wird vielmehr auf die Frage gerichtet, wie man Anwendungen bereitstellt, absichert, auf Performance trimmt und ihre Verfügbarkeit in der Produktion sicherstellt. Neben den klassischen Java-EE-Anwendungen gehen die Autoren auch detailliert auf das Produkt JBoss Portal ein.

Der JBoss Application Server im Einsatz

Schauen wir uns zwei Kapitel des Buchs etwas genauer an. Im Kapitel 2 „JBoss AS verwalten“ gehen die Autoren auf die generellen Mechanismen zur Konfiguration des Application-Servers ein. Sie stellen hierfür zunächst die neue Microcontainer-Architektur vor und knüpfen den Bezug zum JMX-Kernel aus früheren Versionen. Nach einem kleinen Exkurs zu JMX erklären die Autoren, wie man das Logging des Application-Servers auf seine eigenen Bedürfnisse anpassen kann, wie man globale Systemeigenschaften definiert und wie man JMX für die Administration des Application-Servers nutzt.

Das Kapitel gibt einen guten Überblick und ist an vielen Stellen erfreulich detailliert. Ein Hinweis auf die Verwendung der JDK-Standardwerkzeuge JConsole und VisualVM zur Administration des Application-Servers wäre das I-Tüpfelchen gewesen. Schmerzlich vermisst habe ich allerdings Querverweise auf ähnlich gelagerte Themen im Buch – nicht jeder liest dieses Buch linear vom Anfang bis zum Ende. So warnen die Autoren über die Mächtigkeit der JMX-Konsole, es fehlt jedoch der Verweis auf die Anleitung, wie man diese Konsole absichert (Kap. 15). So manche JBoss-Installation lässt aus Unwissenheit zu, dass diese Konsole frei über das Internet zugänglich bleibt.

Ein weiterer Kritikpunkt betrifft weniger das Buch, sondern vielmehr die Irrungen und Wirrungen bis zur Verfügbarkeit des JBoss AS 5.0. Trotz aller Ankündigungen war im JBoss AS 5.0.0-GA keine Administrationskonsole enthalten. Diese wurde erst im JBoss AS 5.1 nachgereicht. Den Autoren blieb an dieser Stelle nur die Möglichkeit, auf diesen Umstand hinzuweisen. Anhang B des Buchs ergänzt die fehlenden Informationen. Kapitel 2 war da schon gesetzt, so dass auch hier der Querverweis fehlt.

Clustering

Das andere Kapitel, welches genauer betrachtet werden soll, ist Kapitel 12 „Clustering“: Ein technologisch spannendes Thema, nicht nur wo derzeit Cloud-Computing in aller Munde ist. Die Autoren behandeln hier das Thema zunächst allgemein und gehen erst im nächsten Kapitel auf einzelne Technologien (Http-Sessions, Stateful-Session-Beans und JNDI) ein. Es werden nicht nur die Begriffe „Lastverteilung“, „Verfügbarkeit“ und „Verteilung“ von einander abgegrenzt, sondern auch generelle Cluster-Topologien und Replikationsmechanismen diskutiert. Auch zeigen die Autoren, wie man mit Hilfe des Loopback-Netzwerkadapters einen lokalen Cluster auf einer Windows-Maschine testweise einrichten kann. Weiterhin wird die Architektur von JGroups beschrieben – der Basistechnologie für das Clustering eines JBoss Application-Servers. Das Kapitel beschließt mit einer knappen Ausführung zu JBoss Cache.

Das Kapitel macht einen guten Eindruck. Aufgefallen ist mir jedoch eine Ungereimtheit: Die Autoren warnen davor, sich auf das Farming-Deployment zu verlassen. Dieser Dienst war allerdings in keiner Vorab-Version des JBoss AS 5.0 enthalten (Und dass, obwohl die JBoss AS eigene Dokumentation lange Zeit das Gegenteil behauptete. Mittlerweile ist die Dokumentation korrigiert und ab JBoss AS 5.1 ist dieser Dienst auch wieder verfügbar.) Eine Diskussion über das Clustering des Messaging-Subsystems des Application-Severs hätte Kapitel 13 gut gestanden.

‘Deployment’ oder ‘Bereitstellung’

Noch ein paar Worte zur Qualität der Übersetzung: Die Übersetzung ist über weite Strecken gelungen und sehr gut lesbar. Die Übersetzerin zeigt Mut, wenn sie „Deployment“ mit „Bereitstellung“ übersetzt. Übermut ist es allerdings, aus „Class-Loader“ „Klassenlader“ zu machen oder „Second-Level-Cache“ mit „Zweit-Cache“ zu übersetzen. Keinen Mut hatte die Übersetzerin bei „Utility“; statt im Deutschen eher unüblich „die Utility“ zu verwenden, wäre „Hilfsprogramm“ oder „Hilfswerkzeug“ durchaus verständlich(er) gewesen.

Leider kommen auch sinnentstellende Übersetzungen vor. Die Kernaussage zur Sichtbarkeit von Klassen im Abschnitt „Wie Klassen geladen werden“ ist im Original leicht missverständlich, in der Übersetzung aber definitiv falsch (69). Ebenso bleibt der Warnhinweis zur Verwendung von JMX durch einen Übersetzungsfehler unverständlich (48). Ein Glossar der Übersetzungen am Ende des Buches hätte manche Verwirrung schneller aufklären können.

Gesamteindruck

Als Fazit lässt sich festhalten, dass der Inhalt des Buches sowohl durch tiefgründigen technischen Sachverstand als auch durch eine Vielzahl praktisch relevanter Hinweise glänzt. Die einzelnen Kapitel können direkt angesteuert werden und sind in sich schlüssig. Das Buch ist mir eine wichtige Referenz geworden. Eine Korrektur der Übersetzungsfehler in einer Errata-Liste würde ich allerdings sehr begrüßen.

Kommentare sind abgeschaltet.