4. Integração entre Sistemas

A integração entre sistemas é um problema a ser enfrentado urgentemente, pois os sistemas atuais já contemplam um nível de integração elevado, e ainda se verifica uma tendência no sentido de integrar cada vez mais os novos sistemas entre si, além de integrar esses novos sistemas com os sistemas legados.

Além da tecnologia a ser empregada nas integrações, é preciso que se ordene a forma como as integrações deverão ocorrer, de forma a evitar que as reestruturações nas bases de dados de um determinado sistema sejam inviabilizadas pela razão de que outros sistemas acessam seus dados diretamente e, portanto, deveriam também ser adaptados, sem que haja prioridade ou recursos para se investir nessa adaptação.

Nesse sentido, a EMPREL definiu que as tecnologias a serem utilizadas nas integrações entre sistemas, serão preferencialmente o Web Services e, na impossibilidade desse, o Socket. Ambas as tecnologias podem ser utilizadas em várias linguagens de desenvolvimento.

Web Services são um conjunto de padrões para acesso e exposição de serviços na Internet, independente da implementação, e que utiliza protocolos largamente conhecidos e adotados, em vários ambientes, para comunicação.

Ela dispõe de uma linguagem específica de definição das interfaces dos serviços (WSDL – Web Service Description Language), que é independente de linguagem de desenvolvimento e de plataforma, e que pode ser implementada automaticamente por várias ferramentas de desenvolvimento do mercado.

Os serviços oferecidos pelos Web Services serão conhecidos através das suas interfaces e de suas URLs, que são armazenadas em um repositório UDDI (Universal Description, Discovery and Integration).

A solução Web Services é uma solução de alto nível, onde o adaptador Web Service se encarregará de transformar uma cadeia de caracteres em objetos e vice-versa.

A solução Socket é uma solução de baixo nível, ou seja, que enxerga apenas cadeias de caracteres, sem nenhuma semântica associada.

Em relação às regras de integração, fica definido que cada sistema deverá isolar em um único ponto a rotina de comunicação com um determinado sistema externo – chamamos essa rotina de subsistema -, no sentido de que qualquer mudança de tecnologia empregada na comunicação com aquele sistema externo possa ocorrer sem maiores traumas.

Além disso, também fica definido que nenhum sistema poderá enxergar e acessar as bases de dados de outros sistemas, diretamente. Toda integração deverá ocorrer através de serviços disponibilizados pelo sistema fornecedor para o sistema cliente – entende-se por serviço, neste contexto, a um método (rotina) disponível na interface externa do sistema -. Desta forma, o sistema fornecedor de um serviço poderá reestruturar-se internamente com toda autonomia, desde que garanta a mesma interface externa.

Para os casos onde se faz necessário um processamento batch de um sistema que necessita de uma grande quantidade de dados de outro sistema, o sistema fornecedor deverá exportar os referidos dados, no formato ASCII (seguindo preferencialmente o padrão XML para a identificação dos campos, e opcionalmente o padrão TXT, com a identificação dos campos sendo feita pelo posicionamento dos caracteres), que serão importados pelo sistema cliente.