Grails unterstützt sowohl klassische serverseitige Oberflächen als auch moderne getrennte Clients. Die richtige Aufteilung hängt von Interaktion, Teamstruktur, Betriebsmodell und Sicherheitsanforderungen ab.
Das Seminar realisiert beide Varianten an derselben Fachfunktion. So werden Unterschiede bei Rendering, Formularen, Authentifizierung, Fehlerbehandlung, Ressourcen und Tests unmittelbar vergleichbar.
Inhaltsverzeichnis
- Zielgruppe
- Voraussetzungen
- Lernziele
- Modul 1: MVC-Ablauf und Verarbeitung einer Webanfrage
- Modul 2: Serverseitige Oberflächen mit GSP
- Modul 3: Datenbindung, Command Objects und Validierung
- Modul 4: JavaScript-Clients und Frontend-Integration
- Modul 5: JSON Views und strukturierte API-Ausgaben
- Modul 6: Webschutz, Datenbindung und sichere Ausgabe
- Modul 7: Usability, Barrierefreiheit und Frontend-Qualität
- Modul 8: Browser- und Funktionstests mit Geb und Testcontainers
- Praxisprojekt und Übungen
- Arbeitsweise
Zielgruppe
Grails- und Full-Stack-Entwickler, Webentwickler sowie Java- oder Spring-Entwickler mit Interesse an Grails-Oberflächen.
Voraussetzungen
Grundkenntnisse in HTML, CSS und JavaScript sowie grundlegende Erfahrung mit Grails-Controllern, Services und Datenbindung.
Lernziele
- GSP-Seiten mit Layouts, Templates und Tag Libraries strukturieren.
- Formulare sicher binden, validieren und verständlich rückmelden.
- JSON Views als stabile Schnittstelle für Clients einsetzen.
- Server- und Clientverantwortung anhand klarer Kriterien trennen.
- Barrierefreiheit und kritische Benutzerwege automatisiert prüfen.
Modul 1: 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 2: 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 3: Datenbindung, Command Objects und Validierung
Eingabedaten werden nur in ausdrücklich freigegebene Strukturen gebunden und fachlich validiert.
- Schritt 1: Bindungsquellen und zulässige Felder festlegen.
- Schritt 2: Command Objects mit deklarativen Constraints entwerfen.
- Schritt 3: Verschachtelte Daten, Datumswerte und Aufzählungen sicher konvertieren.
- Schritt 4: Validierungsfehler internationalisierbar und testsicher aufbereiten.
Modul 4: JavaScript-Clients und Frontend-Integration
Die Grenze zwischen serverseitigem Grails-Rendering und einem separaten JavaScript-Client wird anhand belastbarer Kriterien gestaltet.
- Schritt 1: Authentifizierung, CORS und CSRF für browserbasierte Clients einordnen.
- Schritt 2: API-Verträge und Fehlerformate für den Client definieren.
- Schritt 3: Statische Ressourcen, Build-Artefakte und Cache-Header koordinieren.
- Schritt 4: Eine kleine Client-Funktion gegen die Grails-API implementieren und testen.
Modul 5: JSON Views und strukturierte API-Ausgaben
JSON-Antworten werden getrennt von Controller-Logik modelliert und für unterschiedliche Anwendungsfälle wiederverwendet.
- Schritt 1: JSON Views mit typisiertem Modell erstellen.
- Schritt 2: Listen, Detailansichten und verschachtelte Beziehungen kontrolliert rendern.
- Schritt 3: Felder abhängig von Rolle, Kontext oder API-Version auswählen.
- Schritt 4: Ausgabeformate durch automatisierte Strukturtests absichern.
Modul 6: 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 7: Usability, Barrierefreiheit und Frontend-Qualität
Oberflächen werden nicht nur funktional, sondern auch robust, tastaturbedienbar und semantisch nachvollziehbar umgesetzt.
- Schritt 1: Semantische HTML-Strukturen und verständliche Formularbeschriftungen einsetzen.
- Schritt 2: Tastaturführung, Fokusmanagement und Fehlermeldungen prüfen.
- Schritt 3: Darstellung für unterschiedliche Bildschirmgrößen testen.
- Schritt 4: Wiederkehrende Qualitätsprüfungen in Definition-of-Done und Tests aufnehmen.
Modul 8: 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.
Praxisprojekt und Übungen
Eine Verwaltungsfunktion wird zunächst vollständig mit GSP und anschließend als JSON-gestützte Clientansicht umgesetzt. Formulare, Validierung, Berechtigungen und ein browserbasierter Hauptablauf werden getestet.
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: | 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.797 zzgl. MwSt. Inhaus: € 5.100 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Grails- und Full-Stack-Entwickler, Webentwickler sowie Java- oder Spring-Entwickler mit Interesse an Grails-Oberflächen. |
| Voraussetzungen: | Grundkenntnisse in HTML, CSS und JavaScript sowie grundlegende Erfahrung mit Grails-Controllern, Services und Datenbindung. |
| 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.
