Quando uma empresa se queixa de que os sistemas não se falam, a resposta parece óbvia: então ligam-se. Faz-se a integração, os dados passam a circular sozinhos e o problema acaba.
Às vezes é mesmo assim. Outras vezes, seis meses depois, há mais confusão do que havia antes — e agora é mais difícil de investigar, porque ninguém consegue dizer de onde veio cada valor.
A diferença entre os dois desfechos está numa decisão que se toma antes de escrever a primeira linha de código.
O que acontece quando se liga sem decidir quem manda
Imagine duas plataformas com a morada do mesmo cliente, cada uma com a sua versão. Ligam-se nos dois sentidos, para «estarem sempre sincronizadas».
O que passa a acontecer é isto: quem alterar por último ganha. O comercial corrige a morada no sistema comercial, a sincronização leva-a para a faturação. Na semana seguinte, alguém da faturação corrige outra coisa no mesmo registo e a morada antiga volta para trás, porque aquele sistema ainda a tinha guardada.
Ninguém repara. Passados dois meses, chega uma devolução dos correios e a conversa é sobre quem é que mudou a morada — quando a verdade é que ninguém mudou: o problema é que os dois sistemas achavam que a morada era deles.
Mais ligações, mais sítios por onde partir
Há também uma conta aborrecida que raramente se faz. Ligar dois sistemas é uma ligação para manter. Ligar cinco sistemas todos a todos são dez.
Cada uma delas pode falhar em silêncio — porque o fornecedor mudou a interface, porque o certificado expirou, porque alguém atingiu um limite de chamadas. E falhas silenciosas não dão erro: dão números desatualizados que continuam a parecer bons.
É por isso que uma arquitetura em estrela, com um sistema ao centro a mandar em cada tipo de dado, costuma ser mais barata de manter do que uma teia — mesmo parecendo mais trabalho no início.
A pergunta que vem antes do cabo
Para cada tipo de informação que vai atravessar a ligação, três respostas:
- Quem cria. Um sistema, só um, é responsável por criar e corrigir aquele dado.
- Quem lê. Os outros recebem, mostram e usam — mas não escrevem.
- O que acontece em conflito. Se os dois tiverem valores diferentes no dia da ligação, qual é o que fica. Esta decisão tem de ser tomada por alguém do negócio, não por quem programa.
Respondidas estas três, a maior parte das ligações passa a ser de sentido único — e ligações de sentido único quase não dão problemas, porque não há nada para reconciliar.
Quando a integração compensa mesmo
Nada disto é argumento contra integrar. É argumento contra integrar primeiro e pensar depois.
Os casos em que compensa quase sempre: eliminar uma transcrição manual que acontece dezenas de vezes por semana; fazer chegar o estado de um processo a quem atende o telefone; e levar o que entra pelo formulário do site direto para o sistema de gestão, sem ninguém pelo meio.
São ligações de sentido único, com um dono claro de cada lado, e é aí que a interligação entre sistemas paga o seu custo no primeiro trimestre. A ordem de trabalhos está no artigo sobre por que ordem se arruma a tecnologia.
Vai ligar dois sistemas?
Diga-nos quais são e que informação tem de passar entre eles. Ajudamos a decidir quem manda em quê antes de se mexer em código.