O Que um Processo de Integração Sistêmica tem a ver com Transformação Digital?

A maioria dos processos de transformação digital se inicia na transformação da empresa – com exceção das empresas que já nascem na era digital.  

O processo de transformação digital busca melhorar as ofertas aos consumidores finais, principalmente através de funcionalidades que têm como grande objetivo gerar comodidades aos consumidores.

Grandes exemplos deste processo são os aplicativos bancários, aplicativos de companhias aéreas e os aplicativos de saúde, entre outros tantos.

Para o caso das empresas já estabelecidas e com necessidade de modernização, além da adoção da cloud e implantação de uma arquitetura bem definida de soluções, é prudente dar atenção ao capítulo de integração sistêmica.

Integração não é simplesmente retirar o dado do ponto A para o B e ponto final.

Desenhar uma arquitetura de integração requer empreender técnicas voltadas a análise de negócio, propósito da integração, enriquecimento de dados, escolha de uma boa plataforma e planejamento de uma estratégia.

A evolução da integração Sistêmica

Muito se evoluiu no capítulo de integração desde as implementações SOA. 

Tenho para mim que a principal mudança ocorreu nas plataformas híbridas que, por definição, permitem integrar dados tanto na rede local (On Premises), quanto na rede pública – principalmente funcionalidades disponíveis na cloud.  

Neste quesito, existem vários tipos de ferramentas.

As que são hospedadas em cloud e expõem agentes de extração das informações para redes On Premises, como também as que são hospedadas tanto em ambientes cloud como em ambientes On Premises.

Dessa forma se pode optar por desenhar o melhor fluxo de dados segmentado por geolocalização.

Particularmente, acredito que esse segundo modelo seria o mais indicado, pois gera maior liberdade para arquitetar o data flow. 

Demais mudanças grandes nesta estratégia de integração são a adoção de conceitos e ferramentas como Api Getaway, Api Management, iPaaS, HIP, ESB e Microservice – veja a seguir.


API Gateway

Como o próprio nome já o define, API Gateway é um ponto único de acesso. Seu principal papel é disponibilizar a API, filtrar quem está acessando as APIs e direcionar o fluxo para os serviços / integração que foi requisitado.

API Manager

Aqui já é um pouco diferente, gerenciar API traz aspectos mais governados. API Manager fornece uma camada de gestão para API Gateways, podendo definir o comportamento do API Gateway.

Através do API Manager pode-se extrair informações analíticas de cada requisição, gerenciar comportamentos, implementar o controle de versão e criar relatórios de monitoramento para validação de acesso.

Alguns gerenciadores permitem implementar uma estratégia de monetização, além de outros recursos – é importante ressaltar que nem todo Gateway de API possui um API Manager.

iPaaS

iPaaS quer dizer Plataforma de Integração como Serviço. É um conjunto de serviços disponibilizado através da nuvem que possibilita o desenvolvimento, a execução e a governança de fluxos de integração que conectam qualquer combinação de processos, serviços, aplicativos e dados locais e/ou em nuvem.

HIP

HIP é uma plataforma de integração híbrida. Segundo o analista especializado em integração Mássimo Pezzini, do instituto Gartner, “uma estratégia HIP sólida começa com uma análise dos recursos de integração já existentes na sua organização”.

Uma estratégia de integração HIP deve abranger e suportar principalmente quatro dimensões,
sendo:

  • Personas (constituintes): especialistas em integração, integradores ad hoc, integradores de cidadãos e integradores digitais;
  • Domínios de integração: aplicativo, dados, B2B e processo;
  • Pontos de extremidade: dispositivos locais, nuvem, dispositivos móveis e dispositivos de IoT;
  • Modelos de implantação: nuvem (potencialmente em vários ambientes), local, híbrido (nuvem e local) e incorporado em dispositivos IoT.

ESB

A sigla ESB significa Enterprise Service Bus. Precisamos ressaltar que ESB não é uma linguagem de programação para Webservices, mas um Hub a ser utilizado em sua rede de computadores tradicional.

Através do ESB é possível customizar o serviço de mensagens, pois ele é um Mediador. Com o ESB é possível, por exemplo, fazer validações e roteamento de mensagens baseado no conteúdo da mensagem. 

Outra característica do ESB é ser um produtor de mensagens em um
determinado formato e ter um consumidor das mensagens em um formato diferente – ou seja, além de um gateway ele tem a funcionalidade de converter protocolos entre produtores e  consumidores.

Muito se confunde a utilização de API Gateway e ESB. É normal, já que no início a maioria dos gateways de API trabalhavam com dois protocolos de comunicação: JSON e SOAP. Entretanto os gateways evoluíram para trabalhar com mais protocolos, além de implementarem o ciclo de integração em mais de uma camada (API e Experiência, API de
Mediação e API de acesso a dados).

Vale ressaltar, ainda, duas observações antes de optar por uma estratégia 100% de API ou  ter um API + ESB. São elas:

  1. A escolha o API Gateway que permita o posicionamento das suas APIs no formato externo e interno.;
  2. O API Gateway escolhido possibilitar a implementação das integrações nas três camadas (API e Experiência, API de Mediação e API de acesso a dados).

