Integração de soluções e seu impacto nos negócios
Integração de soluções e seu impacto nos negócios
A integração de aplicativos evoluiu, passando de arquiteturas em que todos os sistemas se comunicavam entre si, conhecidas como arquitetura espaguete, para o que temos hoje: o estabelecimento de barramentos de integração, normalização de dados e modelagem de dados para integração, bem como o estabelecimento de padrões de integração.
No mundo tecnológico atual, incluindo a computação em nuvem, ainda mais tecnologias e ferramentas foram viabilizadas, o que, por sua vez, levou ao desenvolvimento de melhores práticas de integração. Protocolos específicos de integração surgiram, tais como:
- SOAP
- HTTP-based REST API
- HTTP-based GraphQL
Se você parar para pensar sobre a evolução deste texto desde o primeiro parágrafo até estas linhas, poderá perceber que a mudança fundamental é uma mudança de paradigma, passando da desordem e falta de padronização (espaguete) para uma padronização organizada. O motivo: a ordem economiza tempo e a padronização evita confusões.
Todos esses esforços para padronizar a integração de aplicações envolvem muito trabalho, incluindo a importância de compreender a necessidade de definir e estabelecer uma prática adequada de integração de aplicações — e essa ideia deve ser entendida pelos membros da equipe do projeto e pelos demais participantes envolvidos.
Em muitas ocasiões, vimos que cada equipe de aplicação envolvida em uma solução maior foca apenas em atender e desenvolver os requisitos do seu próprio componente. Assim, a fase de integração é vista como algo genérico, onde as aplicações de destino apenas precisam cumprir um formato padrão de integração e a API proposta. Tudo isso leva a uma definição superficial dos itens abaixo durante as fases de design:
- Padrões de integração entre aplicações
- Padrões de integração entre aplicações
- Análise detalhada dos campos que precisam ser enviados da aplicação A para a aplicação B, o que geralmente causa muito retrabalho — e quanto menos atenção se dá a esses detalhes, mais retrabalho é gerado.
Como mencionado acima, o ponto anterior gera, em etapas posteriores do projeto, retrabalho, pois situações como as seguintes geralmente aparecem:
- Campos faltantesou seja, informações que o sistema A não envia para o sistema B. Por exemplo, informação que, na fase de testes, identifica-se que o CRM não está enviando ao sistema de faturamento, ou que o sistema de faturamento não envia ao ERP — informações posteriormente necessárias para faturamento eletrônico, contabilidade, cobrança adequada, etc.
- Formatos incompatíveis, há muitos casos, mas o exemplo mais comum é o formato de data. O sistema A definiu YYYY-MM-DD e o sistema B definiu YYYY-DD-MM. Isso causa problemas em processos futuros que dependem da data, como datas de corte, por exemplo. MM/DD não é o mesmo que DD/MM. O primeiro seria 3 de janeiro; o segundo, 1º de março — quase dois meses de diferença por um erro tão simples. Esse erro pode até chegar à produção se os testes não forem exaustivos.
Portanto, reservar um espaço no plano do projeto e na definição da solução para a integração de aplicações garante a minimização desses e de outros erros comuns, além de permitir:
- Padronizar como as aplicações irão se comunicar no futuro simplifica as fases de análise, caso o novo requisito esteja alinhado aos estatutos ou padrões de integração estabelecidos. Mais importante ainda, permite uma arquitetura sustentável ao longo do tempo, capaz de se adaptar ao futuro.
- Garantir o desempenho ideal da solução desde o início do projeto é alcançado definindo padrões de integração adequados entre os componentes. Já vimos, por exemplo, situações em que escolher comunicação online para um sistema projetado para receber um alto volume de transações faz com que os serviços falhem nos períodos de pico do mês, causando perda de continuidade do negócio. Algo que poderia ter sido evitado simplesmente integrando por meio de filas, em vez de processar tudo online em tempo real.
Na CONGERO, entendemos a importância e a necessidade da integração de aplicações. Por isso, entre nossas fortalezas e capacidades, você encontra a área de integração, o desenvolvimento de integração de aplicações — tanto para sistemas on-premises quanto para soluções em nuvem — além da implementação de frameworks ou ferramentas de integração. Compreendemos a importância de definir os padrões corretos de integração para situações como:
- Orquestração de ordens de provisionamento de serviçosVocê tem uma ordem que envolve configurar o serviço em várias plataformas ou orquestrar ativações e notificações em diversos sistemas satélites. Nesses casos, a padronização das informações é fundamental, assim como entender se o melhor método de integração é online, fire-and-forget, filas, pub/subs, etc.
- Mediação de informações: Este é um cenário muito comum, onde uma fonte de informação atende a vários destinos, ou várias fontes atendem a um destino. Especialmente no último caso — várias fontes e um único destino — é uma boa prática padronizar as informações, definir um formato e uma camada de integração de normalização para uniformizar conceitos, formatos, etc. Assim, por exemplo, se você tem uma operadora de telecomunicações com várias plataformas e, em uma delas, um campo se chama contrato; em outra, número de telefone; e em outra, conta — mas todas servem ao mesmo e único propósito no nível de negócio — então sua camada de mediação o chamará, por exemplo, identificador de contrato, e a partir daí todos os consumidores de informação entenderão que esse é o uso que devem dar a esse campo, independentemente de onde venha ou de como o outro sistema o nomeie.
- Integração de aplicações em nuvem seja cloud-to-cloud ou dentro de uma mesma nuvem, cada provedor — especialmente os mais importantes do mercado — definiu e disponibilizou para seus clientes ferramentas de processamento de dados que atendem a diversos propósitos: comunicação em tempo real (como Lambda, Google Functions), streaming (Stream Analytics, AWS MSK, Kinesis, Google Data Flow, Datastream, etc.) e processamento em batch (como Data Proc). Entender quando usar cada uma delas é fundamental para desenvolver uma arquitetura de solução sustentável ao longo do tempo.
Com o tempo, tornamo-nos verdadeiros mestres em integração, tanto para nossas soluções quanto para soluções de terceiros. O motivo: entendemos a importância da ordem e da padronização, e compreendemos a influência desses aspectos e seu impacto nos negócios.

