Slide 1

Slide 1 text

1 Modeling GraphQL APIs Renato Benkendorf

Slide 2

Slide 2 text

2 @renatobenks

Slide 3

Slide 3 text

3

Slide 4

Slide 4 text

4

Slide 5

Slide 5 text

5 Software Engineer @renatobenks

Slide 6

Slide 6 text

6 Software Engineer @renatobenks creditas.com.br @CreditasBR Fintech Plataforma online Empréstimo com garantia

Slide 7

Slide 7 text

7

Slide 8

Slide 8 text

8 Modeling GraphQL API's Renato Benkendorf

Slide 9

Slide 9 text

9 Where it came from?

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

11 Scaling GraphQL

Slide 12

Slide 12 text

12 Scaling GraphQL 1. to multiple clients 2. cross-team

Slide 13

Slide 13 text

13 Scaling GraphQL Aggregation layer (ESB, BFF, API Gateway, Orchestrator)

Slide 14

Slide 14 text

14 Scaling GraphQL integrate business domains to the clients

Slide 15

Slide 15 text

15 Scaling GraphQL

Slide 16

Slide 16 text

16 Demystifying GraphQL

Slide 17

Slide 17 text

17 Demystifying GraphQL QL (Query-Language) Graph

Slide 18

Slide 18 text

18 Demystifying GraphQL Graph ● The objects are vertices or nodes. ● The links are edges.

Slide 19

Slide 19 text

19 Demystifying GraphQL Query language (QL) refers to any computer programming language that requests and retrieves data by sending queries

Slide 20

Slide 20 text

20 Demystifying GraphQL GraphQL ● The nodes are the object types. ● The edges are the fields.

Slide 21

Slide 21 text

21 and what about modelling?

Slide 22

Slide 22 text

22

Slide 23

Slide 23 text

23 Modeling a GraphQL API

Slide 24

Slide 24 text

24 Modeling a GraphQL API data modelling

Slide 25

Slide 25 text

25 Modeling a GraphQL API data modelling 1. Using “endpoint style” rather than thinking in graphs 2. Mapping their GraphQL schema directly to their database tables (foreign keys and all) 3. Mapping their GraphQL schema directly to their back-end data model (eg. your model classes from your ORM or the like)

Slide 26

Slide 26 text

26 Modeling a GraphQL API data modelling Using “endpoint style” rather than thinking in graphs

Slide 27

Slide 27 text

27 Modeling a GraphQL API data modelling Using “endpoint style” rather than thinking in graphs

Slide 28

Slide 28 text

28 Modeling a GraphQL API data modelling Mapping their GraphQL schema directly to their database tables

Slide 29

Slide 29 text

29 Modeling a GraphQL API data modelling Mapping their GraphQL schema directly to their database tables

Slide 30

Slide 30 text

30 Modeling a GraphQL API data modelling thinking in graphs

Slide 31

Slide 31 text

31 Modeling a GraphQL API data modelling thinking in graphs

Slide 32

Slide 32 text

32 data modelling Mapping their GraphQL schema directly to their back-end data model Modeling a GraphQL API

Slide 33

Slide 33 text

33 data modelling Mapping their GraphQL schema directly to their back-end data model Modeling a GraphQL API

Slide 34

Slide 34 text

34 Modeling a GraphQL API data modelling Mapping their GraphQL schema directly to their back-end data model

Slide 35

Slide 35 text

35 Modeling a GraphQL API data modelling Mapping their GraphQL schema directly to their back-end data model

Slide 36

Slide 36 text

36 "With GraphQL, you model your business domain as a graph" Modeling a GraphQL API

Slide 37

Slide 37 text

37 Use case

Slide 38

Slide 38 text

38

Slide 39

Slide 39 text

39 Use case current scenario ● domain business currently is servicing ● domain data in redux ● mapping the boundaries

Slide 40

Slide 40 text

40 Use case next challenges ● app cross-squad ● app composition ● manage a lot of data from different domains

Slide 41

Slide 41 text

41 Temos vagas vagas.creditas.com.br

Slide 42

Slide 42 text

42 Thanks!