O amplo parque tecnológico abrigado pelas empresas hoje – sejam estas de tecnologia da informação ou não – traz desafios enormes, como evitar a redundância e aumentar a reutilização de código. Surge, então, a integração de sistemas, com o desafio de garantir forte coesão e fraco acoplamento entre os diversos sistemas distribuídos pela companhia. Quanto maior a quantidade de sistemas, maior o desafio, e ferramentas de automação tornam–se necessárias.
Uma alternativa a este problema é o uso de ontologias para integração destes sistemas, assunto deste artigo.
Ontologias
Ontologia é um termo inicialmente utilizado na filosofia. Está intimamente ligado ao estudo dos seres, das coisas enquanto seres, dos objetos enquanto coisas, denominados – os seres e as coisas -, genericamente, como entidades.
Sua adaptação para a ciência da computação adiciona ao termo taxonomia as especificações das relações entre as entidades mais um conjunto de regras automáticas de inferência e ações associadas.
É uma descrição formal dos conceitos e relacionamentos que existem dentro de um domínio. Isso significa que uma ontologia se relaciona com um vocabulário específico, uma linguagem específica e a conceitualização de determinado domínio.
Desta forma, este domínio pode ser considerado um domínio de integração dos sistemas de uma determinada organização, onde cada sistema representa um nodo nesta rede.
Integração de sistemas
A integração de sistemas tem sido o assunto do momento nas organizações, junto com governança em tecnologia da informação. Existem, basicamente, três recursos para integração de sistemas corporativos, e estes estão dispostos em formato de camadas.
Para uma integração de aplicações que rodem em um contexto cliente–servidor, onde não é necessário acesso pela web, utiliza–se a integração por meio de componentes. Desta forma, um componente faz chamada diretamente a outro componente de uma outra aplicação. As aplicações, então, devem oferecer APIs para acesso e é por meio destas que os componentes externos acessam funções do sistema. As principais tecnologias são COM+, J2EE e CORBA.
Outra possibilidade é por meio de troca de mensagens entre os sistemas. Estas mensagens disparam funções, que executam procedimentos e retornam valores. Uma possibilidade consiste em criar um “broker” ou corretor de mensagens que será responsável por coletar as mensagens dos diversos sistemas. Nestes sistemas legados, será necessário o desenvolvimento de pequenos componentes que permitam a comunicação com o broker. Esta troca pode ser síncrona ou assíncrona. Quando assíncrona, utiliza–se então um servidor de mensagens. Este servidor enfileira as mensagens recebidas pelos diversos sistemas, enviando–as de acordo com a disponibilidade dos sistemas para recebê–las. Assim, o sistema emitente não precisa esperar o retorno de uma dada mensagem.
A outra forma de integração é pela web, e esta tem crescido bastante ultimamente. Consiste na utilização de web services, que processam serviços específicos e fornecem o resultado a outros sistemas. Web services utilizam o protocolo SOAP (Simple Access Object Protocol) para estabelecer a comunicação entre sistemas. A documentação de como utilizar um web service, ou seja, o “manual” do web service é escrito em WSDL (web service description language), linguagem criada especificamente para este fim.
Integrando utilizando ontologias
Uma ontologia pode ser representada utilizando lógica descritiva ou RDF. A linguagem para criação de ontologias utilizando lógica descritiva chama–se OWL e encontra–se em desenvolvimento pelo W3C. RDF (Resource Description Framework) é um padrão que consiste em representar o conhecimento por meio de triplas. O produto visual é um grafo, onde se relacionam classes, propriedades e valores (triplas rdf). RDF é escrito em XML e goza de toda sua flexibilidade e reutilização para criação de ontologias.
Associando todas estas tecnologias, cria–se um ambiente visual de integração de sistemas por meio da web. O responsável pela integração, utilizando uma ferramenta visual criada especificamente para este fim, cria uma ontologia que representa a ligação entre os diversos sistemas. Cada nodo desta ontologia representa um web service, que oferece um determinado serviço. Esta ontologia é armazenada no formato RDF. Um agente inteligente lê este RDF e visita cada web service, lendo os respectivos arquivos WSDL e aprendendo as interfaces de entrada e saída de cada serviço. Estas informações são então armazenadas em um “broker”, que fica responsável por gerenciar a troca entre os sistemas no formato SOAP.
Esta reflexão retrata a visão de um ambiente que ainda está sendo criado pelos desenvolvedores de sistema. Este desenvolvimento será pautado pelo amadurecimento das diversas tecnologias envolvidas neste modelo, o que catalisará o sucesso ou fracasso deste. Entretanto, iniciativas neste caminho serão cada vez mais exploradas, dada a imensa massa crescente de sistemas a serem integrados. [Webinsider]
.
Fernando Parreiras
<strong>Fernando Parreiras</strong> é mestrando em Ciência da Informação pela ECI/UFMG e membro fundador do NETIC (Núcleo de Estudos em Tecnologias para Informação e Conhecimento). Mantém um <strong><a href="http://www.fernando.parreiras.nom.br" rel="externo">site</a></strong>.
3 respostas
Excelente matéria. Também estou fazendo um projeto de TCC sobre integração de sistemas, sendo que mais voltado em integração de dados de ambientes heterogêneos, utilizando a ETL como foco principal de intermediador entre os sistemas. Você teria outras fontes à indicar sobre este tema? Vlw!
anderson:
estou em busca de informações para acrescentar em meu TCC sobre Integração de Sistemas, vc possui algum material que possa me mandar ou recomendar? (lucaio_18@hotmail.com) Agradeço desde já!
Muito interessante essa matéria. Porém em Sobre o Autor o link para seu site esta errado!
excelente matéria estou justamente escrevendo sobre intergração de sistemas para um trabalho na faculdade.