Slide 1

Slide 1 text

ZACK DIE ENTE und der Api-Client spricht Hamburg, 29. September 2017

Slide 2

Slide 2 text

MARTIN Technical Lead @martinkalsow BENE Developer @slashbene

Slide 3

Slide 3 text

otto.de Architektur api.otto.de THREE THINGS

Slide 4

Slide 4 text

otto.de Architektur api.otto.de OTTO.DE ARCHITEKTUR

Slide 5

Slide 5 text

OTTO.DE ARCHITEKTUR

Slide 6

Slide 6 text

OTTO.DE ARCHITEKTUR

Slide 7

Slide 7 text

OTTO.DE ARCHITEKTUR

Slide 8

Slide 8 text

otto.de Architektur api.otto.de API.OTTO.DE

Slide 9

Slide 9 text

Y API?

Slide 10

Slide 10 text

1. Ziele 2. Anforderungen 3. Architektur 4. Einheitliches Bild nach Außen Datenschutz & Recht Dokumentation Aufklärung & Wissensverteilung HOW TO BUILD YOURSELF AN API

Slide 11

Slide 11 text

DIE API SOLL WIRKEN, ALS OB SIE AUS EINEM GUSS, VON EINEM ENTWICKLER, GESCHRIEBEN WURDE.

Slide 12

Slide 12 text

Sicher & Standardisiert Data driven Einheitliches API Design Allgemein & abstrahiert Autonomie der Teams 1. ZIELE

Slide 13

Slide 13 text

2. ANFORDERUNGEN Technologiefreiheit Lose Kopplung Shared Nothing Vertikaler Systemschnitt RESTful Architektur Test and Learn Zentrale Rechte- & Rollenverwaltung

Slide 14

Slide 14 text

3. ARCHITEKTUR - ZENTRAL

Slide 15

Slide 15 text

3. ARCHITEKTUR - ZENTRAL Data driven Sicher und Standardisiert Einheitliches API Design Allgemeingültig und abstrahiert Autonomie der Teams Technologiefreiheit Lose Kopplung Shared Nothing Vertikaler Systemschnitt RESTful Architektur Test and Learn Zentrale Rechte- & Rollenverwaltung

Slide 16

Slide 16 text

3. ARCHITEKTUR - DEZENTRAL

Slide 17

Slide 17 text

3. ARCHITEKTUR - DEZENTRAL Data driven Sicher und Standardisiert Einheitliches API Design Allgemeingültig und abstrahiert Autonomie der Teams Technologiefreiheit Lose Kopplung Shared Nothing Vertikaler Systemschnitt RESTful Architektur Test and Learn Zentrale Rechte- & Rollenverwaltung

Slide 18

Slide 18 text

UMSETZUNG API-Authorization-Server Basiert auf Java Microservice Template von otto.de: Sprint-Boot Spring-Security OAuth Spring-Security JWT Mongo-DB API-Validation-Services Spring-Security Core public @interface PreAuthorize @PreAuthorize("#oauth2.hasScope('read')")

Slide 19

Slide 19 text

4. EINHEITLICHES BILD NACH AUSSEN

Slide 20

Slide 20 text

otto.de Architektur api.otto.de ENTE

Slide 21

Slide 21 text

Die spricht

Slide 22

Slide 22 text

MARTIN KALSOW BENEDIKT STEMMILDT Fragen? DEV.OTTO.DE GITHUB.COM/OTTO-DE [email protected] [email protected]