DGERT   APCER
Relações de compromisso

Sistemas Integráveis e Tipos de Integração


Sistemas Integráveis

Para compreendermos a história do EAI (Enterprise Application Integration), temos que recuar aos primórdios das tecnologias da informação. Nessa altura, a informação era processada em mainframes, pelo que os processos e os dados existiam em ambientes homogéneos. Como a plataforma era a mesma e estava centralizada, a integração de aplicações era bastante fácil.

Com a evolução da tecnologia, surgiram novas plataformas (como o Unix e o Windows), introduzindo novos paradigmas de programação (como a orientação a objectos ou o desenvolvimento baseado em componentes). Uma das grandes vantagens destes novos paradigmas residia no facto de suportarem interfaces com o utilizador mais amigáveis e gráficos.

Entrou-se assim na era das plataformas distribuídas. Além de serem mais amigáveis e gráficos do que os seus congéneres centralizados, os sistemas distribuídos também permitiam reduzir significativamente os custos de utilização e de manutenção.

Como os mainframes não conseguiam resolver os problemas departamentais com a rapidez necessária, os departamentos das empresas avançaram com a construção de sistemas críticos que suportassem os seus processos de negócio. Isto permitia resolver os problemas a curto prazo, mas não se pensou muito na partilha de informação. Além disso, a escolha de soluções standard (pacotes aplicacionais) - em vez de serem construídas à medida - criou dificuldades de partilha de dados.

Sistemas objecto de integração

Foi a estes problemas de partilha de informação entre diferentes aplicações e estruturas de dados que o EAI veio tentar dar resposta. As principais categorias de sistemas existentes nas empresas que costumam ser objecto de integração incluem:

  • Os sistemas legacy;
  • Os sistemas distribuídos;
  • Os pacotes aplicacionais;
  • As bases de dados.

Sistemas legacy. Apesar de termos deixado o estrangeirismo (para evitar confusões de interpretação), trata-se de sistemas herdados de linguagens, plataformas e tecnologia anterior à actual. Estes sistemas costumam disponibilizar processamento centralizado com acesso baseado em terminais. Normalmente, as bases de dados e o processamento de negócio residem no mesmo ambiente.

Como estes sistemas disponibilizam frequentemente funções críticas, as organizações não têm outra hipótese que não seja manter esses sistemas em funcionamento enquanto convertem as aplicações para código mais recente e eficiente que utilize tecnologia actual e capacidades de programação conformes com interfaces abertas e standard.

Sistemas distribuídos. Estes sistemas são os sucessores dos sistemas legacy e encontram-se frequentemente a nível departamental. Foram adoptados quando os departamentos precisavam de soluções mais rápidas, mais abertas e mais baratas do que os sistemas centrais. As plataformas dominantes nesta área são os Unix e o Windows, embora os modernos mainframes também já respondam ao modelo distribuído. No paradigma de sistemas distribuídos podem coexistir vários sistemas, interligados através de uma rede que suporta modelos de computação como o cliente/servidor, cliente/serviços, ou arquitecturas de objectos distribuídos.

Pacotes aplicacionais. De uma forma geral, os pacotes aplicacionais são adquiridos a terceiros. Trata-se de aplicações que contêm processos de negócio reutilizáveis, podendo ser utilizados por praticamente qualquer organização depois de alguma costumização. Um dos exemplos de pacotes aplicacionais mais comum nas empresas é representado pelos ERP (Enterprise Resource System).

Uma vez que se trata de soluções de alguma dimensão e geralmente críticas para o negócio das empresas, assistiu-se à passagem (ao longo do tempo) de pacotes aplicacionais monolíticos para soluções baseadas em níveis (layers) e com uma arquitectura mais aberta. Apesar de praticamente todos estes pacotes disponibilizarem interfaces de programação para o acesso aos seus dados e processos, essas interfaces variam muito (em termos de funcionalidades) de fornecedor para fornecedor. Como se trata normalmente de aplicações com propósitos específicos, a integração das mesmas com o resto da infra-estrutura das organizações é sempre encarada com alguma preocupação.

Bases de dados. Tal como os pacotes aplicacionais, as bases de dados também se encontram em quase todas as empresas. Na realidade, costumam ser o repositório onde os sistemas legacy, os sistemas distribuídos e os pacotes aplicacionais guardam os seus dados. Uma base de dados pode ser definida como um conjunto de dados organizado de forma a permitir o acesso, a gestão e a actualização aos seus conteúdos. Os mainframes trouxeram consigo as bases de dados hierárquicas, mas actualmente são mais do tipo relacional, orientadas a objectos, ou mesmo multidimensionais.

Abordagens ao EAI

A integração das aplicações nas empresas destina-se a permitir a partilha de dados e de processos de negócio que abrangem vários sistemas e/ou departamentos. Antes da integração de quaisquer sistemas ou aplicações, a primeira coisa a fazer é compreender a natureza e a utilização dos dados e dos processos de negócio na organização em causa. Depois de localizados e identificados os processos de negócio, é necessário compreender a forma como estão automatizados (ou não).

Apesar desta tarefa parecer simples, o sucesso depende muito da qualidade da documentação e da informação existente. Além disso, costuma exigir bastante esforço e tempo. Após a conclusão deste trabalho inicial, as organizações devem decidir quais os processos e dados que precisam de ser integrados. Esta decisão depende dos requisitos de negócio que orientam o processo de integração. Podemos considerar quatro níveis distintos de integração, em que cada um deles tem as suas próprias características, pontos fortes e pontos fracos:

  • A nível dos dados;
  • A nível da interface aplicacional;
  • A nível do método;
  • A nível da interface com o utilizador.

 

A nível dos dados. O EAI a nível dos dados inclui a tecnologia necessárias para mover dados entre armazéns de dados. Esta integração pode ser descrita como a extracção da informação de uma base de dados, o eventual processamento da mesma de acordo com as necessidades e a actualização dessa informação noutra base de dados. A vantagem do EAI a nível dos dados reside no seu baixo custo de implementação - embora isto não seja necessariamente sinónimo de simplicidade de implementação.

A nível da interface aplicacional. O EAI a nível da interface aplicacional inclui a tecnologia para tirar partido das interfaces disponibilizadas pelas aplicações. Estas interfaces são utilizadas pelos especialistas em desenvolvimento para aceder aos processos de negócio e aos dados. O principal objectivo deste tipo de integração consiste em conectar aplicações e trocar informação entre elas. O EAI a nível da interface aplicacional é utilizado sobretudo com os pacotes aplicacionais (ERP, por exemplo).

A nível do método. O EAI a nível do método envolve a partilha de lógica de negócio entre diferentes aplicações de uma organização. Por exemplo, se várias aplicações precisarem de aceder aos registos de um cliente e actualizá-los, pode-se criar um método que implemente essa possibilidade e ser depois utilizado por todas as aplicações envolvidas. Desta forma, o método não precisa de ser desenvolvido para cada aplicação em particular. Isto é conseguido através da centralização da lógica de negócio comum num local onde possa ser acedida por várias aplicações.

A nível da interface com o utilizador. A tecnologia de EAI a nível da interface com o utilizador é utilizada para integrar aplicações recorrendo à sua interface com o utilizador. Normalmente, esta integração é efectuada através da agregação de conteúdo.

Baseado no artigo "Enterprise Application Integration", de Ananias Laftsidis; IBM Sweden.

Produzidos em 2005

Topo
Pesquisa
Agenda
Destaques