domingo, 24 de maio de 2015

Enterprise Application Integration (EAI)

O software de Integração das aplicações da empresa (EAI), que permite a interconexão desses grupamentos de aplicações, está se tornando disponível. As ferramentas e normas de EAI viabilizam a interação entre sistemas corporativos por meio da utilização de serviços e possibilitam à empresa obter vantagem competitiva com a integração de todas as aplicações em um sistema empresarial unificado, capaz de compartilhar informações e suportar os fluxos de negócios.

O software EAI permite aos usuários moldar os processos de negócios envolvidos nas interações que devem ocorrer entre as aplicações das empresas; integram conjuntos de aplicações das empresas que permitem a troca de dados de acordo com regras derivadas dos modelos de processos de negócios desenvolvidos pelos usuários, integram aplicações de uma e-business para funcionem de forma coerente e integrada. 

A abordagem clássica de EAI é a mais usada para integrar sistemas legados dentro de uma arquitetura mais ampla. Para se decidir pela implantação de um EAI, a empresa deve compreender seus processos de negócios e dados, selecionando quais deles requerem essa integração. Podem ser analisados a partir de alguns níveis como:

Nível dos dados: Inclui as técnicas e tecnologias que permitem mover, transportar dados entre diferentes fontes e destinos e eventualmente tratar os dados fazendo as atualizações necessárias para manter a integridade;

Nível de interface das aplicações: Refere-se à utilização das interfaces das aplicações e dos pacotes de sistemas;

Nível dos métodos: É o compartilhamento de lógica de negócios. Exemplo: O método de atualização do registro de cliente pode ser acessado a partir de várias aplicações;

Nível de interface do usuário: os desenvolvedores possibilitam um ponto comum de integração para os usuários: interface gráfica para o usuário.

A demanda inicial das empresas é compartilhar os dados e processos sem precisar fazer grandes mudanças nas aplicações ou nas estruturas de dados. Procura-se com EAI um método de acoplar os sistemas. Essa integração pode ser tanto funcional quanto viável economicamente, trazendo lucros e vantagem competitiva para as corporações.

Após a análise, o estilo de integração das aplicações pode ser escolhido, baseado nas necessidades do negócio:
  • File Transfer - Integração entre aplicativos através da troca de arquivos em formato de texto definido.
  • Shared Database - Integração entre aplicativos através da troca de dados entre bases de dados ou tabelas.
  • Remote Procedure Invocation - Integração entre aplicativos através da chamada a programas remotos os quais são responsáveis pela extração, envio/recebimento e persistência dos dados no sistema.
  • Messaging - Integração entre aplicativos de um middleware orientado a mensagem (como o MOM) o qual é responsável pela entrega dos dados aos sistema integrados.

Boas práticas para integração de aplicações:
  • Buscar uma padronização na forma de integração com os sistemas legados facilita manutenções futuras.
  • A definição de um padrão na forma de trabalho das interfaces pode promover o reuso das mesmas.
  • Quanto menos camadas existirem entre à aplicação legada e a plataforma de integração (EAI) menores são as chances de ocorrerem erros durante a troca de dados entre elas.
  • A redução no número de camadas por onde os dados tem de passar até chegar ao seu destino, promove também uma melhor performance durante o processo de troca de dados entre aplicações.

A integração desses sistemas pode ser difícil, porém existem frameworks prontos para ajudar nesse trabalho que são baseados em padrões e boas praticas já amplamente discutidos pela comunidade de software e empresarial. Um exemplo é o Apache Camel: uma espécie de roteador (routing engine). A tarefa do desenvolvedor é configurar, através de um Builder, as regras de roteamento. O desenvolvedor decide de onde vem as mensagens (from()), para onde enviar (to()) e o que fazer com a mensagem no meio desse processo (mediation engine). Alguns outros exemplos são: Active Software, Arkona Software, BEA Systems, Bluestone Software, IBM, Microsoft Corporation, SmartDB e TIBCO.

EAI não é uma ferramenta final, oferecendo uma variedade e opções e soluções. Como a dependência das corporações em relação à tecnologia tem crescido e se tornado mais complexa, a necessidade por um método de integração de aplicações tem sido a prioridade pois, aquelas que não integrarem suas aplicações podem correr o risco de não se tornarem empresas competitivas.


Referências:
  • LAUDON, K. C e LAUDON, J. P. Sistemas de Informação Gerenciais. 9ª. Edição. Pearson, 2011
  • http://blog.caelum.com.br/padroes-de-integracao-com-apache-camel/
  •  http://www.devmedia.com.br/introducao-ao-apache-camel/26278
  • http://user.das.ufsc.br/~rabelo/Ensino/DAS5316/MaterialDAS5316/Interoperabilidade/Interop-4%20Integracao%20Sistemas%20Legados.pdf
  • http://www.linhadecodigo.com.br/artigo/429/o-eai-como-abordagem-de-integracao-de-sistemas-corporativos-para-a-obtencao-de-vantagem-competitiva.aspx#ixzz3an8w6LHt
  • http://www.lbd.dcc.ufmg.br/colecoes/smsi/2005/007.pdf
  • [1]Lee, J.; Siau, K.; Hong, S. Enterprise Integration with ERP and EAI Communications of the ACM, vol. 46, pp. 54-60, 2003

Nenhum comentário:

Postar um comentário