É uma integração de sistemas e aplicações de diferentes empresas e tecnologias onde trocam informações em tempo real, utilizando uma plataforma central de comunicação, possibilitando um fácil monitoramento, assim evitando uma incompatibilidade na comunicação. Tendo como objetivo o de realizar a integração de sistemas corporativos procurando obter uma vantagem competitiva, contendo custos durante as mudanças de negócios.
Componentes da arquitetura do EAI:
Sistemas: Refere-se aos sistemas que trocarão informações entre si. (ex. Software de CRM (SIEBEL) trocando informações com software de faturamento (SAP).
Dados: Conjunto de dados (layouts de arquivos) que serão trafegados pela arquitetura durante a troca de dados entre os sistemas.(Ex. XML ou texto)
Interface: Forma de enviar receber dados entre os sistemas. (Ex. Web services, adaptadores)
Comunicação: Tipo de comunicação a ser utilizada durante a troca de informações entre os sistemas. (Ex. síncrona ou assíncrona).
Estilos de Integração:
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 (MOM) o qual é responsável pela entrega dos dados aos sistema integrados.
Práticas na 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.