SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
#WISSENTEILEN
@_openKnowledge
API-First
Design mit
API-First Design
mit Swagger/OAS
BRANCHENNEUTRALE SOFTWAREENTWICKLUNG UND IT-BERATUNG
ÜBER OPEN KNOWLEDGE
ÜBER UNS
Wer bin ich - und wenn ja, wie viele?
• Enterprise Architect
• Enterprise & mehr
• Autor, Speaker, Berater, Coach
• Tauch & Ski Enthusiast
• Grillmeister & Hobbygärtner ;)
STEPHAN MÜLLER
SM
#WISSENTEILEN
APIbucks
... ordering Coffee the digital way
#WISSENTEILEN
„Order 123 for
‚Larissa‘.“
„And here‘s the
receipt.“
„Here‘s 5$.“
„What‘s the
status of ‚123‘?“„Still preparing.“
„Now its ready.“
API-First Design mit Swagger/OAS by Example
{?} „Coffee, latte,
large, to-go,
semi, double
shot, please.“
#WISSENTEILEN
place an ORDER (UC-01)
customize the ORDER (UC-02)
pay for ORDER (UC-03)
check status of ORDER (UC-04)
add ORDER
to queue
deliver ORDER
API-First Design mit Swagger/OAS by Example
{?}
#WISSENTEILEN
{A}1ST
#WISSENTEILEN
YOUR API IS THE
FIRST USER
INTERFACE OF
YOUR APPLICATION
#WISSENTEILEN
YOUR API COMES
FIRST, THEN THE
IMPLEMENTATION
#WISSENTEILEN
YOUR API IS
DESCRIBED (AND
MABY EVEN
SELF-DESCRIPTIVE)
#WISSENTEILEN
API-First!
#1 – Planen
#2 – Entwerfen & Validieren
#3 – Überarbeiten
#4 – Testen
#5 – Implementieren
#6 – Betreiben & Lernen (zurück zu #1)
API-First Design mit Swagger/OAS by Example
{?}
#WISSENTEILEN
Was brauchen wir zur Umsetzung?
• Repräsentation der Order (JSON, XML, ...)
• Kommunikation zwischen Client & Service (HTTP)
• den Service selbst als Ressource (URI)
• und … (z.B. custom Header)
{?}
API-First Design mit Swagger/OAS by Example
#WISSENTEILEN
APIbucks
... API-First – Round 1
#WISSENTEILEN
// UC-01 order coffee
// UC-02 change order
// UC-03 pay order
// UC-04 check order status
APIbucks
#WISSENTEILEN
// UC-01 order coffee
POST /orders
{ ... initial order data ... }
// UC-02 change order
PUT /orders/1234
{ ... some changes ... }
// UC-03 pay order
POST /payments
{ ... payment data & order id ... }
// UC-04 check order status
GET /orders/1234
APIbucks
#WISSENTEILEN
Swagger / Open API Specification (OAS)
API-First Design mit Swagger/OAS by Example
Design mit Swagger Editor Build mit Swagger Codegen Dokumentiere mit Swagger-UI
#WISSENTEILEN
Swagger / Open API Specification (OAS)
API-First Design mit Swagger/OAS by Example
Teste mit Postman Integriere alles mit SWAGGERhub
#WISSENTEILEN
3rd Party Tools mit Swagger/OAS Unterstützung
• Dokumentiere mit ReDoc & Asciidoc
• Prüfe Consumer-driven Contracts mit Pact
• Implementiere client-seitige Validierung auf Basis von JSON-
Schema
API-First Design mit Swagger/OAS by Example
#WISSENTEILEN
demo$ demo
demo$ api-first design
demo$ |
#WISSENTEILEN
„Das* API ist das
UI des Entwicklers.“
(*wer möchte, darf auch “die API“ sagen)
#WISSENTEILEN
FRAGEN
? ? ?
Kontakt
STEPHAN MÜLLER
ENTERPRISE ARCHITECT
stephan.mueller@openknowledge.de
+49 (0)441 4082 – 0
@_openknowledge
OFFENKUNDIGGUT
#WISSENTEILEN
Bildnachweise
#01: © dzone.com
#16: © swagger.io
#17: © swaggerhub.com, getpostman.com
All other pictures inside this presentation orginate
from pixabay.com or were created by my own.
#WISSENTEILEN

Weitere ähnliche Inhalte

Ähnlich wie API-First Design mit Swagger/OAS

Herausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-ArchitekturHerausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-ArchitekturOPEN KNOWLEDGE GmbH
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten SystemenOPEN KNOWLEDGE GmbH
 
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?OPEN KNOWLEDGE GmbH
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenOPEN KNOWLEDGE GmbH
 
Offline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon InternetOffline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon InternetOPEN KNOWLEDGE GmbH
 
Puppet: Aufbau einer Open Source Umgebung (Webinar vom 09.05.2014)
Puppet: Aufbau einer Open Source Umgebung (Webinar vom 09.05.2014)Puppet: Aufbau einer Open Source Umgebung (Webinar vom 09.05.2014)
Puppet: Aufbau einer Open Source Umgebung (Webinar vom 09.05.2014)NETWAYS
 
