개념
EAI는 Enterprise Architecture Integration의 약자로 기업 애플리케이션 통합이라는 의미입니다.
기업 내 필요한 여러 어플리케이션이 있을텐데, 이런 각종 애플리케이션 간에 상호 연동이 가능하도록 통합하는 솔루션입니다.
한 기업 내의 ERP(전사적자원관리), CRM(고객관계관리), SCP(공급망계획) 시스템이나 인트라넷 등의 시스템 간에는 서로 데이터를 주고 받아야할 필요성이 존재할 것입니다.
데이터를 주고받기 위해 각 시스템 간에 개별적으로 서로 통신을 한다면 시스템 간에 개별적인 연결이 상당히 많이 생성되게 됩니다.
시스템이 6개일 때 각 시스템이 개별적으로 연동된다면 15개의 연결이 생깁니다.
그로 인해 유지 보수의 어려움이 생길 뿐더러,
운영체제가 다르다거나 하는 이유로 시스템 간 통신을 위해 시스템을 고쳐야하는 상황이 발생할 수 도 있습니다.
이런 문제점을 해결하기 위해서 EAI라는 솔루션을 적용하는 것이며,
적용 전과 후를 비교하면 다음 그림과 같습니다.
* 출처 : http://www.sword-services.com/wp-content/uploads/2015/10/isi.jpg
각 시스템은 EAI 솔루션과의 연결만을 유지하고 타 시스템과의 연결은 EAI를 통하도록 합니다.
이로인해 중앙 집중화된 시스템 관리가 가능하고, 각 시스템은 EAI와의 인터페이스만 지원하면 되기 때문에 타 시스템과의 인터페이스는 신경쓰지 않아도 됩니다.
여러 시스템을 통합해 연동하기 위해 XML, 웹 서비스 등을 통해서 인터페이스 표준화를 해야하고
다음과 같은 구성 요소들을 가지게 됩니다.
- EAI 플랫폼 : 데이터 전송 보장을 위한 메시지 큐와 트랜잭션 미들웨어 기능 수행
- 어댑터 : 다양한 애플리케이션 및 기업 자체 개발 애플리케이션 재사용 가능하도록 함
- 데이터 브로커 : 시스템 간 데이터가 전송될 때 데이터 포맷과 코드 변환
그리고 관리를 위해서 인터페이스 모니터링/통계 기능, 장애 알림 기능 등의 기능이 추가적으로 필요하게 됩니다.
EAI 솔루션
여러 벤더 사에서 EAI 구축을 위한 솔루션을 제공하고 있으며, EAI 시스템의 일부 컴포넌트만을 제공하는 경우가 많습니다.
오라클의 Oracle9iAS, 마이크로소프트의 BizTalk, IBM의 WEbsphere 등이 있습니다.
EAI 단점
EAI의 단점이라면,
소규모 시스템에서는 적용을 위한 필요 이상의 개발 비용이 발생할 수 있다는 것과 관리되지 않는 시스템들이 생길 수 있다는 점입니다.
더 볼만한 내용
- EAI 추진 전략 : http://bcho.tistory.com/361
- BizTalk 아키텍쳐 할머니에게 설명하기 : http://www.codeproject.com/KB/biztalk/BiztalkToGrandma.aspx?display=Print