Como tudo o que foi mencionado acima se traduz em resultados para o negócio:
A área de TI poderá responder mais rapidamente à evolução natural do negócio, pois sua tecnologia e arquitetura estarão desenhadas para o futuro, para a flexibilidade e para a mudança. Imagine uma arquitetura em que tudo está amarrado e integrado de tal forma que, para cumprir um novo requisito legal, são necessários 5 meses de implementação — e no fim, a mudança consiste apenas em adicionar mais um campo à fatura. “Por que 5 meses?”, perguntará a equipe de negócio. E a resposta: porque ninguém entende o espaguete de comunicação entre os componentes — mas isso é um segredo entre você (leitor) e eu (autor).
Responder rapidamente às necessidades do negócio significa que cada um dos componentes da solução — ou equipes de aplicações — compreende o negócio e o seu papel, entendendo assim quais informações devem fornecer e disponibilizar ao negócio, às partes interessadas e aos clientes finais. Portanto, a integração deve servir e oferecer canais padronizados para que a informação possa ir do ponto A ao ponto B da forma mais rápida, clara e correta possível.
A definição de uma arquitetura de integração adequada, assim como sua implementação, visa alcançar Zero Downtime (sempre online), algo que em muitos casos não é atingido devido a erros de sobrecarga de servidores, lentidão e muitos outros problemas relacionados ao processamento de volume — aspectos diretamente ligados à satisfação do cliente e à qualidade da entrega de serviços. Quando você entende o padrão de carga de trabalho e a natureza do negócio, passa a ser capaz de definir corretamente como integrar aplicações em cada ponto de integração necessário.
Junte-se à nossa rede no LinkedIn e compartilhe suas ideias!