20 de Fevereiro de 2019
De vez em quando aparecem-nos alguns desafios inesperados e há duas semanas enquanto estava a meio da formação XD API recebemos um pedido para participar numa aula da unidade curricular Implementação de Sistemas Integrados do 3ºano, 2º semestre do Mestrado Integrado em Engenharia e Gestão de Sistemas de Informação da Universidade do Minho. Esta unidade curricular aborda a temática dos sistemas integrados como software (ERPs, …), como integração de sistemas (SOA, …) e funciona ainda como uma unidade curricular integradora dos conhecimentos adquiridos ao longo do 1º, 2º e 1º semeste do 3ºano. Integração de sistemas de informação, nomeadamente softwares de gestão é algo que trabalhamos com muita regularidade na Samsys pelo que, mesmo não tendo nada preparado, achamos que seria interessante e importante participarmos nessa aula. A ideia era ser uma apresentação muito prática e foi com esse espírito que a tentamos preparar.Antes da apresentação desses casos tentei dar um enquadramento de como vemos, a realidade da integração de sistemas, quer no mundo em geral quer nos desafios concretos que os nossos clientes nos colocam. Para abordar inicialmente o tema da integração de sistemas usei uma ideia que, na minha opinião, captura a essência deste conceito. Essa imagem representava uma pessoa, com um conjunto de folhas, a passar essas folhas a outra pessoa. Pareceu-me que era uma boa metáfora porque, no fim de tudo, quando falamos em integração de sistemas, estamos a falar de partilhar algo (informação) que um sistema (uma das pessoas) tem com outro sistema (a outra pessoa). Claro que, como se costuma dizer, o diabo está nos detalhes, e se, conceptualmente, é mesmo só partilhar informação, quando começamos a detalhar o problema, muitas outras questões se levantam. Requisitos: Fiabilidade; Consistência; Velocidade Estratégias : Online; Batch; Ficheiros; bases de dados; webservices, … Especificações: Protocolos; Sistemas abertos / fechados Desenvolvimento: De raiz; Dentro de Produtos existentes Podemos estar a falar em pensar como vamos monitorizar todo o processo para percebermos se ele é fiável… o que vamos construir para quando acontecer um erro podermos saber dele antecipadamente e podermos resolvê-lo; Ou então perceber quais os requisitos na velocidade de integração, o que pode levar a perceber se temos que pensar num sistema de integração online ou em batch, e sendo em batch com que periodicidade e que tipo de inconsistências de dados estamos a admitir como possíveis. Depois precisamos ainda de definir ou saber quais as formas como vamos por os dois sistemas a comunicar, por troca de ficheiros, por acesso direto às bases de dados de cada um desses sistemas, através de apis ou webservices. No caso de alguns sistemas mais especificos, ainda poderá ser obrigatório saber que protocolos de comunicação têm que ser establecidos, o que pode ser mais ou menos complicado caso estejamos a falar de sistemas abertos ou fechados. E, no nosso caso, em que desenvolvemos estes sistemas, temos que perceber se vamos construir tudo de raiz, se vamos usar algum componente ou se vamos usar uma framework completa que já disponibilize este tipo