Tipos de integração de sistemas e por onde começar
Os tipos de integração de sistemas distinguem-se pela forma como os sistemas trocam dados: por ficheiros, por uma base de dados partilhada, por chamadas directas entre sistemas (as APIs) ou por mensagens enviadas através de um canal comum. Nenhum é o melhor em todos os casos. Escolhe-se o tipo para cada ligação, e a empresa deve começar pelo ponto onde hoje alguém reescreve um dado à mão.
O que se integra, afinal
Integrar sistemas é fazer com que aplicações separadas trabalhem em conjunto e produzam um resultado único. A definição vem de Enterprise Integration Patterns (Hohpe e Woolf, 2003), o livro de referência sobre o tema, que acrescenta uma nota prática: algumas aplicações são feitas à medida, outras compradas, e algumas nem foram desenhadas para serem integradas (introdução aos estilos de integração). É uma fonte de 2003: serve para classificar as formas de ligar sistemas, e não para escolher ferramentas de hoje. É o retrato de quase todas as empresas: um sistema de gestão, uma folha de cálculo, um programa de clientes, um site, cada um com a sua parte do número.
A integração de sistemas é o trabalho de pôr essas peças a trocar dados sem ninguém a copiar valores de uma para outra. O resultado é um só número para cada coisa, em vez de várias versões. Quando o número que a administração lê sai de várias fontes reescritas à mão, a integração é uma das condições para ele ser o mesmo em todas as áreas; os indicadores em si estão em que indicadores deve ver a administração.
Quais são os tipos de integração de sistemas?
O livro separa quatro estilos, que ordena do mais simples ao mais sofisticado:
| Tipo | Como funciona | Quando serve | Cuidado |
|---|---|---|---|
| Por ficheiros | Um sistema produz um ficheiro com os dados partilhados e outro consome-o | Dados que podem esperar, como um resumo diário, ou sistemas antigos que só sabem exportar ficheiros | Os dados só estão tão actuais como a última troca; o formato do ficheiro tem de ser acordado |
| Por base de dados partilhada | Vários sistemas guardam os dados na mesma base | Quando todos precisam do mesmo dado, sempre actualizado | Desenhar uma estrutura que sirva todos é difícil, e uma mudança num sistema pode afectar os outros |
| Por chamada directa (API) | Um sistema oferece uma interface e o outro pede-lhe dados ou acções | Consultar ou pedir algo em tempo real, como o stock disponível | Os sistemas continuam dependentes: se um falha, o outro espera ou falha com ele |
| Por mensagens | Os sistemas ligam-se a um canal comum e trocam mensagens, sem esperarem uns pelos outros | Muitos sistemas, avisos de eventos como «pedido criado», ligações que têm de resistir a falhas | Exige uma peça central e mais desenho à partida |
Cada estilo responde melhor a uns critérios do que a outros. Na base partilhada, os dados ficam consistentes, mas a dificuldade está em desenhar uma estrutura única que sirva todas as aplicações (integração por base de dados partilhada). Na chamada directa, cada sistema protege os seus dados e responde por uma interface, mas as chamadas continuam a prender os sistemas uns aos outros (integração por chamada remota). Nas mensagens, enviar não exige que os dois sistemas estejam disponíveis ao mesmo tempo (integração por mensagens).
A mesma fonte avisa que o truque não é escolher um estilo para sempre, mas o melhor para cada ligação, e que dois sistemas podem combinar vários estilos (introdução aos estilos de integração).
Ponto a ponto ou com uma peça central
Há uma segunda decisão, independente do tipo: como se ligam os sistemas entre si.
- Ponto a ponto. Cada sistema liga-se directamente a cada outro. Com quatro sistemas todos ligados entre si há seis ligações; com seis, quinze. A conta é simples: n sistemas dão n × (n − 1) ÷ 2 ligações. Cada uma tem de ser mantida, e cada mudança num sistema obriga a rever as ligações que o tocam.
- Com uma peça central. Todos os sistemas ligam-se a um intermediário que recebe os dados e os encaminha. É o modelo chamado hub-and-spoke. Reduz as ligações a uma por sistema e dá controlo central do fluxo, mas a mesma fonte avisa que essa centralização pode tornar-se um ponto de estrangulamento (intermediário central de mensagens).
Para duas ou três ligações, o ponto a ponto é muitas vezes o mais simples e o mais barato. A peça central começa a compensar quando os sistemas se multiplicam.
Como escolher o tipo para cada ligação
Os critérios de decisão do livro de referência traduzem-se em perguntas que quem decide pode fazer, ligação a ligação:
- O dado pode esperar? Se a decisão se toma uma vez por dia, uma troca por ficheiro pode bastar. Se a informação tem de estar certa no momento, é preciso uma chamada directa ou mensagens.
- O que permite o sistema de origem? Alguns exportam ficheiros, outros têm uma API, outros nem uma coisa nem outra. O tipo possível depende do que o sistema oferece.
- Quantos sistemas vão ficar ligados? Dois pedem uma solução simples. Muitos pedem uma peça central.
- O que acontece quando um falha? Se o outro tem de continuar a trabalhar, as mensagens protegem melhor do que a chamada directa.
- Quem fica responsável pela ligação? Uma integração sem dono falha em silêncio.
Nenhuma pergunta decide sozinha. O que decide é o conjunto, e, em regra, o tipo mais simples que sirva é a melhor escolha.
Por onde começar
A ordem útil não começa pelo tipo. Começa pelo problema:
- Listar os sistemas e a informação que cada um guarda. Para cada dado importante, onde nasce e onde mais é escrito.
- Marcar onde o dado é reescrito à mão. É aí que estão o custo, o erro e o risco. Foi esse o padrão que se descreveu em porque é que o fecho mensal demora duas semanas.
- Ordenar as ligações por custo e por risco. A primeira a tratar é a que gasta mais tempo ou depende de uma só pessoa.
- Escolher o tipo mais simples que sirva essa ligação. E medir o que muda antes de passar à seguinte.
- Deixar escrito o que liga a quê. Uma integração documentada sobrevive à troca de um dos sistemas.
Quando o trabalho repetido é passar valores de um sistema para outro, a automação costuma vir depois da ligação, como se explica em automação de processos: o que é e exemplos numa empresa.
A preocupação não é só das empresas. O Decreto Presidencial n.º 178/24, que aprova a agenda de transição digital da Administração Pública, afirma que a interoperabilidade é crucial para desbloquear silos de dados e prevê uma plataforma para facilitar a comunicação e a partilha de dados entre órgãos públicos. O problema, em ponto grande, é o mesmo: informação certa que fica fechada no sistema onde nasceu.
Quando integrar não chega
Na maior parte dos casos, ligar o que existe resolve. Mas há situações em que as licenças custam mais do que resolvem: o que falta vive em folhas de cálculo, cada utilizador novo custa mais e as mudanças do negócio esperam por um fornecedor. Nesses casos, a Nhoki constrói à medida, e o caminho passa por um sistema de gestão à medida. Os critérios para comparar as duas hipóteses estão em licenças ou um sistema próprio: como decidir, e o que costuma reunir um sistema de gestão, em o que é um ERP.
Um passo pequeno
Um primeiro exercício é desenhar, numa folha, o caminho de um só número importante, da origem ao relatório, marcando cada vez que alguém o reescreve. Se houver mais de três passos manuais, essa é a primeira ligação a tratar.
O Diagnóstico da Nhoki faz este mapa com quem conhece a operação: mostra onde a informação circula, onde se perde e que ligações valem a pena, por que ordem. O documento serve de base à decisão da empresa, mesmo que a implementação fique para depois.
Perguntas frequentes
Integrar sistemas é o mesmo que migrar os dados para um sistema novo?
Não. Na migração, os dados passam de um sistema para outro e o antigo deixa de ser usado. Na integração, os sistemas continuam a existir e passam a trocar dados entre si. A migração resolve a substituição de uma ferramenta; a integração resolve o isolamento entre ferramentas que ficam.
Uma folha de cálculo partilhada conta como integração?
Só se for actualizada automaticamente pelos sistemas. Quando alguém a preenche à mão com valores copiados de outro programa, continua a haver reescrita manual, que é precisamente o que a integração pretende eliminar.
O que é uma API e que papel tem numa integração?
Uma API é a interface que um sistema oferece para que outro lhe peça dados ou acções, sem aceder directamente à sua base de dados. Numa integração, é a forma habitual de um sistema consultar o outro em tempo real, por exemplo para saber o stock disponível.