Caso esses dois pontos não tenham cobertura, valide com cuidado a estratégia de integração para não sobrecarregar seu Gateway de API.

Microservice

Este termo está em voga no mercado. Temos várias definições para microservice com vários “pensadores” sobre o tema.

Seguindo algumas bibliografias conclui-se que microservice é um estilo arquitetural para implantação de serviços, podendo ser usado ou não para integração sistêmica. Como o próprio nome sugere, microservice se refere a um software dividido em pequenos softwares (micro-softwares), tendo responsabilidades reduzidas e sendo independentes.

Na minha opinião, microservice está muito além de integração sistêmica. Acredito que sua maior capacidade de utilização está atrelada a pegar parte de um software, aplicar o principio da responsabilidade única do solid, bem como o conceito de domínio do DDD (Domain Driver Design), endereçando uma solução específica para aquele cenário – de
forma isolada, mas com implantação distribuída.

Por ser bem segmentado, o microservice, através de sua arquitetura, permite uma fluidez para que grandes soluções sejam segmentadas e divididas entre vários times. Muitas empresas voltadas a produtos dividem seus squads por domínio e, por sua vez, o desenvolvimento em microservices.

Voltando ao tema central de integração, sou adepto a ter um API Manager que gerencia a exposição através de um API Gateway, deixando toda a sua regra de negócio a cargo dos squads que constroem suas aplicações back-end com microservices.

Desta forma, integrar dados deixa de ser a retirada do dado que está no ponto A levando-o ao ponto B e passa a trazer riqueza de negócio, informação em tempo real e segurança para seu cliente.

Como exemplo, temos casos reais de bancos digitais, plataformas que conectam usuários a motoristas, aplicativos de saúde, companhia áreas, entre outros tantos.

Pontos importantes a serem analisados para uma estratégia bem-sucedida de integração

CI/CD
Porque o CI/CD é importante pra uma boa estratégia de integração? Imagine toda a empresa
já aculturada e estruturada para ter seus processos de desenvolvimento implementados e
validados antes de efetuar promoções entre ambientes.

Assim como o desenvolvimento, as integrações também são funcionalidades dos sistemas, tendo o ciclo automatizado, gerenciado e validado. Publicação seguras traz confiança e maturidade ao processo. 

Vejamos um exemplo prático. Imagine que você está lançando uma API de consulta de saldo sem segurança ou com algum erro na fórmula para exibição e só descubra o problema quando estiver em produção. O resultado será um caos, com certeza.


Elasticidade

Prefiro o termo elasticidade ao termo escalabilidade. Uma vez projetadas, as soluções elásticas permitem que, no caso de um aumento de carga, sua infraestrutura de integração  tenha  capacidade para absorver maior pico de acesso – suportando este pico temporário e sendo capaz de retornar ao tamanho original ao final do processo.

Aplicada a todos os ambientes, principalmente para ambientes de cloud, a elasticidade pode trazer redução de custo, uma vez que o ambiente pode voltar ao tamanho original  e sua cobrança voltar a ser pela média de utilização do mês.

Portabilidade

Outro aspecto de extrema importância é ter ambientes portáveis. Imagine ter de refazer todo seu ambiente de integração, por  conta de um problema não previsto – se não possuir uma ambiente de contingência, cluster ou DR, terá de refazer toda sua instalação o que requer um esforço imensurável, ainda mais se tiver de medir o prejuízo gerado.

Não só este aspecto é importante para ter ambientes portáteis, mas também para permitir uma mudança de infraestrutura, dadas as necessidades de evolução, vantagens comerciais ou ter a necessidade de montar um ambiente rápido para desenvolvimento e testes igual ao ambiente produtivo.

Processo de integração moderno

Um processo de integração moderno visa uma boa estratégia e implementação, definindo o propósito a ser integrado e criando uma arquitetura de solução que abranja aspectos como:

  • Infraestrutura: Cloud ou On Premisses;
  • Fluxo de dados (Data Flow);
  • Segurança: além do acesso seguro temos de validar a segurança dos dados (a LGPD chegou);
  • Mensageria: se possível, implementar acessos assíncronos a dados que modifiquem  algum estado. Se for preciso usar acesso síncrono defina bem o escopo e utilize para consulta. Valide também um broker de mensagem tipo Kafka.
  • Divisão da responsabilidade: defina o escopo das regras de negócio e suas funcionalidades.

Procure por soluções que atendam bem a cada parte do escopo. Algumas soluções vão atender bem determinado escopo, da mesma forma que determinado escopo pode ser bem desenvolvido dentro de casa.

Faça uma análise de trade off e consulte um especialista em integração para apoiar sua empresa nessa jornada. Os especialistas do Grupo Mult estão à disposição para ajudar a encontrar a solução ideal para seus negócios. Fale conosco!

*Artigo produzido por Marcelo Umberto, Head de Arquitetura e integração no Grupo Mult.