Der produktive Einstieg in Grails verlangt ein gemeinsames Verständnis von Groovy, Framework-Konventionen, Spring-Komponenten, Persistenz und Webverarbeitung. Einzelne Codebeispiele genügen nicht, wenn die Übergänge zwischen diesen Bereichen unklar bleiben.
Das Seminar entwickelt über vier Tage eine vollständige Anwendung. Neue Konzepte werden jeweils in die bestehende Lösung eingebaut, getestet und hinsichtlich ihrer Rolle in der Gesamtarchitektur eingeordnet.
Inhaltsverzeichnis
- Zielgruppe
- Voraussetzungen
- Lernziele
- Modul 1: Framework, Laufzeit und Projektökosystem einordnen
- Modul 2: Entwicklungsumgebung und Projektstart
- Modul 3: Groovy-Grundlagen für produktiven Grails-Code
- Modul 4: Projektstruktur, Artefakte und Konventionen
- Modul 5: MVC-Ablauf und Verarbeitung einer Webanfrage
- Modul 6: Domänenmodell und GORM-Mapping
- Modul 7: Abfragen, Projektionen und dynamische Finder
- Modul 8: Services und fachliche Anwendungslogik
- Modul 9: Serverseitige Oberflächen mit GSP
- Modul 10: REST-Endpunkte mit Controllern und JSON Views
- Modul 11: Webschutz, Datenbindung und sichere Ausgabe
- Modul 12: Grails-Artefakte isoliert testen
- Modul 13: Buildvarianten, Konfiguration und Artefakte
- Praxisprojekt und Übungen
- Arbeitsweise
Zielgruppe
Entwickler mit Java-, Groovy- oder vergleichbarer objektorientierter Erfahrung, die vollständige Webanwendungen mit Grails entwickeln sollen.
Voraussetzungen
Sichere Grundlagen objektorientierter Programmierung, Grundkenntnisse von HTTP und relationalen Datenbanken. Vorkenntnisse in Groovy oder Grails sind nicht erforderlich.
Lernziele
- Groovy-Sprachmittel gezielt im Grails-Kontext einsetzen.
- Projektstruktur, Artefakte und MVC-Verarbeitung sicher beherrschen.
- Domänenmodelle und Datenzugriffe mit GORM implementieren.
- Services, GSP-Oberflächen und REST-Endpunkte entwickeln.
- Validierung, Sicherheit und Tests von Anfang an integrieren.
- Ein reproduzierbares Anwendungsartefakt erstellen und ausführen.
Modul 1: Framework, Laufzeit und Projektökosystem einordnen
Das Zusammenspiel von Apache Grails, Groovy, Spring Boot, Gradle, GORM und den zentralen Grails-Plugins wird als technische Gesamtarchitektur betrachtet.
- Schritt 1: Die Aufgaben von Framework, Laufzeit, Buildsystem und Persistenzschicht voneinander abgrenzen.
- Schritt 2: Anwendungsprofile, Konventionen und Erweiterungspunkte einer Grails-Anwendung zuordnen.
- Schritt 3: Die Abhängigkeiten zwischen Java-Version, Grails-Version, Groovy, Spring Boot und GORM erfassen.
- Schritt 4: Für ein Beispielprojekt eine belastbare Technologie- und Versionsmatrix erstellen.
Modul 2: Entwicklungsumgebung und Projektstart
Eine reproduzierbare Arbeitsumgebung wird eingerichtet und mit einem neu erzeugten Projekt verifiziert.
- Schritt 1: JDK, Grails Wrapper, Gradle Wrapper und IDE-Konfiguration prüfen.
- Schritt 2: Ein Projekt mit geeignetem Profil und den benötigten Features erzeugen.
- Schritt 3: Anwendung, Tests und interaktive Grails Shell kontrolliert starten.
- Schritt 4: Lokale Konfiguration so dokumentieren, dass das Projekt auf einem zweiten System identisch läuft.
Modul 3: Groovy-Grundlagen für produktiven Grails-Code
Die für Grails wesentlichen Sprachmittel werden anhand typischer Controller-, Service- und Domänenklassen erarbeitet.
- Schritt 1: Variablen, Datentypen, Operatoren, Strings und Collections praktisch anwenden.
- Schritt 2: Closures, optionale Parameter und benannte Argumente in Framework-APIs einsetzen.
- Schritt 3: Null-Sicherheit, Elvis-Operator und sichere Navigation gezielt verwenden.
- Schritt 4: Groovy-Code mit Java-Bibliotheken und bestehenden Java-Klassen kombinieren.
Modul 4: Projektstruktur, Artefakte und Konventionen
Die Verzeichnisstruktur und die Lebenszyklen der wichtigsten Grails-Artefakte werden systematisch erschlossen.
- Schritt 1: Controller, Services, Domain-Klassen, Tag Libraries und Konfiguration lokalisieren.
- Schritt 2: Artefakte über Grails Shell und Gradle-Aufgaben erzeugen und prüfen.
- Schritt 3: Namenskonventionen, Packages und Komponenten-Scanning sauber festlegen.
- Schritt 4: Eigene Quellbereiche und gemeinsame Bibliotheken ohne Konventionsbruch integrieren.
Modul 5: MVC-Ablauf und Verarbeitung einer Webanfrage
Eine Webanfrage wird vom URL-Mapping über Controller und Service bis zur Antwort vollständig verfolgt.
- Schritt 1: URL-Mappings und HTTP-Methoden einer fachlichen Ressource zuordnen.
- Schritt 2: Parameterbindung, Command Objects und Validierung kontrolliert einsetzen.
- Schritt 3: Geschäftslogik aus dem Controller in Services verlagern.
- Schritt 4: HTML-, JSON- und Fehlerantworten mit eindeutigen Statuscodes erzeugen.
Modul 6: Domänenmodell und GORM-Mapping
Fachliche Modelle werden so entworfen, dass Persistenz, Validierung und spätere Erweiterbarkeit zusammenpassen.
- Schritt 1: Domain-Klassen, Identitäten und Wertobjekte aus fachlichen Anforderungen ableiten.
- Schritt 2: Assoziationen und Kardinalitäten explizit modellieren.
- Schritt 3: Constraints, Mapping-Block und Datenbanknamen festlegen.
- Schritt 4: Das resultierende Schema prüfen und typische Modellierungsfehler korrigieren.
Modul 7: Abfragen, Projektionen und dynamische Finder
GORM-Abfragen werden nach Lesbarkeit, Ausdrucksstärke und erzeugtem Datenbankzugriff ausgewählt.
- Schritt 1: Dynamische Finder und Where Queries für einfache Fälle einsetzen.
- Schritt 2: Kriterienabfragen und HQL für komplexe Filter entwickeln.
- Schritt 3: Projektionen, Sortierung und Pagination effizient gestalten.
- Schritt 4: Erzeugte SQL-Anweisungen analysieren und unnötige Datenzugriffe beseitigen.
Modul 8: Services und fachliche Anwendungslogik
Services werden als klar definierte fachliche Schnittstellen mit kontrollierten Abhängigkeiten aufgebaut.
- Schritt 1: Service-Verantwortlichkeiten aus Anwendungsfällen ableiten.
- Schritt 2: Abhängigkeiten über Konstruktor- oder Framework-Injection bereitstellen.
- Schritt 3: Transaktionsgrenzen und Rückgabemodelle explizit festlegen.
- Schritt 4: Services mit Unit- und Integrationstests unabhängig von Controllern prüfen.
Modul 9: Serverseitige Oberflächen mit GSP
Groovy Server Pages werden für wartbare, zugängliche und wiederverwendbare HTML-Oberflächen eingesetzt.
- Schritt 1: Modelldaten ohne Geschäftslogik in GSP ausgeben.
- Schritt 2: Layouts, Templates und Tag Libraries zur Wiederverwendung strukturieren.
- Schritt 3: Formulare mit Validierungshinweisen und sicherer Ausgabe erstellen.
- Schritt 4: Internationalisierung, Navigation und Fehlerdarstellung konsistent integrieren.
Modul 10: REST-Endpunkte mit Controllern und JSON Views
Die entworfenen Verträge werden mit Grails-Mitteln umgesetzt, ohne Persistenzdetails nach außen durchzureichen.
- Schritt 1: Ressourcenorientierte URL-Mappings und Controller erzeugen.
- Schritt 2: Command Objects für eingehende Daten und Service-Aufrufe einsetzen.
- Schritt 3: JSON Views oder Renderer für konsistente Ausgaben erstellen.
- Schritt 4: Fehler, Validierung und nicht gefundene Ressourcen einheitlich behandeln.
Modul 11: Webschutz, Datenbindung und sichere Ausgabe
Typische Webrisiken werden durch Framework-Konfiguration und disziplinierte Implementierung reduziert.
- Schritt 1: CSRF-Schutz und sichere Cookie-Eigenschaften prüfen.
- Schritt 2: XSS durch kontextgerechte Ausgabe und restriktive Eingabeverarbeitung verhindern.
- Schritt 3: Datenbindung auf erlaubte Felder begrenzen.
- Schritt 4: Sicherheitsrelevante Header und Fehlerseiten konfigurieren.
Modul 12: Grails-Artefakte isoliert testen
Controller, Domain-Klassen und andere Artefakte werden mit den passenden Grails-Testtraits geprüft.
- Schritt 1: Testtrait und Testumgebung für das jeweilige Artefakt auswählen.
- Schritt 2: Datenbindung, Validierung und Controller-Antworten isoliert testen.
- Schritt 3: Service-Abhängigkeiten kontrolliert ersetzen.
- Schritt 4: Testaufbau vereinfachen und versteckte globale Zustände vermeiden.
Modul 13: Buildvarianten, Konfiguration und Artefakte
Lokale Entwicklung, Tests und Produktion erhalten klar getrennte, reproduzierbare Buildpfade.
- Schritt 1: Eigenschaften und Umgebungsparameter vom eigentlichen Build trennen.
- Schritt 2: Ausführbares Archiv und optionales Container-Artefakt erzeugen.
- Schritt 3: Buildinformationen und Versionskennzeichnung einbetten.
- Schritt 4: Artefakte auf Vollständigkeit und unbeabsichtigte Inhalte prüfen.
Praxisprojekt und Übungen
Über alle vier Tage entsteht eine kleine Geschäftsanwendung mit Datenmodell, Service-Schicht, HTML-Oberfläche und REST-Schnittstelle. Die Anwendung wird validiert, abgesichert, getestet und als reproduzierbares Artefakt bereitgestellt.
Arbeitsweise
Kurze fachliche Einführungen wechseln mit Demonstrationen, angeleiteten Implementierungsschritten, selbstständigen Übungen und gemeinsamer Auswertung. Entscheidungen werden im Code, in Tests und in einer knappen technischen Dokumentation nachvollziehbar festgehalten.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de -

Paul Goldschmidt
Telefon: + 49 (221) 74740055
E-Mail: paul.goldschmidt@seminar-experts.de
Seminardetails
| Dauer: | 4 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.396 zzgl. MwSt. Inhaus: € 6.800 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Entwickler mit Java-, Groovy- oder vergleichbarer objektorientierter Erfahrung, die vollständige Webanwendungen mit Grails entwickeln sollen. |
| Voraussetzungen: | Sichere Grundlagen objektorientierter Programmierung, Grundkenntnisse von HTTP und relationalen Datenbanken. Vorkenntnisse in Groovy oder Grails sind nicht erforderlich. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
