Slide 1

Slide 1 text

‒ Sven Hesse | JFS | 07.07.2022 Good Practices bei API-Konzeption & -Entwicklung Hätt‘ ich das früher gewusst

Slide 2

Slide 2 text

Hallo Welt, ich bin Sven. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 2 👨💻‍‍ 🚂 👪‍‍‍‍‍‍ 🥨 [email protected] / [email protected] @dersvenhesse

Slide 3

Slide 3 text

API ist mehr als Design und Technik. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 3

Slide 4

Slide 4 text

API ist mehr als Design und Technik. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 4 Auffindbarkeit, Bestellbarkeit, Abrechenbarkeit beachten

Slide 5

Slide 5 text

API ist mehr als Design und Technik. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 5 One API Ecosystem API Portfolio Enabling by API API First API as a Product Eckpfeiler der API-Strategie der DB

Slide 6

Slide 6 text

API-first, aber auch Datenquelle-first. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 6

Slide 7

Slide 7 text

API-first, aber auch Datenquelle-first. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 7 OpenAPI- Dokument Java, OpenAPI-Generator, Mapstruct, Lombok,… Implementierung Datenquelle(n) Datenquelle(n) haben Einfluss auf Implementierung und API-Design

Slide 8

Slide 8 text

API-first, aber auch Datenquelle-first. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 8 Daten-Direktabfrage Vorhaltung der Daten Zusammenführung von Daten verschiedener Quellen

Slide 9

Slide 9 text

REST ist nicht heilig. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 9

Slide 10

Slide 10 text

REST ist nicht heilig. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 10 HATEOAS Ressourcen, viele Verben Ressourcen, ein Verb eine URI, ein Verb 3 2 1 0 Richardson Maturity Model

Slide 11

Slide 11 text

Codegenerierung: jetzt. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 11

Slide 12

Slide 12 text

Codegenerierung: jetzt. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 12 Spezifikation

Slide 13

Slide 13 text

Codegenerierung: jetzt. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 13 Generator-Konfiguration

Slide 14

Slide 14 text

Codegenerierung: jetzt. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 14 Implementierung mit generierten Klassen

Slide 15

Slide 15 text

Bounded Context vs Copy & Paste DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 15

Slide 16

Slide 16 text

DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 16 Parent- POM Spring Boot Util-Library pom.xml Spezfisches (z.B. LDAP) Bounded Context vs Copy & Paste Auslagerung von Artefakten

Slide 17

Slide 17 text

Tests sind für die Tonne. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 17

Slide 18

Slide 18 text

Tests sind für die Tonne. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 18 Unit-Tests mit JUnit Integrationstests mit Karate, WireMock End-2-End-Tests mit Postman/Newman Fokus auf Integrationstests

Slide 19

Slide 19 text

Keine Angst vor v2. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 19

Slide 20

Slide 20 text

Keine Angst vor v2. DB Systel GmbH | Sven Hesse | @dersvenhesse | 07.07.2022 20 OpenAPI- Dokument Implementierung Umsetzungsmöglichkeiten

Slide 21

Slide 21 text

Sänk ju for listening. [email protected] / [email protected] @dersvenhesse