Setting-up Elasticsearch, Logstash, Kibana für agile Datenanalyse
Setting-up Elasticsearch, Logstash, Kibana für agile DatenanalyseSetting-up Elasticsearch, Logstash, Kibana für agile Datenanalyse
Setting-up Elasticsearch, Logstash, Kibana für agile DatenanalyseSHI Search | Analytics | Big Data
 

Ähnlich wie API-First Design mit Swagger/OAS (8)

Herausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-ArchitekturHerausforderung „Multi-Channel“-Architektur
Herausforderung „Multi-Channel“-Architektur
 
Shared Data in verteilten Systemen
Shared Data in verteilten SystemenShared Data in verteilten Systemen
Shared Data in verteilten Systemen
 
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
Von „less Server“ bis „Serverless“: Wie viel Cloud soll es sein?
 
Shared Data in verteilten Architekturen
Shared Data in verteilten ArchitekturenShared Data in verteilten Architekturen
Shared Data in verteilten Architekturen
 
Enterprise Java on Steroids
Enterprise Java on SteroidsEnterprise Java on Steroids
Enterprise Java on Steroids
 
Offline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon InternetOffline-first Architekturen: Wer bitte braucht schon Internet
Offline-first Architekturen: Wer bitte braucht schon Internet
 
Puppet: Aufbau einer Open Source Umgebung (Webinar vom 09.05.2014)
Puppet: Aufbau einer Open Source Umgebung (Webinar vom 09.05.2014)Puppet: Aufbau einer Open Source Umgebung (Webinar vom 09.05.2014)
Puppet: Aufbau einer Open Source Umgebung (Webinar vom 09.05.2014)
 
Setting-up Elasticsearch, Logstash, Kibana für agile Datenanalyse
Setting-up Elasticsearch, Logstash, Kibana für agile DatenanalyseSetting-up Elasticsearch, Logstash, Kibana für agile Datenanalyse
Setting-up Elasticsearch, Logstash, Kibana für agile Datenanalyse
 

Mehr von OPEN KNOWLEDGE GmbH

Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIWarum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIOPEN KNOWLEDGE GmbH
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...OPEN KNOWLEDGE GmbH
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudOPEN KNOWLEDGE GmbH
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationOPEN KNOWLEDGE GmbH
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!OPEN KNOWLEDGE GmbH
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. OPEN KNOWLEDGE GmbH
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoOPEN KNOWLEDGE GmbH
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsOPEN KNOWLEDGE GmbH
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeOPEN KNOWLEDGE GmbH
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungOPEN KNOWLEDGE GmbH
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingOPEN KNOWLEDGE GmbH
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusOPEN KNOWLEDGE GmbH
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!OPEN KNOWLEDGE GmbH
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?OPEN KNOWLEDGE GmbH
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 

Mehr von OPEN KNOWLEDGE GmbH (20)

Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AIWarum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
Warum der Computer "Nein" sagt - Mehr Nachvollziehbarkeit dank Explainable AI
 
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
Machine Learning? Ja gerne! Aber was und wie? Eine Kurzanleitung für den erfo...
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data ImputationFEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
FEHLENDE DATEN? (K)EIN PROBLEM!: Die Kunst der Data Imputation
 
Nie wieder Log-Files!
Nie wieder Log-Files!Nie wieder Log-Files!
Nie wieder Log-Files!
 
Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!Cloud-native and Enterprise Java? Hold my beer!
Cloud-native and Enterprise Java? Hold my beer!
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
 
API Expand Contract
API Expand ContractAPI Expand Contract
API Expand Contract
 
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & CoReady for the Future: Jakarta EE in Zeiten von Cloud Native & Co
Ready for the Future: Jakarta EE in Zeiten von Cloud Native & Co
 
Machine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.jsMachine Learning mit TensorFlow.js
Machine Learning mit TensorFlow.js
 
KI und Architektur
KI und ArchitekturKI und Architektur
KI und Architektur
 
It's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale NetzeIt's not Rocket Science: Neuronale Netze
It's not Rocket Science: Neuronale Netze
 
Business-Mehrwert durch KI
Business-Mehrwert durch KIBusiness-Mehrwert durch KI
Business-Mehrwert durch KI
 
Mehr Sicherheit durch Automatisierung
Mehr Sicherheit durch AutomatisierungMehr Sicherheit durch Automatisierung
Mehr Sicherheit durch Automatisierung
 
API-Design, Microarchitecture und Testing
API-Design, Microarchitecture und TestingAPI-Design, Microarchitecture und Testing
API-Design, Microarchitecture und Testing
 
Supersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: QuarkusSupersonic Java für die Cloud: Quarkus
Supersonic Java für die Cloud: Quarkus
 
Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!Hilfe, ich will meinen Monolithen zurück!
Hilfe, ich will meinen Monolithen zurück!
 
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
Das ist doch alles nur Frontend - Wer braucht da schon Architektur?
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 

API-First Design mit Swagger/OAS