OpenAPI - Design, Dokumentation und Qualitätssicherung im API Lifecycle

Schulung / Webinar

OpenAPI ist der "Standard" für die Beschreibung von APIs und ermöglicht eine Zusammenarbeit in allen Phasen des API-Lebenszyklus. Vom API Designer über den Entwickler und Tester bis zum Beauftragten für Sicherheit arbeiten verschiedene Rollen Mithilfe von OpenAPI Dokumenten zusammen.

Das Design einer API findet sich eins zu eins in der Schnittstellenbeschreibung wieder. Selbst ein Hacker kann in der OpenAPI Sicherheitslücken erkennen und ausnutzen.

In dieser Schulung lernst du OpenAPI Dokumente zu verstehen, zu beurteilen und zu erstellen. In zahlreichen Übungen arbeitest du mit nützlichen Werkzeugen wie Editoren, Generatoren und Validatoren. Dabei übernimmst du verschiedene Rollen und Aufgaben.

Als Teilnehmer solltest du bereits über API Grundlagen verfügen z.B. durch einen Besuch unserer API Schulung.

Inhalt

JSON und YAML Grundlagen

  • Datentypen
  • JSON Reference und JSON Pointer
  • Umwandlung von JSON nach YAML und umgekehrt
  • Typische Fehler beim JSON Design

JSON Schema

  • Beschreiben von Nachrichten und Parametern
  • Formate für Email und Datum
  • Reguläre Ausdrücke
  • Zusammengesetzt Schemen
  • Erzeugen eines Schemas aus einem JSON Beispiel

Erstellen von OpenAPI Dokumenten

  • Editoren und Plugins
  • Swagger Editor und Swagger UI

API Design

  • Aufbau und Struktur eines OpenAPI Dokumentes
  • API First, API Design First und Code First
  • Der Design Prozess
  • Gestaltung von Fehlermeldungen und Problem Details
  • RESTful APIs mit OpenAPI
  • RPC mit OpenAPI

Entwicklung

  • Arbeiten mit OpenAPI im Postman
  • Generatoren für Code, SQL und Dokumentation
  • Erzeugen von Client-Bibliotheken und Server-Projekten mit dem Code Generator
  • Optimierung von OpenAPI Dokumenten für Code Generatoren

Dokumentation von Schnittstellen

  • Einbetten von Dokumentation
  • Verwendung von Bildern, Tabellen und Links
  • Hinterlegen von Beispielen
  • Automatisierte Generierung von Web-, Wiki- und Text

Versionierung

  • Wohin mit der Versionsnummer?
  • Das Versionierungsschema
  • Wann bricht die Schnittstelle?
  • Automatisierte Sicherung der Kompatibilität zwischen zwei OpenAPI Revisionen

OpenAPI und Security

  • Erkennen von Sicherheitsproblemen in der OpenAPI
  • Prüfen einer OpenAPI gegen Sciherheitsrichtlinien
  • Konfiguration von API Gateways mit OpenAPI
  • Validierung von Nachrichten gegen OpenAPI Definitionen

Qualitätssicherung und Test

  • Prüfen von OpenAPI Beschreibungen gegen API Style Guides und Richtlinien
  • APITests
  • Erzeugen von Mock APIs

APIOps, DevOps und der API Lifecycle

  • Der Prozess: Wie arbeiten Projektleitung, Fachbereich, Entwicklung, Qualitätssicherung und Sicherheit Mithilfe der OpenAPI zusammen?
  • DevOps Prinzipien und die Phasen des API Lifecycle
  • Automatisierung von Code Generierung, Qualitätssicherung und Security Tests mit CI/CD Pipelines
  • Ablage der OpenAPI Beschreibungen im SCM

Weitere Themen

  • Webhooks und Callbacks

Dauer

2 Tage

Zielgruppe

Der Kurs richtet sich an API Designer und Entwickler. Technisch interessierte Business Analysten sowie Product Owner können ebenfalls teilnehmen. Voraussetzung ist die Teilnahme an der API Schulung.

Vorkenntnisse

IT Grundkenntnisse genügen. Programmiererfahrung ist für eine Teilnahme nicht notwendig.

Ziele

  • Lernen eine OpenAPI Beschreibung selbst zu erstellen
  • Erlernen der JSON Schema Grundlagen
  • Vertiefen der API und REST Kenntnisse
  • Lernen eine API Beschreibung zu beurteilen

Kursunterlage

Ausführliches Übungsheft und Handouts aller im Kurs präsentierten Folien

Infos zu Firmenseminaren

TerminOrtTrainerPreis

* Gesamtpreis pro Teilnehmer inkl. Kursmaterial und Tagesverpflegung zzgl. Mehrwertsteuer

** Gesamtpreis pro Teilnehmer inkl. Kursmaterial zzgl. Mehrwertsteuer

Unsere Trainer auf YouTube

Dein Trainer
Image

Thomas Bayer
Thomas unterstützt Kunden bei Design und Qualitätssicherung von OpenAPI Dokumenten. In zahlreichen Projekten konnte er API Erfahrung sammeln, die er auf Konferenzen oder YouTube weitergibt.

Banner