Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BFF com GraphQL e NodeJS
Search
Tais Duarte
August 04, 2024
Technology
29
0
Share
BFF com GraphQL e NodeJS
Tais Duarte
August 04, 2024
More Decks by Tais Duarte
See All by Tais Duarte
Cuide bem do seu front-end: boas práticas para um código saudável
taisreisdev67
0
4
Monitoramento e Observabilidade no Frontend
taisreisdev67
0
120
Como tornar minha aplicação observável?
taisreisdev67
0
33
Construindo um BFF com PHP
taisreisdev67
0
36
GraphQL: A QUERY LANGUAGE FOR YOUR API
taisreisdev67
0
27
BOOTSTAP 4 TUDO O QUE VOCÊ PRECISA SABER
taisreisdev67
0
17
DESMISTIFICANDO O JAVASCRIPT
taisreisdev67
0
32
Other Decks in Technology
See All in Technology
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
3
2.1k
Oracle Cloud Infrastructure(OCI):Onboarding Session(はじめてのOCI/Oracle Supportご利⽤ガイド)
oracle4engineer
PRO
2
17k
Datadog で実現するセキュリティ対策 ~オブザーバビリティとセキュリティを 一緒にやると何がいいのか~
a2ush
0
190
40代からのアウトプット ― 経験は価値ある学びに変わる / 20260404 Naoki Takahashi
shift_evolve
PRO
5
810
レガシーシステムをどう次世代に受け継ぐか
tachiiri
0
180
AI時代のIssue駆動開発のススメ
moongift
PRO
0
360
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
300
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
230
やさしいとこから始めるGitHubリポジトリのセキュリティ
tsubakimoto_s
3
2.1k
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
150
出版記念イベントin大阪「書籍紹介&私がよく使うMCPサーバー3選と社内で安全に活用する方法」
kintotechdev
0
140
CloudFrontのHost Header転送設定でパケットの中身はどう変わるのか?
nagisa53
1
250
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.8k
A better future with KSS
kneath
240
18k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
190
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.8k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
190
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
Transcript
BFF com GraphQL e NodeJS FRONTIN Elas Programam 2023
+10 anos como Desenvolvedora Graduada em Jogos Digitais Sênior Software
Engineer na Creditas Apoiadora do PHPWomenBR Esposa do Valter e Mãe do Joaquim sou a Tais Prazer, @taisreis67
BFF? O que é De onde veio, onde vive e
qual problema veio resolver? 🤔
Best Friends Forever
Best Friends Forever
O Backend For Frontend, ou BFF, é um padrão de
arquitetura que tem como objetivo facilitar a comunicação entre aplicações clientes e o backend. Ok, mas para o quê e como eu uso isso?
Monolito API Web
Temos uma comunicação direta entre uma API e um cliente.
Tudo bem por enquanto
Micro Serviços User API Web Books API Auth API
Temos uma comunicação direta, mas agora entre um cliente e
3 micro serviços. Agora o cliente precisar fazer várias requisições para compor uma página
E se tivermos mais clientes? User API Web Books API
Auth API Mobile Parceiro
É aqui que o BFF nos ajuda 😉 Temos 3
clientes se comunicando com os micro serviços e os clientes Parceiro e Mobile precisa de dados e comportamentos diferentes dos outros.
User API Web Books API Auth API Mobile Parceiro Backend
For Frontend BFF BFF BFF
Agora os clientes terão autonomia para poder utilizar os micro
serviços de acordo com o que eles precisam independente de outros clientes. Cada cliente agora tem seu backend personalizado 😉
Porém como desvantagens temos mais aplicações para dar manutenção, monitorar,
fazer o deploy… Devemos analisar se temos como manter 🤔
um BFF? Como criar Vamos ver um exemplo de BFF
com GraphQL e NodeJS
Quais tecnologias vamos usar?
É uma Query Language para APIs que permite com que
o cliente peça exatamente os dados que ele precisa. O que é GraphQL? fonte: graphql.org
É um servidor GraphQL que nos dá uma série de
ferramentas que nos ajuda a trabalhar com o GraphQL. O que é Apollo Server? fonte: apollographql.com
Nosso Service Web Nosso exemplo de caso de uso Nosso
BFF
Filme Produtora Como fica a nossa estrutura? Nome Site Id
Titulo
Bora ver o código!
Referências e para saber mais https://philcalcado.com/2015/09/18/the_back_end_for_front_end_pattern_bff.html https://philcalcado.com/2019/07/12/some_thoughts_graphql_bff.html https://medium.com/jeitosanar/backend-for-frontend-uma-estratégia-sob- demanda-para-a-entrega-de-microsserviços-2f12d4cb9e3f https://graphql.org/learn/
https://www.apollographql.com/docs/apollo-server/ https://developers.themoviedb.org/3/getting-started/introduction
Dúvidas? @taisreis67
Obrigada @taisreis67 Qualquer dúvida podem me procurar!