Continuous Enterprise Development in Java

Literatur  –  0 Kommentare
Anzeige

Andrew Lee Rubinger, Aslak Knutsen
Continuous Enterprise Development in Java – Testable Solutions with Arquillian

O'Reilly, 2014
XIII + 240 Seiten, US-$ 29,99
ISBN 978-1-449-32829-0

Java-Enterprise-Anwendungen laufen auf einem Application Server, genauer in einem sogenannten EJB-Container. Das ist eine Herausforderung für Tests mit einem Framework wie JUnit, soll doch der Entwickler in seiner Umgebung testen. Genau hier setzt Arquillian an: Der zu testende Teil der Applikation wird in eine Datei, zum Beispiel JAR gepackt, ein kleiner Container aus der Entwicklungsumgebung gestartet und der zu testende Teil ausgeführt. So lassen sich auch Mechanismen wie Context und Dependency Injection (CDI) im Test nutzen, anstelle sie mehr oder wenig aufwendig durch Mocks zu ersetzen.

Warum diese Einleitung? Leider wird im Buch kaum erklärt, was Arquillian ist, sondern hauptsächlich, wie es eingesetzt wird. Und dabei startet das Buch mit diversen Einsatzmöglichkeiten von ShrinkWrap. Und was ist dies? Nun, dabei handelt es ist das Stück Software, das für das Erstellen der auszuführenden Pakete, also der Erzeugung der auf das für den Test Notwendige reduzierten Archive wie JAR, WAR et cetera verantwortlich ist. Ausgestattet mit diesem Wissen, wird verständlich, was die Autoren da überhaupt so beschreiben.

Ansonsten drückt der Titel aus, um was es geht: Software, erstellt mit der Java Enterprise Edition so zu entwickeln, dass sie sich automatisiert ausliefern lässt. Dazu gehören dann Tests beim Entwickler, automatische Tests auf einem CI-Server (Continuous Integration) und schließlich das automatische Ausrollen, im Buch am Beispiel von OpenShift dargestellt. Tests in jeder Phase mit Arquillian, das drückt der Untertitel aus.

Die Autoren erläutern im einführenden Teil ihre Vorstellung von Test und Verteilung sowie die Techniken dafür. Dass sie hier Arquillian und ShrinkWrap beschreiben, kommt nicht von ungefähr, sind sie doch beide mit diesen Projekten stark verbunden. Und es handelt sich wahrscheinlich um die derzeit beste Testumgebung im Java-EE-Umfeld.

Es schließt sich ein weiteres einführendes Kapitel an, in dem die Autoren die Anwendung GeekSeek vorstellen. Diese Anwendung dient fortan als Beispielprojekt, deren Komponenten und Entwicklungsphasen im Buch begleitet werden. Dazu fordern die Autoren explizit auf, die Anwendung herunterzuladen und ihre weiteren Ausführungen direkt am genannten Beispiel nachzuvollziehen.

Anschließend picken sie einzelne Komponenten heraus und zeigen, wie diese mit Arquillian getestet werden. Dabei geht es um Datenspeicherung mittels SQL/JPA und NoSQL, die Geschäftslogik, REST, Sicherheit, Benutzerinterface und zum Schluss um die Zusammenstellung und Verteilung der Applikation.

Neben dem Text dominieren das Buch die zahlreichen Code-Beispiele. Unterstützt wird das durch Screenshots, Tabellen und Grafiken. Somit handelt es sich nicht um ein Buch, das einfach von vorn nach hinten zu lesen ist. Vielmehr erfordern die teils längeren Listings eine intensive Auseinandersetzung mit dem dargestellten Code. Somit ergibt sich ein, nicht immer einfaches, aber weitreichendes Bild der Einsatzmöglichkeiten von Arquillian und ShrinkWrap. Das wahrscheinlich Beste, was derzeit in diesem Segment erhältlich ist. (ane)

Michael Müller
ist als Bereichsleiter Softwareentwicklung der InEK GmbH verantwortlich für Projekte im Web-, Java- und .NET-Umfeld. Daneben betätigt er sich als freier Autor und verfasst Fachartikel zu diversen Entwicklungsthemen sowie Buchrezensionen.

Anzeige