GraphQL. o que, como e quando. QCon SP 2018
|
|
- Levi Caldas Barata
- 6 Há anos
- Visualizações:
Transcrição
1 GraphQL o que, como e quando QCon SP 2018
2 Introdução pessoal Problemas de APIs REST Soluções GraphQL Caso: GitHub Caso: Cartão Elo Agenda
3 - Desenvolvedor desde os 9 anos - Web desde 1998 (Perl, CGI ) - UNICAMP Gustavo Sverzut Barbieri Engenheiro de Computação ProFUSION - Serviços de desenvolvimento de sw - Apaixonado por eficiência - Sistemas embarcados e IoT - Sistemas Complexos - P&D
4 Problemas REST Por que criar o GraphQL?
5 REST: Representational State Transfer - Modelo de Arquitetura - Vários pontos de acesso (URL), um por recurso - Cada operação (GET, POST, PUT ) retorna um conjunto de dados fixo - Adicionar ou remover dados ou parâmetros quebra a API (nova versão)
6 REST: ilustrado Dado portador CPF , pegue os 4 últimos dígitos (last4) e o BIN do primeiro token do primeiro cartão. Card Holder Card Card Token GET /v1/card-holder/ {, "name": "José da Silva", "cards": [ "xyz", "xpto", ], GET /v1/card/xyz {, "last4": "1234", "bin": "5035", "cardholder": "1234", "tokens": ["abc", "def", ], GET /v1/card-token/abc {, "last4": "1234", "bin": "6046", "card": "xyz", "cardholder": "1234",
7 REST: ilustrado Dado portador CPF , pegue os 4 últimos dígitos (last4) e o BIN do primeiro token do primeiro cartão. Card Holder Card Card Token GET /v1/card-holder/ {, "name": "José da Silva", "cards": [ "xyz", "xpto", ], GET /v1/card/xyz {, "last4": "1234", "bin": "5035", "cardholder": "1234", "tokens": ["abc", "def", ], GET /v1/card-token/abc {, "last4": "1234", "bin": "6046", "card": "xyz", "cardholder": "1234", estado transferido (Portador) estado transferido (Cartão) estado transferido (Token)
8 REST: ilustrado Dado portador CPF , pegue os 4 últimos dígitos (last4) e o BIN do primeiro token do primeiro cartão. Card Holder Card Card Token GET /v1/card-holder/ {, "name": "José da Silva", "cards": [ "xyz", "xpto", ], dados inúteis! GET /v1/card/xyz {, "last4": "1234", "bin": "5035", "cardholder": "1234", "tokens": ["abc", "def", ], GET /v1/card-token/abc {, "last4": "1234", "bin": "6046", "card": "xyz", "cardholder": "1234",
9 REST: problemas - API bem normalizada resulta em muitas conexões HTTP; - Tráfego de dados inúteis ao aplicativo; - Endpoints otimizados para aplicativos - Mudanças de requisitos no front-end costumam precisar de adaptações no backend; - Falta Documentação; - Falta Validação e Garantias; - Falta ambiente de testes/playground.
10 REST: resolvendo problemas de ambiente - Documentação via Swagger - Validação com JSON Schema - Testes com Postman ou curl
11 REST: resolvendo problemas de execução Extensões: - Parâmetros para controlar campos a retornar; - Parâmetros para controlar paginação, ordenação...; - Desnormalização para reduzir número de consultas; mas são específicas de fornecedores! GET /v2/card/xyz?fields=last4,bin,tokens {, "last4": "1234", "bin": "5035", "cardholder": "1234", "tokens": ["abc", "def", ], GET /v2/card/xyz? fields=last4,bin,tokens.limit(1) { "last4": "1234", "bin": "5035", "tokens": ["abc", "def", ], GET /v2/card-holder/1234? fields=name,cards.limit(1){last4,bin { "name": "José da Silva", "cards": [{"last4": "1234, "bin": "5035"], Facebook Graph API
12 REST: problemas com extensões GET /v2/card-holder/1234? fields=name,cards.limit(1){last4,bin - Linguagem de domínio específica (DSL) - Validação - Documentação
13 GraphQL Resolvendo problemas REST
14 GraphQL - Linguagem de Consulta de Grafos - Nós: dados - Arestas: relacionamentos - Não é: - Protocolo de Rede - Descrição de Banco de Dados - Descrição de Classes em OOP - Origem: Facebook após tratar diversos problemas com REST ID Name Card Holder ID City cursor Card cursor Token Addr. Zip
15 GraphQL - Declaração de tipos e consultas via Schema # Portador de cartão type CardHolder implements Node { # Identificador Global Único id: ID! # Nome completo do portador name: String - Tipagem forte - Sempre verificado - Documentação embutida no schema, com consulta/introspecção - Interfaces # Cartões em posse cards( # Limita a lista às primeiras entradas first: Int, # Inicia após o cursor opaco after: String, # outros argumentos ): CardsConnection type Query { node(id: ID!): Node cardholders( ): CardHoldersConnection
16 GraphQL comentários são armazenados como descrição, convenção por formatação Markdown # Portador de cartão type CardHolder implements Node { # Identificador Global Único id: ID! # Nome completo do portador name: String declaração de Objetos e interfaces: validação e documentação! Todos os campos também são consultas, com tipos de retorno Todas consultas podem ter argumentos, documentados e com tipos # Cartões em posse cards( # Limita a lista às primeiras entradas first: Int, # Inicia após o cursor opaco after: String, # outros argumentos ): CardsConnection type Query { node(id: ID!): Node cardholders( ): CardHoldersConnection
17 GraphQL - Consultas aninhadas - Linguagem de consultas bem definida - Argumentos - Variáveis - Resultados espelham estrutura da consulta - Fragmentos de consulta query Nome($holderId: node(id: $holderid)... on CardHolder name cards(first: 1) edges { node { last4 bin ID!) { { { {"data": { "node": { { "name": "João da Silva", "cards": { "edges": [ "node": { "last4": "1234", "bin": "5035" ]
18 GraphQL operação: query variáveis query Nome($holderId: node(id: $holderid)... on CardHolder name cards(first: 1) edges { node { last4 bin ID!) { { { {"data": { "node": { { "name": "João da Silva", "cards": { "edges": [ "node": { "last4": "1234", "bin": "5035" ]
19 GraphQL resultado espelhado consulta raiz consultas aninhadas query Nome($holderId: node(id: $holderid)... on CardHolder name cards(first: 1) edges { node { last4 bin ID!) { { { {"data": { "node": { { argumentos "name": "João da Silva", "cards": { "edges": [ "node": { "last4": "1234", "bin": "5035" ]
20 GraphQL fragmentos: seleção de tipo ("Cast") query Nome($holderId: node(id: $holderid)... on CardHolder name cards(first: 1) edges { node { last4 bin ID!) { { { {"data": { "node": { { "name": "João da Silva", "cards": { "edges": [ "node": { "last4": "1234", "bin": "5035" ]
21 GraphQL: múltiplas consultas raiz - Consultas executadas em paralelo - Apelidos para diferenciar consultas com argumentos diferentes query { n0: node(id: "id0") {... on CardInterface { last4 holder { name n1: node(id: "id0") {... on CardInterface { last4 holder { name bin(number: "509069") { issuer { name {"data": { "n0": { "last4": "1234", "holder": { "João...", "n1": { "last4": "2468", "holder": { "José...", "bin": { "issuer": { "name": "Banco...",
22 GraphQL: múltiplas consultas raiz apelidos renomeiam retorno em execução em paralelo em query { n0: node(id: "id0") {... on CardInterface { last4 paralelo holder { name n1: node(id: "id1") {... on CardInterface { last4 paralelo holder { name bin(number: "509069") { issuer { name {"data": { "n0": { "last4": "1234", "holder": { "João...", "n1": { "last4": "2468", "holder": { "José...", "bin": { "issuer": { "name": "Banco...",
23 GraphQL: mutações - Mutações alteram e retornam o estado - Executadas em série - Consulta de retorno em paralelo mutation { a0: associatepspmerchant( ) { pspid legalid a1: associatepspmerchant( ) { pspid legalid {"data": { "a0": { "pspid": "1234", "legalid": " ",, "a1": { "pspid": "222", "legalid": " ",
24 GraphQL: mutações executado primeiro em executado depois em mutation { a0: associatepspmerchant( ) { pspid paralelo legalid a1: associatepspmerchant( ) { paralelo pspid legalid {"data": { "a0": { "pspid": "1234", "legalid": " ",, "a1": { "pspid": "222", "legalid": " ",
25 GraphQL: erros - Consultas retornam: null - Até o primeiro elemento null-able - Motor sempre garante retorno correto - Listagem de erros - bin() pode retornar null - BIN { issuer é não-nulo - CardIssuer { name é não-nulo - CardIssuer { url é null-able query { a: bin(number: "invalid") { issuer { name b: bin(number: "509069") { issuer { name # server bug! c: bin(number: "509069") { issuer { url # server bug! {"data": { "a": null, "b": null, "b": { "issuer": { "url": null, "errors": [ {"message": "Bin inválido", "path": ["a"], {"message": "Campo null!", "path": ["b", "issuer", "name"] {"message": "Server Bug", "path": ["c", "issuer", "url"] ]
26 Relay - Relay: adiciona GraphQL a clientes React.JS; - Foco em desempenho e facilidade de uso; - Uso extensivo de fragmentos; - Convenções adicionais: - Identificação de Objetos: cache e atualização - Conexões: paginação - Mutações: previsibilidade e idempotência adotados por todos os frameworks, cliente e servidor: Apollo, Graphene...
27 Relay: Identificação de Objetos interface Node { id: ID! - Interface declara objeto com identificação global; - Permite cache global do aplicativo; type Query { node(id: ID!): Node - Fragmentos obtém dados, populando cache; - Relay mantém o cache e informa utilizadores sobre atualizações cache React Components
28 Relay: Conexões - Conexões de Nós do Grafo; - Arestas podem conter mais informações, ex: data da associação, custo - Parâmetros de paginação; - Informações de paginação; - Cursores opacos. type Query { cards( first: Int # limita elementos no retorno after: String # cursor de início last: Int # limita elementos no retorno before: String # cursor de término filter: CardFilterInput # filtros ): CardsConnection type CardsConnection { edges: [CardsEdge] pageinfo: PageInfo! # outros campos que achar conveniente totalcount: Int type CardsEdge { node: Card cursor: String! # opaco # outros campos que achar conveniente type PageInfo { haspreviouspage: Boolean! hasnextpage: Boolean! startcursor: String endcursor: String
29 Relay: Mutações - Assinatura com nomenclatura padrão; - clientmutationid para reconciliação e idempotência; type ActivateCardTokenInput { clientmutationid: String # opaco # outros campos que achar conveniente cardtokenid: String sensitive: String type ActivateCardTokenPayload { clientmutationid: String # opaco # outros campos que achar conveniente cardtoken: CardToken # null se não existe type Mutation { activatecardtoken( input: ActivateCardTokenInput ): ActivateCardTokenPayload cliente servidor activatecardtoken(input: {clientmutationid: "x", ) executa tenta novamente activatecardtoken(input: {clientmutationid: "x", ) detecta réplica
30 GraphQL: Benefícios - Schema - Linguagem de Domínio Específico (DSL) fácil e bem documentada - Tipagem forte e garantida pelo motor - Consultas de introspeção built-in ( schema, type) - Documentação faz parte do Schema - Múltiplas consultas ou mutações por requisição
31 GraphQL: Playground - GraphiQL
32 GraphQL: não... GraphQL não especifica: - Transporte, em geral HTTP; - Segurança, em geral TLS (HTTPS); - Serialização de dados, em geral JSON; - Autenticação e Autorização, em geral OAuth v2 via HTTP + Headers.
33 - Escalabilidade GitHub Caso de Sucesso API v4, Setembro de Flexibilidade - Paginação - Tipagem - Documentação
34 GitHub: motivos da mudança - API REST responsável por 60% dos acessos ao DB - Resultados continham muitos dados inúteis, "*_url" para navegação - Integradores reclamavam de falta de dados úteis requisições para visualização completa de um recurso - Complicado manter documentação correta, com tipos e garantias
35 GitHub: a mudança - Primeiro objetivo: reações Emoji nos comentários - Foi necessário modelar uma grande parte do sistema: - Usuário - Repositório - Issues / Pull Requests - Comentários User Repository Issues PR - Ajuda: aliados no time de frontend (uso de React & Relay) Comments - Em produção concomitantemente com REST - Bons resultados = v4! Reactions
36 GitHub: o que disseram no anúncio GraphQL represents a massive leap forward for API development. Schema! Type safety, introspection, generated documentation, and predictable responses benefit both the maintainers and consumers of our platform. We re looking forward to our new era of a GraphQL-backed platform, and we hope that you do, too!
37 GitHub: justificativa da mudança Eficiência & Flexibilidade GitHub chose GraphQL for our API v4 because it offers significantly more flexibility for our integrators. The ability to define precisely the data you want and only the data you want is a powerful advantage over the REST API v3 endpoints. GraphQL lets you replace multiple REST requests with a single call to fetch the data you specify.
38 Cartão Elo Caso de Sucesso - Brasil - GraphQL desde o início - Várias unidades de negócios - Uniformidade - Experiência do Desenvolvedor Outubro de
39 Experiência do Desenvolvedor Design API Portal Dev Funcionamento API Gateway Backend
40 Cartão Elo - Moto: API First - Consumo interno e externo - Diversas Áreas de Negócios: - Cadastro de Portadores Seguros Tabela de Bins Precificação Tokenização Histórico de Transações... Experiência de Usuário: - Suporte Nacional Segurança Documentação Facilidade de Uso Extensível GraphQL!
41 Cartão Elo Documentação gerada via Schema Playground similar ao GraphiQL
42 Cartão Elo Address Card Token Card Card Holder BIN Card Issuer Card Network Merchant Card Brand Card Usage
43 o que? dados como grafo como? navegando informação quando? eficiência e facilidade
44 Obrigado! Perguntas? Gustavo Sverzut Barbieri
>>> RESTful API >>> Com Node.js e Restify. Name: Anderson Pimentel Date: 19 de Março de
>>> RESTful API >>> Com Node.js e Restify Name: Anderson Pimentel Date: 19 de Março de 2018 apds.anderson@icomp.ufam.edu.br [~]$ _ [1/31] >>> Agenda 1. Introdução 2. Boas Práticas 3. Hands-on Ambiente
Leia maisAPI Documentation. Release Igor Morse
API Documentation Release 1.0.0 Igor Morse fev 10, 2019 Getting Started: 1 O que é a API do Automação-IOT? 3 1.1 Guia Básico............................................... 3 1.2 FAQ....................................................
Leia maisDesign Coerente: decisões de tecnologia para APIs
Design Coerente: decisões de tecnologia para APIs GET /whoami Ravan Scafi Back-end Developer na Leroy Merlin Brasil Co-organizador do Meetup do Laravel SP Evangelista do PHPSP @ravanscafi API? O que é
Leia maisDesenvolvimento de Aplicações Distribuídas
Web Services RESTful Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura
Leia maisServiç os da Web de distribuiç ã o digital (DDWS) GetMyPrice - Serviço manual
Serviç os da Web de distribuiç ã o digital (DDWS) GetMyPrice - Serviço manual ÍNDICE Histórico de revisão... 2 1 Introdução... 3 1.1 Visão geral... 3 1.2 Documentos de suporte... 3 2 Introdução... 3 3
Leia maisAPI SEBRAE MÉTODOS PARA INTEGRAÇÃO COM A PLATAFORMA Versão 1.0 Brasília 2017
API SEBRAE MÉTODOS PARA INTEGRAÇÃO COM A PLATAFORMA Versão 1.0 Brasília 2017 Manual API SEBRAE HISTÓRICO DE VERSÕES Data Versão Descrição Autor 17/01/2017 1.0 Criação Cast Group Sumário 1 INTRODUÇÃO...5
Leia maisSISTEMA DE EMISSÃO DE NOTA FISCAL DE PRESTAÇÃO DE SERVIÇOS
SISTEMA DE EMISSÃO DE NOTA FISCAL DE PRESTAÇÃO DE SERVIÇOS MANUAL DE INTEGRAÇÃO DE SERVIÇOS Versão 1.0.0.2 Layout único Florianópolis - SC 1 Sumário 1. Controle de alterações... 3 2. Introdução... 3 3.
Leia maisGUIA API BTB /04/2019 INFORMAÇÃO PÚBLICA
05/04/019 SUMÁRIO 1 HISTÓRICO DE VERSÕES... 4 INTRODUÇÃO... 5 3 VISÃO GERAL... 5 3.1 Verbos HTTP API - BTB... 5 3. Uso do POST... 6 3.3 Uso do GET... 7 3.4 Endpo... 7 3.5 Restrições... 7 4 ENDEREÇOS DA
Leia maisAPI DE INTEGRAÇÃO VERSÃO 2. Janeiro/2017. Manual de Integração. Setor de Desenvolvimento
API DE INTEGRAÇÃO VERSÃO 2 Janeiro/2017 Manual de Integração Setor de Desenvolvimento assistencia@litoralcar.com.br Sumário INTRODUÇÃO A API VERSÃO 2... 3 AUTENTICAÇÃO... 3 URL BASE... 3 FORMATO DO ENVIO...
Leia maisGlobalcode Open4education. Trilha Ruby. Sergio Lima Ruby Developer
Trilha Ruby Sergio Lima Ruby Developer Uma App Ruby On Rails Integrada com GraphQL A Linguagem do Facebook para APIs por SERGIO LIMA RUBY DEVELOPER Systems Analyst / Developer /sergiosouzalima #rubydev.rb
Leia maisAPI icontrato. Versão 1.0. Para ajuda e informações, abra um chamado pelo
API icontrato Versão 1.0 Criamos essa API para integrar qualquer sistema com o icontrato. A comunicação do sistema do cliente para o icontrato terá um Header nomeado x-token para servir de autenticação,
Leia maisAPI olx.com.br. Utilizando o protocolo OAuth 2.0
API olx.com.br Utilizando o protocolo OAuth 2.0 Resumo Este documento descreve como utilizar o protocolo oauth 2.0 como forma de autenticação na API olx.com.br através de uma aplicação web. OAuth 2.0 é
Leia maisDesenvolvimento de Aplicações Distribuídas
SOA e Web Services Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura
Leia maisArquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW
Arquitetura da World Wide Web World Wide Web Sistema de informação em escala global acessível em tempo real através de redes de computadores como a Internet. Comércio Eletrônico na WWW Wagner Meira Jr.,
Leia maisParadigmas de Programação React Native
Paradigmas de Programação React Native Cliente HTTP Axios Acessando Web Services e APIs Gil Eduardo de Andrade CLIENTE HTTP AXIOS Introdução: O Axios é um cliente (biblioteca) que permite efetuar requisições
Leia maisServiços da rede de distribuição digital (DDWS) GetPartnerDesignation - Manual do serviço
Serviços da re distribuição digital (DDWS) GetPartnerDesignation - Manual do serviço ÍNDICE Histórico revisão... 2 1 Introdução... 3 1.1 Visão geral... 3 1.2 Documentos suporte... 3 2 Introdução... 3 3
Leia maisAdmin Docs Documentation
Admin Docs Documentation Versão 3.0.0 FrontEnd Team 08/11/2016 Sumário 1 Visão Geral 3 2 Braspag Auth 5 2.1 Introdução................................................ 5 2.2 Obtenção de Autorização........................................
Leia maisREST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.
REST Representational State Transfer É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades. Não é um padrão. Exemplo ASP.NET Web API namespace WebAPIApp.Models
Leia maissolaredx Documentation
solaredx Documentation Release 0.5 Pedro Vasconcelos April 29, 2014 Contents 1 Índice 3 1.1 Instalação e Configuração........................................ 3 1.2 API-v1..................................................
Leia maisDesenvolvimento Web II
Desenvolvimento Web II Web Service PHP Rest Frameworks: Slim e Laravel (get/ post / put / delete) Gil Eduardo de Andrade Web Service Introdução: Um web service pode ser definido como uma tecnologia que
Leia maisSumário. Rua República Argentina, 176 Blumenau Santa Catarina Brasil
Sumário Introdução... 2 Fluxo de Funções... 2 URLs... 2 Headers... 2 Autenticação... 2 Lista de Bandeiras... 3 Lista de Parcelas... 4 Criação de Transação... 5 Fazer Pagamento... 7 Confirmar Pagamento...
Leia maisAPI - Lista de Compras
Editora Inovação EIRELI API - Lista de Compras Guilherme Branco Stracini 2015 L i s t a d e C o m p r a s - A P I Sumário Sobre... 2 A aplicação... 2 A API... 2 Ambiente de Manutenção... 3 Ambiente de
Leia maisRedes de Computadores e Aplicações Camada de aplicação IGOR ALVES
Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES Camada de aplicação Um protocolo da camada de aplicação define como processos de uma aplicação, que funcionam em sistemas finais diferentes,
Leia maisPython para web com Flask. #PythonAmazonas
Python para web com Flask #PythonAmazonas @marcosptf Be Free. KDE About me @marcosptf pytero -> Grupy-SP phpzero -> PHPSP javero -> NetCat 2/48 Be Free. KDE Flask? O que é Flask? Flask é um microframework
Leia maisConstruindo a NuConta. Gustavo Bicalho Maurício Verardo
Construindo a NuConta Gustavo Bicalho Maurício Verardo Agenda NuConta Microsserviços no Nubank Transferindo dinheiro entre NuContas Event-sourcing: Modularidade e Escalabilidade Consistência em sistemas
Leia mais1 INTRODUÇÃO CERTIFICADO DE SEGURANÇA SSL AUTENTICAÇÃO WEB METHOD: LOGIN WEB METHOD: LISTBONDCODES...
ÍNDICE 1 INTRODUÇÃO... 3 2 CERTIFICADO DE SEGURANÇA SSL... 3 3 AUTENTICAÇÃO... 4 4 WEB METHOD: LOGIN... 5 5 WEB METHOD: LISTBONDCODES... 6 6 WEB METHOD: LISTBONDCODESCSV... 6 7 WEB METHOD: LISTTITULOSPUBLICOS...
Leia maisWeb Services REST. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo
Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta aula
Leia maisSUMÁRIO REST. REST + OAuth. Cliente em Java Processamento de respostas JSON
SUMÁRIO REST Cliente em Java Processamento de respostas JSON REST + OAuth Material de suporte às aulas de Sistemas Distribuídos de Nuno Preguiça Copyright DI FCT/ UNL / 1 REST WEB SERVICES: CLIENTE Criar
Leia maisRedes de Computadores
Redes de Computadores HTTP Prof. Thiago Dutra Agenda Definição de HTTP Hipertexto Características do HTTP O HTTP e a Web Conexões HTTP Mensagens HTTP Cookies Caches Web GET Condicional
Leia maisInstrutor: Eder Martins Franco
Minicurso de REST Aula 1 fsdfsdf Introdução às RESTful APIs com PHP Instrutor: Eder Martins Franco 27 MAI 2017 Faculdade FUCAPI v1.0 Professor who? Programador e professor, notívago e viciado em café.
Leia maisPAPO SMS MANUAL DE INTEGRAÇÃO DO DESENVOLVEDOR VERSÃO 1.0.1
PAPO SMS MANUAL DE INTEGRAÇÃO DO DESENVOLVEDOR VERSÃO 1.0.1 APRESENTAÇÃO O WEBSERVICE 1.0 foi desenvolvido para facilitar a solicitação e integração de dados de uma determinada conta PAPO. Sendo que, com
Leia maisColetando dados utilizando a API do Zabbix com PHP e JSON
Coletando dados utilizando a API do Zabbix com PHP e JSON INTRODUÇÃO: O Zabbix possui uma limitação quanto à montagem de painéis a serem utilizados por pessoas que não estão acostumadas a utilizar a sua
Leia maisAPI - IMERCADO Captura, Alocação e Repasse
API - IMERCADO Captura, Alocação e Repasse 19/09/2018 API IMERCADO ALOCAÇÃO Sumário 1. Histórico de Versões... 4 2. Introdução... 5 3. s HTTP - API imercado... 6 4. Endpoint... 6 URI base (todas as URIs
Leia maisIntegração Fidelimax. Versão Atual
Integração Fidelimax Versão Atual 2.0 https://api.fidelimax.com.br Mapeamento da API Todo retorno da API exibe um parâmetro de resposta e uma mensagem de erro quando houver algo diferente de uma requisição
Leia mais1 INTRODUÇÃO CERTIFICADO DE SEGURANÇA SSL AUTENTICAÇÃO WEB METHOD: LOGIN WEB METHOD: LISTBONDCODES...
ÍNDICE 1 INTRODUÇÃO... 3 2 CERTIFICADO DE SEGURANÇA SSL... 3 3 AUTENTICAÇÃO... 4 4 WEB METHOD: LOGIN... 5 5 WEB METHOD: LISTBONDCODES... 6 6 WEB METHOD: LISTBONDCODESCSV... 6 7 WEB METHOD: LISTTITULOSPUBLICOS...
Leia maisREST RESTfulWeb Services JAX-RS
Web Services REST Web Service Serviço oferecido por um sistema que pode ser acessado diretamente por outro sistema desenvolvido em qualquer tecnologia através de uma rede como a internet. Cada plataforma
Leia maisInstrumentação do NEON via WebSocket Especificação dos serviços de instrumentação do NEON através de conexões WebSocket.
authentication Especificação dos serviços de instrumentação do NEON através de conexões WebSocket. www.inwise.com.br Sumário Sumário... 2... 3 Conexão... 4 Exemplo... 4 Enviando comandos... 5 Exemplo...
Leia maisExercício Programa Mini Web Server
2004-2017 Volnys Bernal 1 Exercício Programa PSI 2653 Meios Eletrônicos Interativos I 2004-2017 Volnys Bernal 2 Objetivo Desenvolvimento de um programa servidor WEB Composição do grupo 4 pessoas (obrigatório)
Leia maisDicas & truques é uma iniciativa InnoDev com o foco na divulgação e promoção do Talento Angolano e fundamentalmente a partilha do conhecimento com
Dicas & truques é uma iniciativa InnoDev com o foco na divulgação e promoção do Talento Angolano e fundamentalmente a partilha do conhecimento com estudantes, profissionais e aos amantes da leitura. Ainda
Leia maisUMA INTERFACE ADMINISTRATIVA UTILIZANDO FIREBASE. Mateus Zanini, Tiago Possato, Tiago Heineck
UMA INTERFACE ADMINISTRATIVA UTILIZANDO FIREBASE 1 2 3 Mateus Zanini, Tiago Possato, Tiago Heineck INTRODUÇÃO Atualmente, grandes volumes de dados são gerados em um intervalo relativamente curto. Sua manipulação
Leia maisV1.5. One Way Manual do Sistema
One Way Manual do Sistema V1.5 One Way Manual do Sistema Histórico de Revisões Data da Revisão Versão Descrição Autor 25/10/2016 V1.0 Formatação do documento Luciano Santos 27/10/2016 V1.1 Conteúdo (Insert,
Leia maisCCT0298 ANALISE DE REDES Aula : Trafego HTTP
CCT0298 ANALISE DE REDES Aula : Trafego HTTP O que é o protocolo HTTP? Hyper Text Transfer Protocol é o protocolo usado na World Wide Web para a distribuição e recuperação de informação. A troca de informações
Leia maisManual de uso da API de Avaliação e Acompanhamento. servicos.gov.br
Manual de uso da API de Avaliação e Acompanhamento servicos.gov.br jun 22, 2018 Introdução 1 Apresentação 1 1.1 Formas de uso.............................................. 1 1.2 Fluxo simplificado para
Leia maisServiç os da rede de distribuiç ã o digital (DDWS) GetLicense - Manual do serviço
Serviç os da rede de distribuiç ã o digital (DDWS) GetLicense - Manual do serviço ÍNDICE Histórico de revisão... 2 1 Introdução... 3 1.1 Visão geral... 3 1.2 Documentos de suporte... 3 2 Introdução...
Leia maisConfiguração do Servidor Gateway Firewall e DHCP
Fundamentos e Serviços IP Configuração do Servidor Gateway Firewall e DHCP Configurações da primeira placa de rede(que está conectada com a internet) receberá configurações do dhcp de sua rede. Configurações
Leia maisFintecc SDK Documentation
Fintecc SDK Documentation Release latest Fintecc fev 21, 2018 Geral: 1 Sobre 3 2 Contribuindo 5 3 Boas Práticas 7 4 Instalação 9 5 Autenticação 11 6 Serviços/conexões 15 7 Domains 17 i ii Aviso: Essa
Leia maisEspecificação de Integração Linx Microvix WebApi v1.2
X Especificação de Integração Linx Microvix WebApi v1.2 Sumário 1 TECNOLOGIA... 3 2 ESPECIFICAÇÃO... 3 3 ACESSO... 8 4 TIPOS DE DADOS... 9 2/ 11 1 Tecnologia A integração com o Linx Microvix ERP está disponível
Leia maisGuia de Configuração Proxy IIS
08/2017 Sumário Sumário... 2 1. Prefácio... 3 1.1. Finalidade... 3 1.2. Público Alvo... 3 1.3. Informações Adicionais... 3 1.4. Documentações Importantes... 3 2. Configuração... 4 2.1. Instalação das Extensões
Leia maisarquitetura shared-nothing em 3 camadas
arquitetura shared-nothing em 3 camadas engenharia de sistemas de informação Daniel Cordeiro 29 de agosto de 2017 Escola de Artes, Ciências e Humanidades EACH USP info sobre o projeto projeto: iterações
Leia maisMANUAL DE INTEGRAÇÃO. Plataforma Simplus
Plataforma Simplus Versão v2 Revisado Set/2018 Introdução O presente documento visa orientar clientes e parceiros usuários da plataforma Simplus na integração de dados e demais ativos digitais de produtos,
Leia mais10 atributos de uma API de sucesso
10 atributos de uma API de sucesso Do design RESTful e segurança, a formas de divulgação e engajamento Kleber Bacili kleber.bacili@sensedia.com @kleberbacili slideshare.net/kleberbacili Cerquilho Kleber
Leia maisWeb Presentation Patterns - Controllers
Instituto Superior Técnico 29 de Novembro de 2004 1 2 3 Page Controller Front Controller 4 5 Porquê Usar Web Applications Não necessita instalar software no cliente. Acesso universal fácil. Interface comum
Leia maisConheça o IBM Cloud Functions A plataforma Serverless da IBM
Conheça o A plataforma Serverless da IBM Giuliano D. Morais Cloud Solutions Architect IBM Cloud / DOC ID / Month XX, 2018 / 2018 IBM Corporation Execute código somente sob demanda Sem gerenciamento e operação
Leia maisv1.0 Manual de integração municipal ISSIntel
v1.0 Manual de integração municipal ISSIntel 1.Utilização 1.1 Cadastros Para utilização do webservice para integração municipal não é necessário que a empresa autorizada possua cadastro como contribuinte,
Leia maisRicardo R. Lecheta. Novatec
Ricardo R. Lecheta Novatec Sumário Agradecimentos...11 Sobre o autor...12 Prefácio...13 Capítulo 1 Introdução...14 1.1 Introdução ao Node.js... 14 1.2 A linguagem JavaScript... 14 1.3 Arquitetura não
Leia maisGT-FENDE. Carlos Raniery P. dos Santos Universidade Federal de Santa Maria
Carlos Raniery P. dos Santos Universidade Federal de Santa Maria Introdução Soluções baseadas em software possibilitam uma maior flexibilidade da rede, permitindo que novas funções e serviços sejam rapidamente
Leia maisIEC Banco de Dados I Aula 11 Técnicas de Programação SQL
IEC Banco de Dados I Aula 11 Técnicas de Programação SQL Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho E- mail: andre@icomp.ufam.edu.br Site: hjp://bdufam.wordpress.com Sumário
Leia maisRicardo Couto Antunes da Rocha 2005 Ricardo Couto Antunes da Rocha
Programação com Sockets Ricardo Couto Antunes da Rocha rcarocha@inf.ufg.br 2005 Ricardo Couto Antunes da Rocha Parâmetros de protocolos Objetivo do protocolo Protocolo de transporte: TCP ou UDP Porta (servidora!):
Leia maisGuia de Configuração Proxy IIS
10/2017 Sumário Sumário... 2 1. Prefácio... 3 1.1. Finalidade... 3 1.2. Público Alvo... 3 1.3. Informações Adicionais... 3 1.4. Documentações Importantes... 3 2. Configuração... 4 2.1. Instalação das Extensões
Leia maiscódigo belo vs. legado e qualidade de software
código belo vs. legado e qualidade de software engenharia de sistemas de informação Daniel Cordeiro 22 de agosto de 2017 Escola de Artes, Ciências e Humanidades EACH USP pergunta Em geral, qual afirmação
Leia maisAPP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM
APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM Rafael Marisco Bertei 2, Vinícius Maciel 3, Josué Toebe 4 1 Projeto
Leia maisIntrodução. Diagramas de Interação. Introdução. Introdução. Introdução. Introdução. Os modelos de análise não respondem a algumas perguntas:
Diagramas de Interação Os modelos de análise não respondem a algumas perguntas: Como as operações do sistema são executadas internamente? A que classes estas operações internas pertencem? Quais objetos
Leia maisSEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE
SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Desenvolvimento Web Quais os ambientes operacionais? Servidor Web Servidor de Aplicações Navegador Desenvolvimento
Leia maisUMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE
UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE Fagner Jefferson de Araújo Silva; Whasley Sousa Cardoso; Marcelo Portela Sousa. Instituto Federal de Educação, Ciência e Tecnologia da Paraíba
Leia maisEA975 - Laboratório de Engenharia de Software
EA975 - Laboratório de Engenharia de Software Turmas K/L - 2017 Aula 1 O que vamos desenvolver? Vamos desenvolver uma aplicação distribuída, empregando a arquitetura 3-Tier segundo o estilo REST/HTTP (Respresentational
Leia maisBuscando a praticidade na integração do seu sistema com o nosso, a Papo consultou desenvolvedores, pesquisou concorrentes e avaliou tecnologias, para
v1.0 Buscando a praticidade na integração do seu sistema com o nosso, a Papo consultou desenvolvedores, pesquisou concorrentes e avaliou tecnologias, para criar um web service de integração rápido e simples.
Leia maisMILLENNIUM NETWORK. Millennium ECO Documentação Técnica 05/2017
MILLENNIUM NETWORK Millennium ECO 5.44 Documentação Técnica 05/2017 Este documento contém as instruções para a utilização da biblioteca Millenium_Eco que se presta à comunicação de aplicativos de terceiros
Leia maisWeb Services REST JAX-RS
Web Services REST JAX-RS Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Principais tecnologias envolvidas Testando os serviços desenvolvidos JAX-RS Principais anotações JAX-RS Principais anotações
Leia maisParte 3: Camada de Rede
Parte 3: Camada de Rede Objetivos: Visão Geral: Entender os princípios dos serviços da Camada de Rede: Roteamento (seleção de caminho). Implementação na Internet. Serviços da Camada de Rede. Princípios
Leia maisArquiteturas de Aplicações Web. Leonardo Gresta Paulino Murta
Arquiteturas de Aplicações Web Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aplicações Convencionais vs. Web Aplicações convencionais Escritas usando uma linguagem de programação (ex.: Java) Sites de
Leia maisAdemir C. Gabardo. Novatec
Ademir C. Gabardo Novatec Copyright 2017 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer
Leia maisManual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Simplificada (Juridica) Versão: 1.0. Autor: Angelo Bestetti Junior
Manual de Integração Tecnologia: WebServices SOAP XML Área: CDC Produto: CDC Simplificada (Juridica) Versão: 1.0 Autor: Angelo Bestetti Junior Conteúdo Introdução... 3 Considerações Iniciais... 4 Privacidade...
Leia maisIntrodução a Web. Programação para a Internet. Prof. Vilson Heck Junior
Introdução a Web Programação para a Internet Prof. Vilson Heck Junior Introdução Quer ter idéias? Quer vender algo? Talvez comprar? A Web é uma forma universal de comunicação, na qual você pode participar.
Leia maisEA975 - Laboratório de Engenharia de Software
EA975 - Laboratório de Engenharia de Software Turmas K/L - 2017 Aula 8 Vamos inicialmente especificar com mais detalhes o termo "recurso" utilizado no estilo arquitetural REST. Em REST, recursos são uma
Leia maisProtocolo HTTP. Eduardo Ferreira dos Santos. Fevereiro, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 22
Protocolo HTTP Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Fevereiro, 2017 1 / 22 Sumário 1 Denições 2 Implementação HTTP 3 Protocolo HTTP/1.1 2 / 22 Denições
Leia maisServiços Integrados: Segmentos de mercado. Cobrança Pagamentos Folha de Pagamento Débito Automático Extrato Eletrônico
Serviços Integrados: Pagamentos Folha de Pagamento Débito Automático Extrato Eletrônico Segmentos de mercado Desenvolvimento de produtos e serviços diferenciados de acordo com o modelo de negócios de cada
Leia maisMicroservices com
Microservices com Python @diegorubin Onde posso ser encontrado diegorubin @diegorubin http://diegorubin.com Como construímos software? Como construímos sistemas? Como construímos software - Padrões de
Leia maisSTD29006 Sistemas Distribuídos
STD29006 Sistemas Distribuídos Serviços Web Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/std 22 de setembro
Leia maisIntrodução ao GAM. Agora queremos aumentar a Segurança da aplicação, tanto na parte web como a de Smart Device. Page1
Page1 Introdução ao GAM Nos vídeos anteriores vimos o desenvolvimento de uma aplicação web e para dispositivos móveis, para administrar os dados de um evento, com informação de suas conferências, oradores,
Leia maisBanco de Dados I Curso: Sistemas de Informação
Banco de Dados I Curso: Sistemas de Informação Prof.: José Ronaldo Leles Júnior Email.: juniorleles80@gmail.com Alguns aspectos da arquitetura dos computadores têm influência na arquitetura do banco de
Leia maisEste item do documento apresenta o AuthSnet, protocolo de autenticação usado para acessar os recursos privados (protected resource) da ServiceNet.
API Pagamento v1.0.0 1 - Autenticação 1.1 - Introdução Este item do documento apresenta o AuthSnet, protocolo de autenticação usado para acessar os recursos privados (protected resource) da ServiceNet.
Leia maisCamada de Aplicação. Redes Industriais Prof. Rone Ilídio
Camada de Aplicação Redes Industriais Prof. Rone Ilídio Itens do Livro Redes de Computadores e a Internet, Kurose 5ª edição 2 Camada de Aplicação 2.1 Princípios de aplicações de rede 2.1.1 Arquiteturas
Leia maisMongoDB BANCO DE DADOS NÃO RELACIONAL ORIENTADO A DOCUMENTOS BANCO DE DADOS AVANÇADOS VALÉRIA TIMES
BANCO DE DADOS NÃO RELACIONAL ORIENTADO A DOCUMENTOS BANCO DE DADOS AVANÇADOS VALÉRIA TIMES Origem: Humongous Significa Gigantesco Alguém conhece MongoDB? Sim! Já trabalhou? O que é? Banco de dados (BD)
Leia maisAgenda. Motivação Serviços Funcionalidades Básicas DNS NTP Servidores HTTP Proxies SMB CIFS ( SAMBA )
Serviços em IPv6 Agenda Motivação Serviços Funcionalidades Básicas DNS NTP Servidores HTTP Proxies SMB CIFS ( SAMBA ) Motivação Provedor de Acesso Provedor de Conteúdo 06 de Junho de 2012 Serviços DHCPv6
Leia maisWebservices LEANDRO MENDES FERREIRA
Webservices LEANDRO MENDES FERREIRA Webservices - Agenda CONCEITOS RPC HTTP SOAP RESTFUL CONCEITOS Conceitos Básicos XML (extensible Markup Language) Liguagem de marcação para descrição de documentos de
Leia maisAvaliação de Frameworks de Produtividade para aplicações CRUD
Superintendência de Informática - SINFO/UFRN Avaliação de Frameworks de Produtividade para aplicações CRUD Leonardo René Campos Analista de TI Agenda 1. Introdução 2. Objetivos 3. Critérios de Avaliação
Leia maisO que é DDFe? DDF-e é um acrônimo para Distribuidor de Documentos Fiscais Eletrônicos.
Solução DDFe O que é DDFe? 1 DDF-e é um acrônimo para Distribuidor de Documentos Fiscais Eletrônicos. 3 Com isso, agiliza todo o processo das empresas (CNPJ s envolvidos) no monitoramento das notas emitidas
Leia maisFirewall - Inspeção com estado. (Stateful Inspection)
Proxy e FIREWALL Firewall - Inspeção com estado. (Stateful Inspection) As primeiras gerações de firewall eram ditos "stateless". Cada pacote é analisado individualmente, sem levar em conta pacotes anteriores
Leia maisFORNECENDO COMUNICAÇÃO SEGURA EM AMBIENTES DE SISTEMA EMBARCADOS USANDO ARDUÍNO
FORNECENDO COMUNICAÇÃO SEGURA EM AMBIENTES DE SISTEMA EMBARCADOS USANDO ARDUÍNO Autores : Iago Marinheiro ELIAS, Giorgy ismael da rosa OLIVEIRA, Thiago Locatelli Candido de OLIVEIRA, Vanessa Barbosa ROLIM.
Leia maisAPI. Lista de métodos da API do Funil de Vendas. Criação de Atividade. POST /v2/activities. Authorization: Basic { ACTIVITY } Exemplo:
API Lista de métodos da API do Funil de Vendas Criação de Atividade POST /v2/activities Content-Type: application/json ACTIVITY Exemplo: POST /api/v2/activities HTTP/1.1 Host: sandbox.funildevendas.com.br
Leia maisCapítulo 3. Redes Sociais 24
3 Redes Sociais No contexto da Internet, redes sociais podem ser definidas como locais (sites) em que pessoas se conectam umas às outras através de laços sociais baseados em afinidades, interesses em comum
Leia maisglobo.com Gerenciamento de Senhas
globo.com Gerenciamento de Senhas Agenda Motivação Métodos utilizados para armazenamento de senhas Principais softwares utilizados Compartilhando uma senha GSenha Motivação Dificuldade em gerar uma senha
Leia maisConceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)
Márcio Koch 1 Currículo Formado na FURB em Ciência da Computação Pós graduado em Tecnologias para o desenvolvimento de aplicações web Mestrando em Computação Gráfica na UDESC Arquiteto de software na Senior
Leia maisIntrodução ao Desenvolvimento de
Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo
Leia maisConfigurando a Autenticação de Requisições HTTP com o CE Executando o ACNS e o Microsoft Active Directory
Configurando a Autenticação de Requisições HTTP com o CE Executando o ACNS 5.0.1 e o Microsoft Active Directory Índice Introdução Pré-requisitos Requisitos Componentes Utilizados Convenções Configurar
Leia mais