Dieser Intensivpfad ist für Teams gedacht, die in einer Woche eine gemeinsame, belastbare Entwicklungsbasis benötigen. Er ersetzt keine spätere Spezialisierung, deckt aber den vollständigen Weg von der Projektanlage bis zur getesteten Anwendung ab.
Die Inhalte verdichten die Seminare zu Groovy, Grundlagen, GORM, Services, Frontend, REST und Testing. Sämtliche Übungen greifen auf ein gemeinsames Projekt zurück, damit Übergänge und Abhängigkeiten sichtbar bleiben.
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: Transaktionen, Sessions und Nebenläufigkeit
- Modul 9: Services und fachliche Anwendungslogik
- Modul 10: Serverseitige Oberflächen mit GSP
- Modul 11: REST-Ressourcen und API-Verträge entwerfen
- Modul 12: REST-Endpunkte mit Controllern und JSON Views
- Modul 13: Webschutz, Datenbindung und sichere Ausgabe
- Modul 14: Unit-Tests mit Spock
- Modul 15: Integrationstests mit echter Anwendungskonfiguration
- Modul 16: Browser- und Funktionstests mit Geb und Testcontainers
- Modul 17: Buildvarianten, Konfiguration und Artefakte
- Praxisprojekt und Übungen
- Arbeitsweise
Zielgruppe
Entwicklerteams mit Java-, Groovy- oder Spring-Hintergrund, die kurzfristig produktiv in die Grails-Anwendungsentwicklung einsteigen sollen.
Voraussetzungen
Sichere objektorientierte Programmierung, Grundkenntnisse von HTTP und SQL. Erfahrung mit Java oder Groovy ist erforderlich; Grails-Vorkenntnisse sind nicht notwendig.
Lernziele
- Eine Grails-Anwendung von Grund auf strukturieren und entwickeln.
- Groovy, MVC, GORM und Services als zusammenhängende Plattform nutzen.
- HTML-Oberfläche und REST-API auf derselben Fachlogik aufbauen.
- Validierung und Basissicherheit konsequent integrieren.
- Unit-, Integrations- und Browsertests erstellen.
- Ein geprüftes, reproduzierbares Build-Artefakt erzeugen.
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: Transaktionen, Sessions und Nebenläufigkeit
Transaktionsgrenzen werden aus fachlichen Operationen abgeleitet und nicht dem Zufall einzelner Datenzugriffe überlassen.
- Schritt 1: Transaktionale Service-Methoden und Read-only-Operationen unterscheiden.
- Schritt 2: Flush-Verhalten, Dirty Checking und Session-Lebenszyklus nachvollziehen.
- Schritt 3: Optimistische und pessimistische Sperren für Konfliktsituationen bewerten.
- Schritt 4: Rollback, Wiederholung und Fehlerbehandlung mit Tests überprüfen.
Modul 9: 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 10: 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 11: REST-Ressourcen und API-Verträge entwerfen
Die API wird aus fachlichen Ressourcen, Zustandsübergängen und klaren Fehlerfällen abgeleitet.
- Schritt 1: Ressourcen, Identitäten und Beziehungen festlegen.
- Schritt 2: HTTP-Methoden, Statuscodes und Idempotenz konsistent zuordnen.
- Schritt 3: Request- und Response-Modelle von internen Domain-Klassen trennen.
- Schritt 4: Versionierungs-, Pagination- und Filterstrategie dokumentieren.
Modul 12: 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 13: 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 14: Unit-Tests mit Spock
Kleine fachliche Einheiten werden mit lesbaren Spezifikationen und klaren Testdoubles geprüft.
- Schritt 1: Given-when-then-Strukturen für Services und Hilfsklassen formulieren.
- Schritt 2: Mocks, Stubs und Spies nur entsprechend ihrer Aufgabe einsetzen.
- Schritt 3: Tabellentests für Varianten und Randfälle entwickeln.
- Schritt 4: Fehlerpfade und Interaktionen ohne unnötigen Framework-Start testen.
Modul 15: Integrationstests mit echter Anwendungskonfiguration
Zusammenspiel von Persistenz, Transaktionen, Spring-Kontext und Webschicht wird realitätsnah überprüft.
- Schritt 1: Integrationsprofil und Testdaten reproduzierbar konfigurieren.
- Schritt 2: Services und GORM gegen eine echte Testdatenbank prüfen.
- Schritt 3: Transaktionsverhalten und Rollback bewusst kontrollieren.
- Schritt 4: Langsame Tests strukturieren und von schnellen Tests trennen.
Modul 16: Browser- und Funktionstests mit Geb und Testcontainers
Kritische Benutzerwege werden in einer reproduzierbaren Browserumgebung automatisiert.
- Schritt 1: Geb-Seitenobjekte und Module für stabile Selektoren entwerfen.
- Schritt 2: Containerisierte Browser für identische lokale und CI-Ausführung nutzen.
- Schritt 3: Anmeldung, Formularabläufe und Fehlersituationen automatisieren.
- Schritt 4: Screenshots, Aufzeichnungen und Diagnosedaten bei Fehlern sichern.
Modul 17: 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
Eine vollständige Anwendung wird iterativ aufgebaut. Jeder Tag endet mit einem lauffähigen Zwischenstand; am fünften Tag werden HTML-Oberfläche, API, Persistenz, Sicherheit und automatisierte Tests in einem gemeinsamen Release-Kandidaten zusammengeführt.
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: | 5 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 2.995 zzgl. MwSt. Inhaus: € 8.500 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Entwicklerteams mit Java-, Groovy- oder Spring-Hintergrund, die kurzfristig produktiv in die Grails-Anwendungsentwicklung einsteigen sollen. |
| Voraussetzungen: | Sichere objektorientierte Programmierung, Grundkenntnisse von HTTP und SQL. Erfahrung mit Java oder Groovy ist erforderlich; Grails-Vorkenntnisse sind nicht notwendig. |
| 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.
