Seminar Apache Grails Services, Transaktionen und Geschäftslogik

Controller und Domain-Klassen werden schnell unübersichtlich, wenn Geschäftsabläufe, Transaktionen und externe Nebenwirkungen nicht in klaren Services gebündelt sind. Gleichzeitig darf eine Service-Schicht nicht zu einer Sammlung beliebiger Hilfsmethoden werden.

Das Seminar leitet Services aus konkreten Anwendungsfällen ab. Transaktionsgrenzen und Fehlerverhalten werden explizit entworfen und mit Tests gegen Teilabbrüche und wiederholte Aufrufe abgesichert.

Inhaltsverzeichnis

  1. Zielgruppe
  2. Voraussetzungen
  3. Lernziele
  4. Modul 1: Services und fachliche Anwendungslogik
  5. Modul 2: Spring-Komponenten und Dependency Injection
  6. Modul 3: Transaktionen, Sessions und Nebenläufigkeit
  7. Modul 4: Geschäftstransaktionen und Konsistenzmuster
  8. Modul 5: Messaging, Ereignisse und Entkopplung
  9. Modul 6: Unit-Tests mit Spock
  10. Modul 7: Integrationstests mit echter Anwendungskonfiguration
  11. Praxisprojekt und Übungen
  12. Arbeitsweise

Zielgruppe

Grails- und Backend-Entwickler sowie Java- oder Spring-Entwickler mit Verantwortung für Geschäftslogik und Persistenz.

Voraussetzungen

Grails-Grundkenntnisse, Erfahrung mit GORM und objektorientierter Entwicklung. Grundwissen zu Datenbanktransaktionen ist erforderlich.

Lernziele

  • Service-Verantwortlichkeiten aus fachlichen Anwendungsfällen ableiten.
  • Abhängigkeiten und Schnittstellen transparent gestalten.
  • Transaktionsgrenzen und Rollback-Verhalten bewusst festlegen.
  • Idempotenz und Nebenwirkungen für wiederholbare Abläufe beherrschen.
  • Geschäftslogik unabhängig von Controller und Oberfläche testen.

Modul 1: Services und fachliche Anwendungslogik

Services werden als klar definierte fachliche Schnittstellen mit kontrollierten Abhängigkeiten aufgebaut.

  1. Schritt 1: Service-Verantwortlichkeiten aus Anwendungsfällen ableiten.
  2. Schritt 2: Abhängigkeiten über Konstruktor- oder Framework-Injection bereitstellen.
  3. Schritt 3: Transaktionsgrenzen und Rückgabemodelle explizit festlegen.
  4. Schritt 4: Services mit Unit- und Integrationstests unabhängig von Controllern prüfen.

Modul 2: Spring-Komponenten und Dependency Injection

Grails-Konventionen und Spring-Mechanismen werden so kombiniert, dass die Anwendung transparent und testbar bleibt.

  1. Schritt 1: Grails-Artefakte und reguläre Spring Beans voneinander abgrenzen.
  2. Schritt 2: Beans über Annotationen oder programmatische Konfiguration registrieren.
  3. Schritt 3: Konfigurationseigenschaften typisiert an Komponenten binden.
  4. Schritt 4: Lebenszyklen, Scopes und Initialisierungsreihenfolgen gezielt prüfen.

Modul 3: Transaktionen, Sessions und Nebenläufigkeit

Transaktionsgrenzen werden aus fachlichen Operationen abgeleitet und nicht dem Zufall einzelner Datenzugriffe überlassen.

  1. Schritt 1: Transaktionale Service-Methoden und Read-only-Operationen unterscheiden.
  2. Schritt 2: Flush-Verhalten, Dirty Checking und Session-Lebenszyklus nachvollziehen.
  3. Schritt 3: Optimistische und pessimistische Sperren für Konfliktsituationen bewerten.
  4. Schritt 4: Rollback, Wiederholung und Fehlerbehandlung mit Tests überprüfen.

Modul 4: Geschäftstransaktionen und Konsistenzmuster

Komplexe Abläufe werden in robuste, nachvollziehbare Transaktionen und Kompensationsschritte zerlegt.

  1. Schritt 1: Atomare und verteilte fachliche Operationen unterscheiden.
  2. Schritt 2: Idempotenz und Wiederholbarkeit für kritische Methoden herstellen.
  3. Schritt 3: Nebenwirkungen über Ereignisse oder Outbox-ähnliche Muster entkoppeln.
  4. Schritt 4: Fehlerfälle und Teilabbrüche mit gezielten Tests durchspielen.

