Modul 1b

Vom Gerüst zum Dienst

Tag 1 · ca. 25 Minuten · Brücke zu Modul 2

Inhalt

Das Zielbild

Warum euer Projekt ein Dienst werden muss

Nicht weil der Kurs Quarkus lehrt — sondern weil drei spätere Übungen sonst nicht funktionieren.

  1. Modul 2: Eine Regel nur für die Schnittstelle braucht eine Schnittstelle. Ohne sie gibt es nichts, worauf ein Geltungsbereich zeigen könnte.
  2. Modul 5: Der Diff gegen die Referenz ist nur aussagekräftig, wenn beide Seiten dieselbe Bauart haben.
  3. Modul 7: Die Referenz als fremden Code erkunden wirkt nur, wenn ihr die Bauform schon kennt.
Am Ende steht ein Projekt, das dieselbe Form hat wie das Vorlagen-Repository — nur mit eurer Lösung darin.

So sieht die Referenz aus

Das Vorlagen-Repository ist ein Quarkus-Dienst mit klarer Schichtung. Euer Ziel ist die Form, nicht der Umfang.

src/main/java/at/cgs/training/seminar/
  api/        SeminarResource, DTOs, Mapper
  service/    Fachlogik
  domain/     Seminar, Booking, Kunde
  repository/  Datenzugriff
  1. Ihr baut nur die oberste Schicht dazu — eine Resource, ein Endpunkt.
  2. Eure Fachlogik bleibt, wo sie ist. Sie wird nicht angefasst.
  3. Der Rest kommt später oder gar nicht — ihr baut kein zweites seminar-api nach.
Wer jetzt die Referenz aufmacht und abschreibt, verschenkt Modul 7 — dort soll sie fremder Code sein.

Was sich ändert

Drei Dinge, mehr nicht

Der Umbau ist kleiner, als er klingt — und genau deshalb ein guter erster riskanter Auftrag.

WasVorherNachher
Buildreines Maven-Projektpom.xml mit Quarkus-Erweiterung
Startnur mvn testzusätzlich mvn quarkus:dev — läuft und lädt neu
Zugangnur über Tests erreichbarein Endpunkt, den man aufrufen kann
Die Fachlogik bleibt unberührt. Das ist zugleich das Abnahmekriterium: Der Test von vorhin muss danach unverändert grün sein.

Übung 1b — Der Umbau

Ziel vorgeben, nicht die Schritte. Der Agent baut um, ihr prüft — und greift nicht selbst in den Code.

  1. Prompt absetzen (rechts). Er nennt das Ziel und die Grenze, nicht den Weg.
  2. Fehler zurückgeben, nicht selbst reparieren. Auch wenn es schneller ginge.
  3. Abnahme: Dienst läuft, Endpunkt antwortet, alter Test unverändert grün.
  4. Sichern: !git add -A && git commit -m "quarkus"
Prompt · UmbauBaue dieses Maven-Projekt zu einem Quarkus-Dienst um (Extension rest-jackson, Plattform-Version 3.20.6), ohne die Fachlogik zu ändern. Danach: Seminar als REST-Resource anbieten, ein GET-Endpunkt, der die freien Plätze liefert. Der bestehende Test bleibt grün. Aktualisiere zum Schluss die Stack-Rubrik in CLAUDE.md.
# Abnahme
!mvn -q test
!mvn quarkus:dev
!curl "localhost:8080/seminare/freie-plaetze?kapazitaet=10&gebucht=3"

Dauer ca. 20 Minuten · Einzelarbeit · hier ist Pause — Auflösung danach

Auflösung Übung 1b

Der Umbau selbst ist Nebensache. Interessant ist, was der Agent angefasst hat — und was ihr davon vorher wusstet.

  1. Angefasst wurde mehr als erwartet: Build-Datei, Verzeichnisstruktur, oft auch die Testklasse. Ein Auftrag, drei Baustellen.
  2. Die Fachlogik blieb — weil ihr es gesagt habt. Ohne die Grenze im Prompt wäre sie wahrscheinlich mit umgebaut worden.
  3. Der alte Test war der Wächter. Er ist das Einzige, was den Umbau objektiv abnimmt.
  4. Wer eingegriffen hat, hat einen Zustand, den der Agent nicht kennt — und merkt es beim nächsten Auftrag.
Je größer der Auftrag, desto wichtiger die Grenze darin — und ein Abnahmekriterium, das nicht verhandelbar ist.

Grundlage nachziehen

Was der Umbau an CLAUDE.md kaputt macht

In eurer Datei stand „Schnittstelle: noch keine". Das stimmt seit zwanzig Minuten nicht mehr.

## Stack — vorher
- Java 21, Build mit Maven
- Tests mit JUnit, `mvn test`
- Persistenz: noch keine
- Schnittstelle: noch keine

## Stack — nachher
- Java 21, Quarkus, Build mit Maven
- Tests mit JUnit, `mvn -q test`
- Start: `mvn quarkus:dev`
- Persistenz: noch keine
- Schnittstelle: REST unter /seminare
  1. Eine veraltete Grundlage ist schlimmer als keine. Sie klingt verbindlich und stimmt nicht mehr.
  2. Niemand merkt es sofort — der Schaden zeigt sich erst, wenn ein Auftrag auf die falsche Annahme baut.
  3. Deshalb gehört das Nachziehen in denselben Auftrag, nicht auf eine Liste für später.
Ändert sich die Wirklichkeit, muss die Grundlage nach. Das ist derselbe Satz wie bei /init in Übung 1a — nur eine Stufe später.

Was ihr jetzt habt

1Ein laufender Dienst mit einem Endpunkt — dieselbe Bauart wie das Vorlagen-Repository.
2Eine Schnittstelle, auf die sich ab Modul 2 eine eigene Regel beziehen kann.
3Eine Grundlage, die stimmt — und die Erfahrung, wie schnell sie das nicht mehr tut.
Modul 2 baut darauf zwei Regeln: eine für alle Java-Dateien, eine nur für die Schnittstelle.

© 2026 CGS IT Solutions GmbH

Alle Rechte vorbehalten

Diese Schulungsunterlagen sind urheberrechtlich geschützt. Vervielfältigung, Weitergabe oder kommerzielle Nutzung — auch in Auszügen — nur mit ausdrücklicher schriftlicher Genehmigung der CGS IT Solutions GmbH.

cgsit-claude-training · Modul 1b · v0.8.1