Donnerstag, 24. Mai 2012


Buch-Tipp

Java Enterprise Performance

(Link zum Artikel: http://www.entwickler.de/jaxenter//000876)

Performance und Skalierbarkeit von Java Enterprise Anwendungen verstehen und managen

  • Autor/in: Alois Reitbauer, Andreas Grabner, Michael Kopp
  • Verlag: entwickler.press
  • Seiten: 250
  • erschienen: 2011
  • Preis: 34,90 Euro
  • ISBN: 978-3-86802-040-3

Das Buch „Java Enterprise Performance“ von Andreas Grabner, Michael Kopp und Alois Reitbauer befasst sich mit der Leistung von IT-Systemen, die in Java Enterprise-Technologie realisiert wurden. Über JVM-Speichermanagement, Datenbankschicht, Verteilung und Kommunikation, sowie Web- und AJAX-Oberflächen erfährt man sowohl Performanceanalysemethodiken als auch typische Problem Patterns. Ergänzt wird dieser Kanon zu Beginn durch eine kurze Einführung in die Grundlagen von IT-Performance und zwei abschließende Kapitel über das Testen und die Optimierung von Performance. Hier geht es dann auch darum, wie man Performance in Prozessen und Rollen der IT-Organisation verankern kann. Ein äußerst wichtiger Aspekt, wie ich finde. Für das JEE Application Management der syngenio ist dieses Buch schon jetzt Pflichtlektüre.

Auf 262 Seiten kann man nicht jede Technologie erschöpfend behandeln, und auch in dem einen oder andere Fallbeispiel muss man die Problemursache einfach glauben, ohne sie bis ins letzte Detail nachvollziehen zu können.

Am meisten Platz wurde noch dem Kapitel über Speichermanagement gewidmet, und das aus gutem Grund. Wer meint, die Defaulteinstellung der Garbage Collection seien grundsätzlich optimal, lernt hier die Unterschiede zwischen den Speicherverwaltungen der JVMs von Sun (jetzt Oracle), JRockit und IBM kennen. Allein die Problem Patterns füllen hier 13 Seiten.

Webanwendungen drängen auf den Platz von Rich-Clients. Im Zuge dessen wird der Browser immer mehr zur Laufzeitumgebung. Das stellt hohe Anforderungen an die Technologie, aber auch an Architektur und Design von Anwendungen. Themen wie das Layouten von dynamischem HTML, JavaScript-Speicherlecks, Caching und anderes mehr kommen im Kapitel über Web- und AJAX-Performance zur Sprache.

Das vielleicht spannendste Kapitel handelt von verteilten Architekturen. Ihre Performance und Skalierbarkeit hängt entscheidend davon ab, wie die Schichten und Linien miteinander kommunizieren. Nach Meinung der Autoren spielen kommerzielle Analysewerkzeuge gerade in diesem Bereich ihre Stärken aus.

Die Expertise und Praxiserfahrung der Autoren dürfte auch in die Entwicklung des Performance-Optimierungswerkzeug dynaTrace des gleichnamigen Herstellers geflossen sein, für den alle drei arbeiten. Zwar entstammt ein Teil der Screenshots im Buch diesem Tool. Der Leser muss aber keinesfalls fürchten, in einer Marketingveranstaltung gelandet zu sein. Im Text taucht der Produktname so gut wie nicht auf.

Im Kapitel über Datenbanken wird die Fokussierung auf interaktive Anwendungen und Services deutlich. Man könnte hier ergänzen, dass bei Batchverarbeitungen JDBC anders als im interaktiven Bereich aus Effizienzgründen durchaus in Erwägung zu ziehen ist.

Wünschenswert wäre an dieser Stelle noch eine Behandlung von NoSQL-Datenbanken gewesen, die ja nicht zuletzt aus Gründen der besseren Skalierbarkeit an Bedeutung gewinnen. Hier darf man auf eine Aktualisierung des Buches gespannt sein.

Die organisatorischen Problemmuster in Kapitel 6 kann ich aus meiner eigenen Beraterpraxis auch über die Java-Welt hinaus nur bestätigen. Das Plädoyer der Autoren gegen verzweifeltes Herumdoktern zugunsten einer Ursachenforschung auf Basis vollständiger Daten unterstütze ich voll.

von Dr. Stefan Reisner

Kommentare