A trilha Ada Lovelace também recebeu o desenvolvedor e Senior/ScrumMaster na Leroy Merlin Brasil, Ravan Scafi, que encontrou um ambiente cheio, com pessoas sentadas na frente do palco para assistir sua apresentação.
Ravan começou a apresentação falando sobre Interface, que é um elemento que proporciona uma ligação física ou lógica entre dois sistemas ou partes dentro de uma tecnologia.
Rest
O Rest é baseado em endpoits, para consultar ou armazenar dados. Podemos separar endpoints por recursos. Ele estabelece uma relação cliente-servidor, também seguindo as convenções HTTP.
“O legal do Rest, é que você pode explorar diferentes tipos de cache. Ele também é uniforme e é feito para durar décadas”. – Ravan Scafi
Problemas do Rest
Utilizar o Rest pode trazer algumas desvantagens. Scafi listou algumas:
- Recomendações nem sempre são seguidas
- Excesso de Roundtrips dependendo da operação
- Nem sempre os Verbos HTTP disponíveis falam com clareza
- Operações “BULK” fogem do Padrão
Para resolver, um dos caminhos é utilizar o RPC (Remote Procedure Recall), que foi popularizado pelo SOAP. Ele pode ser baseado em JSON. O RPC tem como foco a operação. Scafi deu um exemplo muito interessante, o mecanismo de buscas Google, que realiza 10 bilhões de chamadss em um segundo. Vale lembrar que uma biblioteca open source, baseada em HTTP 2, foi disponibilizada pela Google.
O RPC também possui alguns problemas, sendo eles:
- Abstrai complexidade, podendo gerar atrasos na rede
- Pode complicar mais do que se não estivesse presente
Bruno apresentou nos slides o crescimento da API do Soundcloud e como a BFF pode ajudar a resolver uma distribuição e organização de uma API que cresceu exponencialmente. Já o Netflix, possui uma API geral que é distribuída com uma facilidade maior.
“Você pode usar mais de uma solução, mas por favor, não na mesma API. Versionamento é sempre díficil e não existe bala de prata, devemos conhecer nossos dados e nossos clientes. Empatia é a palavra chave. Devemos ser capazes de sentir o que nossos clientes sentem e desejar o que eles desejam”. – Ravan Scafi
Para encerrar, ele explicou os problemas da API BFF e do Rest, e como podemos contorna-los e trouxe algumas vantagens pontuais do GraphQL, que foi tema de uma das apresentações da InterCon 2017 na parte da manhã.