O documento descreve como a GetNinjas usa GraphQL para acessar dados de outros sistemas durante a execução de processos de negócio (BPMNs). O GraphQL é usado para consultar dados de sistemas externos como Kitana e Gaara durante a execução dos BPMNs no Camunda. O Gaara contém um administrador onde são cadastradas tarefas e queries de GraphQL para serem executadas pelo Camunda.
BluDotNet - Entity Framework Code First MigrationsRafael Leonhardt
O documento discute Entity Framework Code First Migrations, que permite gerenciar alterações na estrutura do banco de dados de forma estruturada. Demonstra como criar migrações para adicionar novas entidades e propriedades ao banco de dados, alterar dados existentes via comandos SQL, e customizar o processo de migração.
GraphQL é uma linguagem de consulta e postagem de dados baseada em grafos para APIs. A apresentação introduz o GraphQL, discutindo o que é e não é, sua história, linguagens, ferramentas e partes importantes como tipos, consultas, mutações e assinaturas. Vantagens incluem flexibilidade do cliente e contratos bem definidos, enquanto desvantagens são complexidade, desempenho e gerenciamento de autorizações.
O documento introduz o GraphQL, uma linguagem de consulta de dados criada pelo Facebook que permite que os clientes solicitem exatamente os dados de que precisam de uma única API. O GraphQL resolve problemas comuns em APIs REST como overfetching e underfetching ao dar mais poder ao frontend para decidir quais dados receber.
Introdução ao GraphQL - Uma nova forma de criar APIs (Ruby)Fernando Henriques
Palestra realizada no meetup da comunidade RubyOnRio em 04/06/2019.
Link do projeto de exemplo apresentado ao fim da palestra: https://github.com/fernandohenriques/graphql-on-rails
Arquitetura Serverless para Machine LearningFelipe Santos
Nesta apresentação, trazemos uma jornada de análise de arquiteturas serverless para se utilizar com machine learning. Analisamos vários pontos, mostrando os prós e contras de cada solução.
REST e GraphQL são duas APIs populares. REST usa métodos HTTP como GET e POST para recuperar e enviar dados, enquanto GraphQL permite que os clientes solicitem exatamente os dados de que precisam através de uma única consulta. Embora GraphQL elimine problemas como over-fetching, REST tem vantagens como cache e monitoramento mais fácil.
REST vs GraphQL: A batalha das APIs pode ser resumida em 3 frases:
REST usa HTTP para recuperar recursos através de métodos como GET e POST, enquanto GraphQL permite que clientes solicitem somente os dados necessários através de consultas declarativas. Embora GraphQL elimine problemas como over-fetching, REST tem vantagens como cache e status codes HTTP mais claros.
GraphQL é uma linguagem de consulta para APIs que permite que clientes solicitem exatamente os dados de que precisam através de um único ponto de entrada. Ele define um esquema que especifica quais consultas os clientes podem fazer e como os dados estão relacionados. Resolvers retornam os dados solicitados e mutações permitem modificações, enquanto subscriptions fornecem atualizações em tempo real. Ferramentas como Apollo e GraphQL Playground facilitam o desenvolvimento com GraphQL.
BluDotNet - Entity Framework Code First MigrationsRafael Leonhardt
O documento discute Entity Framework Code First Migrations, que permite gerenciar alterações na estrutura do banco de dados de forma estruturada. Demonstra como criar migrações para adicionar novas entidades e propriedades ao banco de dados, alterar dados existentes via comandos SQL, e customizar o processo de migração.
GraphQL é uma linguagem de consulta e postagem de dados baseada em grafos para APIs. A apresentação introduz o GraphQL, discutindo o que é e não é, sua história, linguagens, ferramentas e partes importantes como tipos, consultas, mutações e assinaturas. Vantagens incluem flexibilidade do cliente e contratos bem definidos, enquanto desvantagens são complexidade, desempenho e gerenciamento de autorizações.
O documento introduz o GraphQL, uma linguagem de consulta de dados criada pelo Facebook que permite que os clientes solicitem exatamente os dados de que precisam de uma única API. O GraphQL resolve problemas comuns em APIs REST como overfetching e underfetching ao dar mais poder ao frontend para decidir quais dados receber.
Introdução ao GraphQL - Uma nova forma de criar APIs (Ruby)Fernando Henriques
Palestra realizada no meetup da comunidade RubyOnRio em 04/06/2019.
Link do projeto de exemplo apresentado ao fim da palestra: https://github.com/fernandohenriques/graphql-on-rails
Arquitetura Serverless para Machine LearningFelipe Santos
Nesta apresentação, trazemos uma jornada de análise de arquiteturas serverless para se utilizar com machine learning. Analisamos vários pontos, mostrando os prós e contras de cada solução.
REST e GraphQL são duas APIs populares. REST usa métodos HTTP como GET e POST para recuperar e enviar dados, enquanto GraphQL permite que os clientes solicitem exatamente os dados de que precisam através de uma única consulta. Embora GraphQL elimine problemas como over-fetching, REST tem vantagens como cache e monitoramento mais fácil.
REST vs GraphQL: A batalha das APIs pode ser resumida em 3 frases:
REST usa HTTP para recuperar recursos através de métodos como GET e POST, enquanto GraphQL permite que clientes solicitem somente os dados necessários através de consultas declarativas. Embora GraphQL elimine problemas como over-fetching, REST tem vantagens como cache e status codes HTTP mais claros.
GraphQL é uma linguagem de consulta para APIs que permite que clientes solicitem exatamente os dados de que precisam através de um único ponto de entrada. Ele define um esquema que especifica quais consultas os clientes podem fazer e como os dados estão relacionados. Resolvers retornam os dados solicitados e mutações permitem modificações, enquanto subscriptions fornecem atualizações em tempo real. Ferramentas como Apollo e GraphQL Playground facilitam o desenvolvimento com GraphQL.
O documento apresenta uma palestra sobre GraphQL, abordando: 1) Uma breve história do desenvolvimento do GraphQL no Facebook; 2) As principais características como uma única rota e consultas complexas; 3) Vantagens em relação a APIs REST como desempenho e versionamento.
O documento resume os principais conceitos e ferramentas do framework Ruby on Rails. Apresenta os pilares do MVC, models, views e controllers, e explica como o Rails promove princípios como DRY e convenções sobre configuração. Também discute recursos como testes, internacionalização, deploy e ferramentas de apoio como Capistrano.
O documento apresenta uma agenda para um workshop sobre arquitetura front-end e tecnologias front-end. A agenda inclui tópicos como SOA, tipos de arquiteturas para aplicações web, SOFEA, aplicações de página única, padrão Backends for Frontends, Angular, NodeJs, Gulp, Grunt, React e outros.
Já faz bastante tempo que o WordPress deixou de ser uma plataforma para blogs e se tornou um excelente gerenciador de conteúdo (CMS) que permite servir dados para diferentes aplicações desktop, web e mobile. GraphQL é uma linguagem de consulta, desenvolvida pelo facebook, que serve para fazer requisições e entregar apenas o resultado solicitado na ordem que este foi solicitado. Nesta apresentação vamos ver:
GraphQL e REST, em que se assemelham e quais as vantagens de utilizar GraphQL em relação a REST;
Quando utilizar GraphQL com WordPress é uma boa ideia;
Como utilizar GraphQL com WordPress através do plugin WPGraphQL (https://github.com/wp-graphql/wp-graphql);
Consultas e mutações de dados WordPress através de uma ferramenta de exploração de dados chamada GraphiQL;
Exemplos de soluções para aplicativos desacoplados utilizando GraphQL.
ExpressoBR para Um Milhão (de Usuários)Flávio Lisboa
As mais recentes alterações do projeto Expresso, feitas para torná-lo um software de comunicação ajustável para qualquer empresa ou país e para escalar a aplicação para milhares de usuários,
GraphQL na Era das APIs é uma apresentação sobre GraphQL. A apresentação introduz APIs, RESTful e GraphQL, fornecendo exemplos de cada um. Ela também discute dicas e boas práticas de GraphQL, o ecossistema ao redor de GraphQL e pontos de atenção ao usar GraphQL. A apresentação termina definindo GraphQL em poucas palavras, destacando seus principais benefícios.
O documento discute bancos de dados em nuvem, comparando ferramentas como Amazon SimpleDB, Google BigTable e Vertica. Ele cobre os fundamentos e tendências de bancos de dados como serviço, analisa as ferramentas selecionadas e discute áreas futuras de pesquisa.
O documento discute bancos de dados em nuvem, comparando ferramentas como Amazon SimpleDB, Google BigTable e Vertica. Ele cobre os fundamentos e tendências de bancos de dados como serviço, analisa as ferramentas selecionadas e discute áreas futuras de pesquisa.
O documento descreve o framework Grails para desenvolvimento web ágil utilizando Java e Groovy. Grails permite alta produtividade através de programação por convenção, é completo e evita repetições de código.
O documento descreve o framework Grails para desenvolvimento web ágil utilizando Java e Groovy. Grails permite alta produtividade através de programação por convenção, é completo e evita repetições de código. É composto por um framework para Java e uma linguagem de script chamada Groovy.
Pangea - Plataforma digital com Google Cloud PlatformAndré Paulovich
O documento apresenta os benefícios da plataforma Google Cloud Platform, incluindo escalabilidade ilimitada, disponibilidade, desempenho garantido e preços competitivos. Apresenta também exemplos de como usar serviços como Compute Engine, Datastore e Cloud Storage para desenvolver aplicações de forma escalável e econômica na nuvem.
O documento resume as principais alterações e novidades da versão R2017b de produtos da MathWorks, incluindo novos produtos como o GPU Coder e LTE HDL Toolbox, alterações como a divisão do Simulink Verification and Validation em três produtos, e requisitos de sistema como suporte apenas para Java 8.
O documento apresenta uma introdução ao GraphQL, incluindo seus benefícios em relação a APIs RESTful tradicionais, como redução do tráfego de dados desnecessários e simplificação do versionamento. Em seguida, demonstra um exemplo prático de construção de uma API GraphQL com .NET Core e Entity Framework Core, definindo schemas, types e mutations para realizar operações CRUD.
GraphQL é uma linguagem de consulta e manipulação de dados open-source para APIs que permite fazer consultas aos dados existentes de forma flexível em uma única requisição. O documento introduz GraphQL como uma solução para problemas comuns em APIs REST como tráfego desnecessário de dados e alto acoplamento entre clientes e servidores.
GraphQL - A Linguagem do Facebook para APIsSergio Lima
O documento apresenta GraphQL, uma linguagem para APIs desenvolvida pelo Facebook. Apresenta a experiência do autor com GraphQL, o que é GraphQL, quais problemas resolve como under-fetching e over-fetching. Discute quando usar GraphQL ou REST e demonstra uma implementação prática de GraphQL com exemplos de consultas e mutações.
O documento explica como construir aplicações web no Google App Engine usando o framework Python Webapp-CE. Apresenta as vantagens e desvantagens do Google App Engine, como funciona o Webapp-CE, e detalha o desenvolvimento de um aplicativo simples de cadastro de pessoas como exemplo.
O documento explica como construir aplicações web no Google App Engine usando o framework Python Webapp-CE. Apresenta as vantagens e desvantagens do Google App Engine, como funciona o Webapp-CE, e detalha como desenvolver um aplicativo simples de cadastro de pessoas usando Controller, Modelo, View e formulários. Um exemplo real de aplicação comercial desenvolvida nessa plataforma é o site Revelação Virtual.
O documento discute as principais mudanças trazidas pelo Drupal 8 para usuários finais, criadores de sites, designers e desenvolvedores, incluindo melhorias na experiência de edição, suporte a dispositivos móveis, novas bibliotecas front-end, integração com o framework Symfony e previsão de lançamento para quando estiver pronto.
1. O documento apresenta um livro sobre desenvolvimento web com Java EE 7 utilizando JSF, PrimeFaces e CDI.
2. O livro aborda tópicos como introdução ao desenvolvimento web com Java, persistência de dados com JPA, introdução ao JSF, componentes de interface, templates com Facelets, conversão e validação, CDI e injeção de dependências.
3. O autor é Thiago Faria, fundador e instrutor da AlgaWorks, e o livro visa ensinar o desenvolvimento de aplicações web completas utilizando as principais tecnologias da
O documento apresenta uma palestra sobre GraphQL, abordando: 1) Uma breve história do desenvolvimento do GraphQL no Facebook; 2) As principais características como uma única rota e consultas complexas; 3) Vantagens em relação a APIs REST como desempenho e versionamento.
O documento resume os principais conceitos e ferramentas do framework Ruby on Rails. Apresenta os pilares do MVC, models, views e controllers, e explica como o Rails promove princípios como DRY e convenções sobre configuração. Também discute recursos como testes, internacionalização, deploy e ferramentas de apoio como Capistrano.
O documento apresenta uma agenda para um workshop sobre arquitetura front-end e tecnologias front-end. A agenda inclui tópicos como SOA, tipos de arquiteturas para aplicações web, SOFEA, aplicações de página única, padrão Backends for Frontends, Angular, NodeJs, Gulp, Grunt, React e outros.
Já faz bastante tempo que o WordPress deixou de ser uma plataforma para blogs e se tornou um excelente gerenciador de conteúdo (CMS) que permite servir dados para diferentes aplicações desktop, web e mobile. GraphQL é uma linguagem de consulta, desenvolvida pelo facebook, que serve para fazer requisições e entregar apenas o resultado solicitado na ordem que este foi solicitado. Nesta apresentação vamos ver:
GraphQL e REST, em que se assemelham e quais as vantagens de utilizar GraphQL em relação a REST;
Quando utilizar GraphQL com WordPress é uma boa ideia;
Como utilizar GraphQL com WordPress através do plugin WPGraphQL (https://github.com/wp-graphql/wp-graphql);
Consultas e mutações de dados WordPress através de uma ferramenta de exploração de dados chamada GraphiQL;
Exemplos de soluções para aplicativos desacoplados utilizando GraphQL.
ExpressoBR para Um Milhão (de Usuários)Flávio Lisboa
As mais recentes alterações do projeto Expresso, feitas para torná-lo um software de comunicação ajustável para qualquer empresa ou país e para escalar a aplicação para milhares de usuários,
GraphQL na Era das APIs é uma apresentação sobre GraphQL. A apresentação introduz APIs, RESTful e GraphQL, fornecendo exemplos de cada um. Ela também discute dicas e boas práticas de GraphQL, o ecossistema ao redor de GraphQL e pontos de atenção ao usar GraphQL. A apresentação termina definindo GraphQL em poucas palavras, destacando seus principais benefícios.
O documento discute bancos de dados em nuvem, comparando ferramentas como Amazon SimpleDB, Google BigTable e Vertica. Ele cobre os fundamentos e tendências de bancos de dados como serviço, analisa as ferramentas selecionadas e discute áreas futuras de pesquisa.
O documento discute bancos de dados em nuvem, comparando ferramentas como Amazon SimpleDB, Google BigTable e Vertica. Ele cobre os fundamentos e tendências de bancos de dados como serviço, analisa as ferramentas selecionadas e discute áreas futuras de pesquisa.
O documento descreve o framework Grails para desenvolvimento web ágil utilizando Java e Groovy. Grails permite alta produtividade através de programação por convenção, é completo e evita repetições de código.
O documento descreve o framework Grails para desenvolvimento web ágil utilizando Java e Groovy. Grails permite alta produtividade através de programação por convenção, é completo e evita repetições de código. É composto por um framework para Java e uma linguagem de script chamada Groovy.
Pangea - Plataforma digital com Google Cloud PlatformAndré Paulovich
O documento apresenta os benefícios da plataforma Google Cloud Platform, incluindo escalabilidade ilimitada, disponibilidade, desempenho garantido e preços competitivos. Apresenta também exemplos de como usar serviços como Compute Engine, Datastore e Cloud Storage para desenvolver aplicações de forma escalável e econômica na nuvem.
O documento resume as principais alterações e novidades da versão R2017b de produtos da MathWorks, incluindo novos produtos como o GPU Coder e LTE HDL Toolbox, alterações como a divisão do Simulink Verification and Validation em três produtos, e requisitos de sistema como suporte apenas para Java 8.
O documento apresenta uma introdução ao GraphQL, incluindo seus benefícios em relação a APIs RESTful tradicionais, como redução do tráfego de dados desnecessários e simplificação do versionamento. Em seguida, demonstra um exemplo prático de construção de uma API GraphQL com .NET Core e Entity Framework Core, definindo schemas, types e mutations para realizar operações CRUD.
GraphQL é uma linguagem de consulta e manipulação de dados open-source para APIs que permite fazer consultas aos dados existentes de forma flexível em uma única requisição. O documento introduz GraphQL como uma solução para problemas comuns em APIs REST como tráfego desnecessário de dados e alto acoplamento entre clientes e servidores.
GraphQL - A Linguagem do Facebook para APIsSergio Lima
O documento apresenta GraphQL, uma linguagem para APIs desenvolvida pelo Facebook. Apresenta a experiência do autor com GraphQL, o que é GraphQL, quais problemas resolve como under-fetching e over-fetching. Discute quando usar GraphQL ou REST e demonstra uma implementação prática de GraphQL com exemplos de consultas e mutações.
O documento explica como construir aplicações web no Google App Engine usando o framework Python Webapp-CE. Apresenta as vantagens e desvantagens do Google App Engine, como funciona o Webapp-CE, e detalha o desenvolvimento de um aplicativo simples de cadastro de pessoas como exemplo.
O documento explica como construir aplicações web no Google App Engine usando o framework Python Webapp-CE. Apresenta as vantagens e desvantagens do Google App Engine, como funciona o Webapp-CE, e detalha como desenvolver um aplicativo simples de cadastro de pessoas usando Controller, Modelo, View e formulários. Um exemplo real de aplicação comercial desenvolvida nessa plataforma é o site Revelação Virtual.
O documento discute as principais mudanças trazidas pelo Drupal 8 para usuários finais, criadores de sites, designers e desenvolvedores, incluindo melhorias na experiência de edição, suporte a dispositivos móveis, novas bibliotecas front-end, integração com o framework Symfony e previsão de lançamento para quando estiver pronto.
1. O documento apresenta um livro sobre desenvolvimento web com Java EE 7 utilizando JSF, PrimeFaces e CDI.
2. O livro aborda tópicos como introdução ao desenvolvimento web com Java, persistência de dados com JPA, introdução ao JSF, componentes de interface, templates com Facelets, conversão e validação, CDI e injeção de dependências.
3. O autor é Thiago Faria, fundador e instrutor da AlgaWorks, e o livro visa ensinar o desenvolvimento de aplicações web completas utilizando as principais tecnologias da
Semelhante a GraphQL na GetNinjas (2017-09-20) (20)
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
5. O que é GraphQL?
Introdução
Uma especificação criada pelo Facebook em 2012 e aberta ao
público em 2015 (graphql.org).
Trata-se de uma linguagem de consulta para APIs e um
runtime para preencher essas consultas com seus dados.
6. Por que o Facebook criou isso?
Principalmente por:
● Desempenho: Seus aplicativos faziam diversas requisições
na API para renderizar cada tela.
● Flexibilidade: Diversos aplicativos sendo criados, uma
série demandas de API diferentes.
Introdução
8. Sim!
● O GraphQL não tem nada a ver com o banco de dados.
● E nem com a camada de transporte.
Funciona com qualquer banco de dados?
Introdução
9. Sim.
Você pode fazer uma chamada de
API, uma query no banco, rodar
uma lógica qualquer…
Só colocar dentro da resolve
function.
Da pra retornar qualquer coisa em um field?
Introdução
10. Da pra alterar dados?
Introdução
Sim! Via Mutations.
Tecnicamente qualquer query pode
ser usada para modificar dados,
porém, por convenção devemos
usar mutations para escritas.
11. Da pra alterar dados?
Introdução
Exemplo de mutation da nova API GraphQL do Github usando a GraphiQL IDE.
13. Flexibilidade
Pontos Positivos
Você pode consultar o schema
navegando através das relações
entre os recursos, economizando
requisições ao servidor, sem a
necessidade de definir novos
recursos contendo o set de campos
que você precisa no momento.
18. Desenvolvimento
Pontos Positivos
Evolua todo o schema da API em vez
de apenas um endpoint de uma API
REST. Quando você adiciona um
campo, ele pode ser usado por
outros consumidores da sua API.
22. O GraphQL não faz consulta em
profundidade indefinida, então, se
você tiver uma árvore e quiser
retornar um ramo sem saber a
profundidade, você terá que fazer
algum tipo de paginação.
Consulta em profundidade indefinida
Pontos Negativos
23. Resposta com estrutura específica
Pontos Negativos
No GraphQL, a resposta
corresponde ao formato da
consulta, portanto, se você precisar
responder em uma estrutura muito
específica, você terá que adicionar
uma camada de transformação para
remodelar a resposta.
24. Cache à nível de rede
Pontos Negativos
Devido à maneira que o GraphQL é
usado em APIs (POST em um único
endpoint), o cache à nível de rede
torna-se difícil.
Uma maneira de resolver é usar
persisted / static queries.
25. Imprevisibilidade da execução
Pontos Negativos
A flexibilidade é um dos pontos mais fortes
do GraphQL, porém, ela não é gratuita.
● Queries complexas
● Optimização de SQL; N+1
● Segurança
26. Digamos que um cliente da sua API faça uma consulta gigante.
Seu backend sofrerá para responder.
● Maximum Depth: Bloqueia consultas que excedem a profundidade máxima
pré-definida.
● Cost Analysis: Bloqueia consultas que excedem o custo máximo de execução.
O custo máximo é uma soma do custo definido para cada campo.
● Persisted / Static Queries: Executa somente consultas pré-aprovadas; O
Facebook parece estar usando essa estratégia (bit.ly/gql-gn-face).
Queries complexas
Pontos Negativos • Imprevisibilidade da execução
27. Em APIs como REST, com endpoints para cada recurso, você
tem a oportunidade de optimizar as consultas SQL,
melhorando a performance e vitando N+1.
● Facebook DataLoader: Ajuda a carregar dados de várias fontes, como bancos
de dados ou serviços da Web, faz batch e cache
(github.com/facebook/dataloader).
● GraphQL::Batch: Um executor em batches para a gem graphql
(github.com/Shopify/graphql-batch).
Optimização de SQL; N+1
Pontos Negativos • Imprevisibilidade da execução
28. Evoluir um Schema de GraphQL sem pensar em autorização
de acesso pode ser extremamente perigoso, dado que um
usuário da API poderia navegar pelo schema todo sem
restrição nenhuma.
● graphql-guard: Esta gem fornece autorização à nível de field para a gem
graphql-ruby (github.com/exAspArk/graphql-guard).
● GraphQL::Pro: Versão PRO da gem graphql-ruby, fornece recursos de
autorização à nível de field e mais algumas coisas (graphql.pro).
Segurança
Pontos Negativos • Imprevisibilidade da execução
29. No caso de um serviço que expõe uma API muito simples, o
GraphQL somente adicionará complexidade desnecessária,
então uma simples API REST pode resolver o seu problema.
● Responder um JSON é muito simples.
● Em muitas linguagem o JSON já vem built-in.
● GraphQL é uma dependência a mais.
APIs super simples
Pontos Negativos
30. Patentes e licença de uso
Pontos Negativos
Existe uma polêmica sobre as patentes dos projetos do
Facebook, mesmo "parecendo" existir um esforço para deixar
tudo claro (bit.ly/gql-gn-patents).
32. Usamos GraphQL para acesso aos dados de outros sistemas
durante a execução dos BPMNs das nossas réguas de
comunicação.
E o que raios é um BPMN?
Business Process Model and Notation (Notação de
Modelagem de Processos de Negócio) é uma série de ícones
padrões para o desenho de processos.
Nosso caso de uso
Nosso Caso de Uso
41. Execução
O Kitana lança um evento
de "fatura_criada" contendo
o ID da Fatura e o ID do
Usuário.
Nosso Caso de Uso
42. A engine de processamento
de eventos, inicia o BPMN
de cobrança no Camunda
via API.
Nosso Caso de Uso
Execução
43. Executa o BPMN e chama o
Gaara sempre que precisa
executar alguma tarefa ou
carregar mais dados.
Nosso Caso de Uso
Execução
44. Tomando como exemplo uma
tarefa de envio de e-mails:
ref: "enviar-email-cobranca-1"
invoice_id: 1
user_id: 1
Nosso Caso de Uso
Execução
45. - Executa as queries de GraphQL cadastradas
no admin.
- Roda a operação cadastrada passando como
parâmetro o resultado obtido via GraphQL.
Nosso Caso de Uso
Execução