Mindmap
Integração entre sistemas

Mapa mental: Integração entre sistemas
Inhalt der Mindmap
Integração entre sistemas
em ambientes corporativos, aplicações raramente vivem isoladas
aplicações que se integram a outras, fazem via rede, e portanto devem lidar com desafios como:
- redes não são totalmente confiáveis
- redes são lentas
- nem sempre duas aplicações que precisam ser integradas utilizam a mesma tecnologia
- mudanças nas aplicações são inevitáveis (e constantes)
Abordagens para integração de sistemas
- Aplicações podem se integrar de quatro maneiras
- Transferências de arquivos
- Uma aplicação gera um arquivo e transfere uma cópia desse arquivo para outra aplicação
- Ex: sistemas bancários ainda utilizam integração por troca de arquivo
- Vantagens: simples de implementar, tecnologias distintas podem ser utilizadas nas duas aplicações envolvidas
- Desvantagens: o formato de arquivo deve ser acordado e implementado nas duas aplicações, acontece em lotes e janelas em horários especificos, não de forma online, tratamentos de erros são difíceis e demorados
- Banco de dados
- Uma aplicação modifica dados em um banco de dados que é acessado pela outra aplicação
- casos de uso: sistemas de um mesmo fornecedor
- vantagens: dispensa a etapa intermediária de geração e transferência de arquivos
- desvantagens: por utilizar um mesmo banco, a aplicação integrada pode impactar na outra; necessário lidar com deadlock
- Invocação remota de funcionalidade (RPC)
- Uma aplicação expõe uma funcionalidade para ser acessada remotamente por outra aplicação
- Ex: apps para celular normalmente acessam dados via chamadas RestAPI
- vantagens: integração online; tecnologias distintas podem ser utilizadas nas duas aplicações envolvidas
- desvantagens: necessita de cuidados especiais com a segurança
- Mensageria
- Uma aplicação publica uma mensagem em um canal, e essa é consumida por outra aplicação
- Ex: o sistema bancário de TED utiliza integrações via mensageria
- vantagens: tecnologias distintas podem ser utilizadas nas duas aplicações envolvidas; integrações assíncronas são mais eficientes; não exigem o bloqueio do produtor até o consumidor por uma resposta
- desvantagens: desenvolver aplicações com integração assíncrona requer novos desafios técnicos
- Transferências de arquivos
- Aplicações podem se integrar de quatro maneiras
Tipos de Integração via Invocação Remota
- SOAP (Simple Object Access Protocol, em português Protocolo Simples de Acesso a Objetos)
- Java RMI / EJB Remoto
- API Rest - Representational state transfer
- API GraphQL
- RPC / gRPC
O que é API Restful?
- API - Application Programming Interface
- API Rest - Representational state transfer
- Até o meio de 2021, a Akamai afirma que 83% do tráfego da internet é composto de chamadas à APIs
- Recursos e URIs
- Recursos
- Identificando recursos na URI
- Estrutura de uma URI: protocolo://dominio/versão/recurso/{id do recurso}
- Exemplos de URIs: http://api.com/v1/clientes/ (URI que identifica todos os clientes)
- http://api.com/v1/clientes/2566516516 (URI que identifica um cliente especifico)
- Métodos HTTP
- GET, POST, PUT, PATCH, DELETE
- Crud - Create (POST), Read (GET), UPDATE e DELETE
- Códigos de Retorno
- 2xx - Classe 200 (sucesso)
- 4xx - Classe 400 (erro na requisição)
- 5xx - Classe 500 (erro no servidor)
- Cabeçalhos HTTP
- Cabeçalhos de requisição. Ex: Accept: application/json
- Cabeçalhos de resposta. Ex: Content-type: application/json
- Parâmetros de Consulta
- Parâmetros de consulta. Ex: http://api.com/v1/clientes?nome=Joao&pagina=1
- Relações com sub-recursos. Ex: http://api.com/v1/pedidos/1254/?produto=sabonete
- Formato JSON
- Json é uma sigla para Javascript Object Notation
- simples de escrever e interpretar, inclusive por humanos
- utiliza pares de nomes (chave) e valor para os campos
- os campos podem ser do tipos string, número, bool (true/false), array ou object
- strings, incluindo o nome de um campo, são delimitadas por aspas
- arrays (listas) de campos do mesmo tipo são delimitadas por colchetes
- objetos são delimitados por chaves
- não permite comentários
- Open API Specification
- OAS - é uma especificação para descrever APIs Restful independente da tecnologia utilizada para criar o API
- utiliza um arquivo no formato YAML para descrever todos os detalhes de um conjunto de APIs
- há ferramentas para gerar a documentação dos APIs a partir da especificação OAS
- ver https://swagger.io/ para um editor de arquivos
- Formato YAML
- Yaml é uma sigla para YAML Ain't Markup Language
- corresponde ao JSON, mas ainda mais simples
- a hierarquia dos campos é indicada pela indentação
- um item de mapeamento utiliza um nome e valor separados por dois-pontos (:)
- Enviando uma requisição
- Via navegador
- Via CLI (curl, wget, Invoke-WebRequest
- Via Postman
- ver https://github.com/aldebap/cursoIntegracao APIs
- Cabeçalhos HTTP
- Métodos HTTP
- Recursos e URIs
Frameworks para a criação de APIs
- Javascript: Node.js + Express = minimalista, eficiente e não opinativo
- Java: Spring MVC + Spring Boot = endpoints criado com anotações do Spring MVC
- Golang: Gorrila Mux (simplifica a criação das rotas / endpoints
- Python: Flask = permite utilizar rotas a partir do OAS
- C#: ASP.NET core = Open Source e multiplataforma
Framework para consumo de APIs
- Javascript: Axios = baseado em promises, pode ser utilizado em clientes e servidores (Node.js)
- Javascript: jQuery = framework antigo mas ainda relevante
Informationen
- Beschreibung
- Mindmap am Integração entre sistemas, erstellt von Felipe da Cunha am 28/04/2025.
- Erstellt von
- Felipe da Cunha
- Aufrufe
- 0
- Bewertung
Mehr zu Integração de sistemas e arquitetura orientada a eventos