Slide 1

Slide 1 text

API Driven Developement Grzegorz Godlewski

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

3 Api Driven Developement O czym będzie? ● RESTful API ● Dlaczego warto udostępniać API? ● Konstruowanie ● Udostępnianie

Slide 4

Slide 4 text

4 Amazon API Organizacja ● All teams will expose their data and functionality through service interfaces. ● Teams must communicate with each other through these interfaces. ● There will be no other form of inter-process communication allowed. The only communication allowed is via service interface calls over the network. ● It doesn’t matter what technology they use. ● All service interfaces, without exception, must be designed from the ground up to be externalizable. No exceptions. Anyone who doesn’t do this will be fired. Thank you; have a nice day!

Slide 5

Slide 5 text

5 Struktura systemu

Slide 6

Slide 6 text

6 System oparty o API

Slide 7

Slide 7 text

7 Wpływ API na system /post/1?commentOffset=100 /post/1?commentPage=2 Blog post Comment 0 Comment 1 Comment 500 Comment 0 Comment 1 Comment 500 Blog post Comment 0 - 49 Blog post Comment 50 - 99 Comment 100 - 149

Slide 8

Slide 8 text

8 Richardson Maturity Model Level 0: Swamp of POX

Slide 9

Slide 9 text

9 Richardson Maturity Model Level 0: Swamp of POX

Slide 10

Slide 10 text

10 Richardson Maturity Model Level 1: Resources

Slide 11

Slide 11 text

11 Richardson Maturity Model Level 2: HTTP Verbs - CRUD

Slide 12

Slide 12 text

12 Richardson Maturity Model Level 3: HATEOAS - Hypermedia as the Engine of Application State

Slide 13

Slide 13 text

13 Richardson Maturity Model Level 3: HATEOAS - Hypermedia as the Engine of Application State

Slide 14

Slide 14 text

14 Reprezentacje XML - JAXB

Slide 15

Slide 15 text

15 Reprezentacje JSON - Jackson

Slide 16

Slide 16 text

16 Richardson Maturity Model JSON HAL - stateless.co/hal_specification.html

Slide 17

Slide 17 text

17 Zasoby JAX-RS

Slide 18

Slide 18 text

18 Kolejki Wywołanie asynchroniczne

Slide 19

Slide 19 text

19 Restlet Budowa

Slide 20

Slide 20 text

20 Skalowalność Sesje

Slide 21

Slide 21 text

21 Bezpieczeństwo Tokeny

Slide 22

Slide 22 text

22 Bezpieczeństwo OAuth 2.0

Slide 23

Slide 23 text

23 Bezpieczeństwo OAuth 2.0

Slide 24

Slide 24 text

24 REST inne HTTP ● Statusy – 201, 202; 400, 405, 4xx..., 5xx ● Przekierowania – 302, 303, 307; ● Media Types ● Cache – wygasanie, zasoby złożone ● Transakcje

Slide 25

Slide 25 text

25 Dokumentacja WADL

Slide 26

Slide 26 text

26 Dokumentacja Swagger

Slide 27

Slide 27 text

27 Dokumentacja Swagger

Slide 28

Slide 28 text

28 Dokumentacja Swagger

Slide 29

Slide 29 text

29 Dokumentacja apiary.io

Slide 30

Slide 30 text

30 Inne opcje 3scale.net, mashape.com, mashery.com

Slide 31

Slide 31 text

31 ● Projektowanie ● RESTful ● Responsive API ● Bezpieczeństwo ● Udostęnienie developerom ● Wersjonowanie, przestarzałe funkcje ● Realny świat, realne API Podsumowanie Na co zwrócić uwagę tworząc API?

Slide 32

Slide 32 text

32 [email protected] http://gitgis.com - born to code Dziękuje za uwagę http://gitgis.com - born to code