×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
© 2018 – Creditas Soluções Financeiras Ltda. 1 Modeling GraphQL Renato Benkendorf
Slide 2
Slide 2 text
© 2018 – Creditas Soluções Financeiras Ltda. 2 @renatobenks
Slide 3
Slide 3 text
© 2018 – Creditas Soluções Financeiras Ltda. 3
Slide 4
Slide 4 text
© 2018 – Creditas Soluções Financeiras Ltda. 4
Slide 5
Slide 5 text
© 2018 – Creditas Soluções Financeiras Ltda. 5 © 2018 – Creditas Consultoria Financeira Ltda. Software Engineer @renatobenks
Slide 6
Slide 6 text
© 2018 – Creditas Soluções Financeiras Ltda. 6 © 2018 – Creditas Consultoria Financeira Ltda. Software Engineer @renatobenks creditas.com.br @CreditasBR Fintech Plataforma online Empréstimo com garantia
Slide 7
Slide 7 text
© 2018 – Creditas Soluções Financeiras Ltda. 7
Slide 8
Slide 8 text
© 2018 – Creditas Soluções Financeiras Ltda. 8 Modeling GraphQL Renato Benkendorf
Slide 9
Slide 9 text
© 2018 – Creditas Soluções Financeiras Ltda. 9 Where it came from?
Slide 10
Slide 10 text
© 2018 – Creditas Soluções Financeiras Ltda. 10
Slide 11
Slide 11 text
© 2018 – Creditas Soluções Financeiras Ltda. 11 Scaling GraphQL
Slide 12
Slide 12 text
© 2018 – Creditas Soluções Financeiras Ltda. 12 Scaling GraphQL 1. multiple clients
Slide 13
Slide 13 text
© 2018 – Creditas Soluções Financeiras Ltda. 13 Scaling GraphQL 1. multiple clients 2. multiple teams
Slide 14
Slide 14 text
© 2018 – Creditas Soluções Financeiras Ltda. 14 Scaling GraphQL Aggregation layer (ESB, BFF, API Gateway, Orchestrator)
Slide 15
Slide 15 text
© 2018 – Creditas Soluções Financeiras Ltda. 15 Scaling GraphQL integrate business domain to the clients
Slide 16
Slide 16 text
© 2018 – Creditas Soluções Financeiras Ltda. 16 Scaling GraphQL
Slide 17
Slide 17 text
© 2018 – Creditas Soluções Financeiras Ltda. 17 Demystifying GraphQL
Slide 18
Slide 18 text
© 2018 – Creditas Soluções Financeiras Ltda. 18 Demystifying GraphQL QL (Query-Language) Graph
Slide 19
Slide 19 text
© 2018 – Creditas Soluções Financeiras Ltda. 19 Demystifying GraphQL Graph ● The objects are vertices or nodes. ● The links are edges.
Slide 20
Slide 20 text
© 2018 – Creditas Soluções Financeiras Ltda. 20 Demystifying GraphQL Query language (QL) refers to any computer programming language that requests and retrieves data by sending queries
Slide 21
Slide 21 text
© 2018 – Creditas Soluções Financeiras Ltda. 21 Demystifying GraphQL GraphQL ● The nodes are the object types. ● The edges are the fields.
Slide 22
Slide 22 text
© 2018 – Creditas Soluções Financeiras Ltda. 22 and what about modelling?
Slide 23
Slide 23 text
© 2018 – Creditas Soluções Financeiras Ltda. 23
Slide 24
Slide 24 text
© 2018 – Creditas Soluções Financeiras Ltda. 24 Modeling a GraphQL API
Slide 25
Slide 25 text
© 2018 – Creditas Soluções Financeiras Ltda. 25 Modeling a GraphQL API 1. data modelling
Slide 26
Slide 26 text
© 2018 – Creditas Soluções Financeiras Ltda. 26 Modeling a GraphQL API 1. data modelling 2. context modelling
Slide 27
Slide 27 text
© 2018 – Creditas Soluções Financeiras Ltda. 27 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 28
Slide 28 text
© 2018 – Creditas Soluções Financeiras Ltda. 28 Modeling a GraphQL API data modelling Using “endpoint style” rather than thinking in graphs
Slide 29
Slide 29 text
© 2018 – Creditas Soluções Financeiras Ltda. 29 Modeling a GraphQL API data modelling Using “endpoint style” rather than thinking in graphs
Slide 30
Slide 30 text
© 2018 – Creditas Soluções Financeiras Ltda. 30 Modeling a GraphQL API data modelling Mapping their GraphQL schema directly to their database tables
Slide 31
Slide 31 text
© 2018 – Creditas Soluções Financeiras Ltda. 31 Modeling a GraphQL API data modelling Mapping their GraphQL schema directly to their database tables
Slide 32
Slide 32 text
© 2018 – Creditas Soluções Financeiras Ltda. 32 Modeling a GraphQL API data modelling thinking in graphs
Slide 33
Slide 33 text
© 2018 – Creditas Soluções Financeiras Ltda. 33 Modeling a GraphQL API data modelling thinking in graphs
Slide 34
Slide 34 text
© 2018 – Creditas Soluções Financeiras Ltda. 34 data modelling Mapping their GraphQL schema directly to their back-end data model Modeling a GraphQL API
Slide 35
Slide 35 text
© 2018 – Creditas Soluções Financeiras Ltda. 35 data modelling Mapping their GraphQL schema directly to their back-end data model Modeling a GraphQL API
Slide 36
Slide 36 text
© 2018 – Creditas Soluções Financeiras Ltda. 36 Modeling a GraphQL API data modelling thinking in graphs
Slide 37
Slide 37 text
© 2018 – Creditas Soluções Financeiras Ltda. 37 Modeling a GraphQL API data modelling thinking in graphs
Slide 38
Slide 38 text
© 2018 – Creditas Soluções Financeiras Ltda. 38 Modeling a GraphQL API context modelling
Slide 39
Slide 39 text
© 2018 – Creditas Soluções Financeiras Ltda. 39 Modeling a GraphQL API context modelling Sales context
Slide 40
Slide 40 text
© 2018 – Creditas Soluções Financeiras Ltda. 40 Modeling a GraphQL API context modelling Ticket context
Slide 41
Slide 41 text
© 2018 – Creditas Soluções Financeiras Ltda. 41 Modeling a GraphQL API context modelling Sales + Ticket
Slide 42
Slide 42 text
© 2018 – Creditas Soluções Financeiras Ltda. 42 "With GraphQL, you model your business domain as a graph" Modeling a GraphQL API
Slide 43
Slide 43 text
© 2018 – Creditas Soluções Financeiras Ltda. 43 Use case
Slide 44
Slide 44 text
© 2018 – Creditas Soluções Financeiras Ltda. 44
Slide 45
Slide 45 text
© 2018 – Creditas Soluções Financeiras Ltda. 45 Use case current scenario ● domain business currently is servicing ● domain data in redux ● mapping the boundaries
Slide 46
Slide 46 text
© 2018 – Creditas Soluções Financeiras Ltda. 46 Use case next challenges ● app cross-squad ● app composition ● manage a lot of data from different domains
Slide 47
Slide 47 text
© 2018 – Creditas Soluções Financeiras Ltda. 47 © 2018 – Creditas Consultoria Financeira Ltda. We're hiring vagas.creditas.com.br
Slide 48
Slide 48 text
© 2018 – Creditas Soluções Financeiras Ltda. 48 Thanks!