Modul 5: Messaging, Ereignisse und Entkopplung

Asynchrone Kommunikation wird mit eindeutiger Zuständigkeit, Nachrichtenschema und Fehlerpfad gestaltet.

  1. Schritt 1: Ereignis, Befehl und Nachricht fachlich voneinander unterscheiden.
  2. Schritt 2: Produktion und Verarbeitung von Nachrichten in Services kapseln.
  3. Schritt 3: Idempotenz, Reihenfolge und doppelte Zustellung berücksichtigen.
  4. Schritt 4: Fehlerwarteschlange, Wiederholung und manuelle Nachbearbeitung vorsehen.

Modul 6: Unit-Tests mit Spock

Kleine fachliche Einheiten werden mit lesbaren Spezifikationen und klaren Testdoubles geprüft.

  1. Schritt 1: Given-when-then-Strukturen für Services und Hilfsklassen formulieren.
  2. Schritt 2: Mocks, Stubs und Spies nur entsprechend ihrer Aufgabe einsetzen.
  3. Schritt 3: Tabellentests für Varianten und Randfälle entwickeln.
  4. Schritt 4: Fehlerpfade und Interaktionen ohne unnötigen Framework-Start testen.

Modul 7: Integrationstests mit echter Anwendungskonfiguration

Zusammenspiel von Persistenz, Transaktionen, Spring-Kontext und Webschicht wird realitätsnah überprüft.

  1. Schritt 1: Integrationsprofil und Testdaten reproduzierbar konfigurieren.
  2. Schritt 2: Services und GORM gegen eine echte Testdatenbank prüfen.
  3. Schritt 3: Transaktionsverhalten und Rollback bewusst kontrollieren.
  4. Schritt 4: Langsame Tests strukturieren und von schnellen Tests trennen.

Praxisprojekt und Übungen

Ein mehrstufiger Geschäftsprozess wird aus einem überladenen Controller in Services überführt. Transaktionsabbruch, doppelte Ausführung und asynchrone Nebenwirkung werden mit Spock- und Integrationstests geprüft.

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

Seminardetails

   
Dauer: 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr
Preis: Öffentlich oder Live Stream: € 1.198 zzgl. MwSt.
Inhaus: € 3.400 zzgl. MwSt.
Teilnehmeranzahl: min. 2 - max. 8
Teilnehmer: Grails- und Backend-Entwickler sowie Java- oder Spring-Entwickler mit Verantwortung für Geschäftslogik und Persistenz.
Voraussetzungen: Grails-Grundkenntnisse, Erfahrung mit GORM und objektorientierter Entwicklung. Grundwissen zu Datenbanktransaktionen ist 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.

Seminar Startdatum Enddatum Ort Dauer
Stream gespeichert 2 Tage
Luzern 2 Tage
Bern 2 Tage
Inhaus / Firmenseminar 2 Tage
Sankt Gallen 2 Tage
Basel 2 Tage
Winterthur 2 Tage
Zürich 2 Tage
Stream live 2 Tage
Stream live 2 Tage
Stream gespeichert 2 Tage
Luzern 2 Tage
Bern 2 Tage
Inhaus / Firmenseminar 2 Tage
Sankt Gallen 2 Tage
Basel 2 Tage
Winterthur 2 Tage
Zürich 2 Tage
Zürich 2 Tage
Stream live 2 Tage
Stream gespeichert 2 Tage
Luzern 2 Tage
Bern 2 Tage
Inhaus / Firmenseminar 2 Tage
Sankt Gallen 2 Tage
Basel 2 Tage
Winterthur 2 Tage
Winterthur 2 Tage
Zürich 2 Tage
Stream live 2 Tage
Stream gespeichert 2 Tage
Luzern 2 Tage
Bern 2 Tage
Inhaus / Firmenseminar 2 Tage
Sankt Gallen 2 Tage
Basel 2 Tage
Basel 2 Tage
Winterthur 2 Tage
Zürich 2 Tage
Stream live 2 Tage
Nach oben
Seminare als Stream SRI zertifiziert
© 2026 www.seminar-experts.ch All rights reserved.  | Kontakt | Impressum | Nach oben