TEKO Schweizerische FachschuleEAI IntegrationslaborUnterricht 2 von 4

Unterricht 02 · Synchron

API Management
& Microsoft

Mission: Eine Forms-Antwort startet einen Cloud-Workflow; darin wird der HTTP-Hop über Gravitee und den .NET-Service nach Odoo synchron und kontrolliert ausgeführt.

OpenAPIGravitee.NETLogic Apps7 Übungen
Datenfluss

Ein hybrider Workflow mit synchronen Hops

Microsoft Forms
Kundenanfrage
Logic Apps
Orchestrierung
Gravitee → .NET → Odoo
Schutz · Logik · Daten
!
Wichtige Zeitgrenze: Die Person im Browser wartet nicht synchron auf Odoo. Forms löst einen Workflow aus. Innerhalb dieses Workflows wartet Logic Apps jedoch synchron auf Gateway, Service und Odoo. Cloud- und Zielsysteme benötigen bereitgestellte Testzugänge und sind nicht Teil des mitgelieferten Docker-Stacks.
Theorie vertiefen

Latenz und Vertrag wirklich verstehen

Theorie

Wer macht was?

1. Synchrone Kommunikation
Der Aufrufer wartet auf die Antwort. Das passt für kurze Abfragen, Validierungen und unmittelbares Benutzerfeedback. Lange oder unsichere Prozesse gehören nicht in eine synchrone Kette.
2. API-Vertrag und OpenAPI
Der Vertrag definiert Ressourcen, Methoden, Schemas, Statuscodes und Security. Er trennt Konsumenten von der internen Implementierung und macht Tests reproduzierbar.
3. Verantwortung von Gravitee
Gateway-Aufgaben: Authentifizierung, Rate Limit, Routing, einfache Policies und Metriken. Fachliche Produktlogik und Odoo-Mapping bleiben im Service.
4. Authentifizierung und Autorisierung
Authentifizierung klärt, wer anfragt. Autorisierung klärt, was diese Identität darf. API-Keys sind für das Labor einfach; produktiv sind kurzlebige Tokens und klar definierte Berechtigungen oft geeigneter.
5. Timeout und Fehlervertrag
Ein Timeout sagt nicht sicher, ob das Ziel die Aktion ausgeführt hat. Einheitliche Fehlerobjekte und Correlation-IDs machen Diagnose möglich.
6. Low-Code oder eigener Service?
Logic Apps eignet sich für Connectoren und transparente Orchestrierung. Komplexe, wiederverwendbare oder stark getestete Fachlogik passt besser in einen versionierten Service.
Interaktiv

Echte Sync-API statt Browserattrappe

Direkter Request

curl -i \
  "https://teko.algorithma.app/lab/api/v1/hospitals/spital-bern/capacity?department=notfall"

Geführte Kette

Das Live-Labor ruft nacheinander Ortsregister, Spitalregister und Kapazitätsressource auf und zeigt jede Response.

Sync-Labor öffnen →
Praxis

Übungslabor

🟢 Pflicht · 🔵 Plus · 🟣 Challenge
Pflicht20 min

1. .NET Sync API direkt aufrufen (Schulumgebung)

Rufe Preis und Verfügbarkeit für KT-100 direkt am bereitgestellten Microservice ab. Dokumentiere Request, Response und Dauer. Ohne Schulzugang dient das öffentliche Spital-Sync-Labor als technisch äquivalenter Nachweis.

GET <SCHUL-SERVICE-URL>/api/products/KT-100/availability
Accept: application/json
Pflicht25 min

2. API in Gravitee veröffentlichen

Lege Routing und einen Plan an. Der externe Pfad darf die interne Serviceadresse nicht verraten.

Abnahmekriterium

Der gleiche Endpunkt ist über das Gateway erreichbar, der direkte Service bleibt davon unabhängig.

Prüfen: Backend URL, Context Path, Deployment, aktiver Plan und Gateway-Status.
Pflicht25 min

3. API-Key und Rate Limit

Schütze die API mit einem Key und begrenze sie auf fünf Anfragen pro Minute. Teste gültigen Key, falschen Key und Überschreitung.

Erwartung: gültig → 200, fehlend/falsch → 401 oder 403, Limit überschritten → 429.
Pflicht25 min

4. Kundenformular in Microsoft Forms

Erstelle Felder für Firma, E-Mail, SKU, Menge, Liefertermin und Nachricht. Definiere Pflichtfelder bewusst.

Entscheidungsfrage

Soll das Formular eine Odoo-ID, eine SKU oder einen freien Produktnamen abfragen?

Plus30 min

5. Logic-App-Mapping

Reagiere auf eine neue Forms-Antwort, lese die Details und forme sie in den API-Vertrag um.

{
  "company": "@{...}",
  "email": "@{...}",
  "sku": "@{...}",
  "quantity": 3,
  "requestedDelivery": "2026-09-18"
}
Plus35 min

6. Hybrid-End-to-End

Sende das Formular ab. Forms startet den Workflow; anschließend ruft die Logic App Gravitee synchron auf, der .NET-Service validiert und Odoo erstellt einen Entwurf. Markiere im Sequenzdiagramm, wer auf wen wartet.

Nachweis: Forms Response ID, Logic-App-Lauf, Gateway-Aufruf, Service-Log und Odoo-Referenz gehören zusammen.
Challenge30 min

7. Timeout richtig behandeln

Verzögere Odoo künstlich. Entwirf eine verständliche Antwort für den Benutzer und entscheide, ob ein automatischer Retry sicher ist.

Achtung: Bei einem schreibenden POST kann blindes Wiederholen Doppelaufträge erzeugen. Idempotency-Key oder Async-Verarbeitung prüfen.
Diskussion

Gateway, Low-Code oder Code?

  • Welche Logik gehört in Logic Apps, Gravitee oder .NET?
  • Wann wird eine synchrone Kette zu fragil?
  • Reicht ein API-Key im Produktivbetrieb?
  • Wie viel technische Information darf der Benutzer im Fehler sehen?
Moderationsziel: Nicht jedes Werkzeug soll alles tun. Verantwortungen und Betriebsfolgen müssen benannt werden.
Mini-Quiz

Eine klare Grenze

Wo gehört die Regel „Bestellmenge darf Bestand nicht überschreiten“ hin?

Ergebnis des Tages
Geschützter synchroner Prozess mit API-Vertrag, Microsoft-Eingangskanal und nachvollziehbarer Fehlerbehandlung.