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