GraphQL para Integração entre Sistemas

Uma tecnologia nova e relevante, com foco em otimização e simplificação de chamadas de APIs.

OPTMAX

GraphQL para Integração entre Sistemas

GraphQL é uma tecnologia recente que se propõe a substituir o REST (Representational State Transfer) que é uma arquitetura utilizada para integração entre sistemas na arquitetura Cliente/Servidor. Utilizada amplamente desde os anos 2000, o REST domina o mercado e foi bem acolhido pelos desenvolvedores de software. Em 2015, o Facebook lançou o GraphQL, que é um novo método mais poderoso, capaz de realizar a mesma integração de forma mais simples, eficaz e mais barata. Foi lançado como uma linguagem Open Source, e desde então tem sido adotado gradativamente por empresas referência no mercado.

Como funciona?

Diferente das arquiteturas REST, que necessitam da criação de endpoints para expor os dados de um servidor, GraphQL transfere os dados entre o cliente e o servidor por meio de queries (para realizar consultas) e mutations (para realizar alterações). Os métodos HTTP ainda são utilizados por ambas tecnologias para realizarem requisições. Por um lado, projetos que utilizam da tecnologia REST para produzir suas requisições devem, obrigatoriamente, definir qual método deve ser utilizado em conjunto com os endpoints criados. Em contrapartida, utilizando o GraphQL estes métodos são mascarados pela linguagem, reduzindo para um endpoint que pode expressar o conjunto completo de recursos criados pelo serviço, facilitando o desenvolvimento dos projetos, uma vez que os dados são transferidos atrasvés de queries e mutations.

O Postman é um grande aliado no desenvolvimento de testes dessas APIs. Nele é possível realizar qualquer operação GraphQL, sejam queries ou mutations, além de dar suporte à linguagem sendo possível a realização de testes práticos, simples e rápidos da API que está sendo desenvolvida.

Resumo de Vantagens

Vantagem 1: A linguagem GraphQL é fortemente tipada, isso significa que os dados de parâmetro e retorno pertencem a algum tipo. Logo, uma vez que a estrutura de dados seja definida para um projeto, o desenvolvimento da parte de backend e frontend podem ser feitos de forma independente.

Vantagem 2: Retorna entidades de forma hierárquica e campos específicos, facilita integração e reduz tráfego na rede ao necessário, sendo excelente para aplicações móveis. Entretanto, ao mesmo tempo dificulta o caching, uma vez que o retorno de uma mesma consulta pode ser diferente dependendo dos dados requisitados pelo cliente, mesmo que a operação seja em um mesmo objeto.

Vantagem 3: Existe, também, uma interface que permite entender e explorar a linguagem e API GraphQL. Com GraphQLi é possível verificar a sintaxe e semantica da linguagem GraphQL, simplificando e facilitando a codificação e robustez do código.

Conclusão

Embora seja um recurso relativamente novo, o GraphQL vem ganhando mercado e sendo utilizado em diversas aplicações de renome como Facebook, Github e Pinterest. Empresas como essas ditam o que vai ser utilizado no mercado em alguns anos. As vantagens decorrentes da sua utilização não deixam dúvidas para qualquer arquiteto de software sobre a sua utilização em projetos de todos os portes, em detrimento do padrão REST.

Quer saber mais?

The Fullstack Tutorial for GraphQL
Postman
Entre em contato (contato@optmax.com.br)

Sobre a OPTMAX

Procuramos nos capacitar para entender melhor o universo em que nossos clientes estão inseridos.
Se entendemos, somos capazes de propor soluções e implementá-las.
Todas essas ações nos trazem conhecimento e experiência para inovar.

Nossos Contatos

Rua Nelson Soares de Faria 235
Bairro Cidade Nova
Belo Horizonte, Minas Gerais