Buchbesprechung “The Definitive Guide to Grails” 2nd Edition
“The definitive Guide to Grails” (Februar 2009) ist die Second Edition der 2006 erschienenen gleichnamigen Erstausgabe. Das Buch beschreibt die kürzlich erschienene Version 1.1 von Grails und berücksichtigt folglich auch sämtliche Neuerungen, die sich inzwischen durch Aktualisierung der Grails zugrunde liegenden Techniken (wie Spring, Hibernate, Sitemesh,…) sowie der zahlreichen Grails Plugins ergeben haben.
Die Autoren Greame Rocher und Jeff Brown geben als (Haupt-)entwickler des Grailsprojektes Informationen aus erster Hand und verwenden hierzu einen klaren und prägnanten Schreibstil. Im Gegensatz zu zahlreichen anderen Fachbüchern hat man hier bei keiner einzigen Zeile das Gefühl, die Autoren hätten das Thema nicht zu 100% verstanden. Im Rahmen der übersichtlich aufgebauten Artikel wird eine vollständig lauffähige Beispielapplikation entwickelt. Jeder Absatz wird durch Codebeispiele veranschaulicht. Dennoch ist es den Autoren gelungen die einzelnen Kapitel soweit kontextfrei zu gestalten, dass sich das Buch auch hervorragend als Nachschlagwerk eignet.
Nach einer allgemeinen Einleitung in das Konzept der Grails Plattform wird zunächst die Basisfunktionalität von Grails (als MVC Framework) bezüglich der Eigenschaften von Domain Classes, Controllers, und Views erklärt. Auch hier wird sehr praxisnah vorgegangen, im Gegensatz zu anderen Grailsbüchern sind beim linearen Lesen des Buches kaum Fragen offen geblieben. Jedes Kapitel enthält abschließend einen Block, der das automatisierte Testen der jeweils vorgestellten Teilbereiche erläutert. Die Detailtiefe des Buches ist in beinahe jedem Kapitel praxistauglich, dh. die vorgestellten Codebeispiele und Konzepte taugen großteils auch im Rahmen größerer Projekte und dienen nicht nur der vereinfachten Veranschaulichung. So werden auch auf Themen wie Command Objects, Interceptors, Logging, Validierung, Data Binding, Taglibs, Grailstags, Custom Tags bereits in den Einführungskapiteln näher erläutert.
Kapitel 6 beschreibt die Möglichkeiten des Grails Url Mappers,
Kapitel 7 beschäftigt sich mit Internationalisierung,
Kapitel 8 geht mit praxistauglichen Beispielen auf die einfache Integration von Ajax ein.
Webflows, die auf Springframework Webflows basieren und in Grails bereits integriert sind, werden ausführlich in Kapitel 9 behandelt.
Kaptitel 10 gibt einen Einblick in GORM (Grails Object Relational Mapping) und beschreibt neben Associataions, Dynamic Finders, Cirtiera Queries, HQL und SQL sowie Pagination. Insbesondere wird dabei versucht, auf die Architektur des zugrunde liegenden ORMs (Hibernate) in Hinblick auf Performanceoptimierung und Caching einzugehen. Das Kapitel schließt mit Transactions, Detached Objects und einigen Tipps zum Thema Performance Tuning bestehender Applikationen.
Kapitel 11 beschäftigt sich mit Services
Kaptitel 12 erläutert Konfigurationsmöglichkeiten, das eingesetzte Build System sowie die Integration von Grails Applikationen (Apache Ant, Ivy, Cobertura, Hudson) ebenso wie die Integration in gängige JAVA IDEs. Scheduling Jobs (via Quartz Plugin) sowie den Deploymentprozess (via WAR file)
Kapitel 13 gibt einen Überblick über die Verwendung der verfügbaren Grails Plugins (deren Zahl ständig steigt) sowie eine Einführung in die Erstellung eigener Plugins.
Kapitel 14 (Security) gibt zunächst einen Überblick über gängige Attackszenarien (XSS, SQL Injection, DoS, BDBV) und deren Vorbeugung bzw. Behandlung mit Grails. Im zweiten Teil des Kapitels wird das Thema Authentication sowie Rechte und Rollensystem exemplarisch anhand eines konkreten Implementierungsbeispiels basierend auf dem JSecurity Plugin abgehandelt.
Kaptitel 15 zeigt in praxisnahen Beispielen wie Webservices und gängige Schnittstellensysteme mit Grails implementieren werden können (REST, Atom, RSS, SOAP)
Die beiden folgenden Kapitel bieten eine Einführung in Spring und Hibernate sowie die Möglichkeiten des direkten Zugriffes via Grails.
Im Anhang findet sich eine kurze Einführung in Groovy.
Fazit:
“The definitive Guide to Grails” ist bisher das mit Abstand beste Grailsbuch, das ich gelesen habe und auch eines der wenigen Tecbücher, das sich von Anfang bis zum Ende linear lesen lässt ohne je langweilig zu werden. Es bietet einen sehr guten Einstieg in die Grails Plattform und viele Ideen, die sich mit geringem Anpassungsaufwand in eigene Projekte übernehmen lassen. Es ist auffällig, wie sich das gute Gefühl, das sich beim Praxiseinsatz der Grailsplattform beim Entwickler einstellt auch beim Lesen dieses Buches wiederfindet.
danke für den buchtipp! wenn wir mal projekte in Grails machen (dürfen), komm ich darauf zurück.