본문 바로가기

프로그래밍

EAI, ESB 시스템 개념

EAI(Enterprise Application Integration)는 기업 내 필요한 각종 애플리케이션 간에 상호 연동이 가능하도록 통합하는 솔루션이다.
자사에서 사용하고 있는 EAI 솔루션은 Software AG사의 WebMethods Integration 플랫폼을 사용하고 있다.
각 시스템들은 타 시스템과 연결이 필요할 때 EAI를 통하도록 해야 한다.
이로인해 중앙 집중화된 시스템 관리가 가능하고, 여러 시스템의 인터페이스를 표준화 할 수 있다.
EAI 개념을 정리 하자면 기업과 기업 내부의 다양한 시스템과 애플리케이션을 통합하며, 다양한 애플리케이션간의 관계와 비즈니스 프로세스의 근간을 이루는 트랜잭션 네트워크를 관리해주는 개념이다.
ESB(Enterprise Service Bus)는 SOA를 지원하는 서비스와 응용 컴포넌트간의 연동을 지원한다. 즉, ESB는 SOA를 구현할 수 있게 해주는 실체로, Loosely coupled의 asynchronous 메세지 방식의 SOA를 위한 라우팅 알고리즘을 제공한다.

EAI는 단순 반복적인 Reformatting/Conversion/Routing 기능을 수행하고 업무 로직은 송수신 측의 응용 시스템에서 처리함을 원칙으로 한다.
온라인 인터페이스의 경우, 응용 시스템 to EAI 인터페이스는 Web Services를 표준으로 하고, EAI to 응용 시스템은 응용 시스템에 맞는 Adapter(DB Adapter, SAP Adapter, File Adapter 등)를 활용한다.
SAP와의 연계는 RFC를 통한 연계를 원칙으로 한다.

 

각 시스템별 대표적인 기능 몇가지를 설명

  • 비지니스 프로세스 관리기능 : 각 업무 시스템 및 app 상호간에 데이터의 교환과 더불어 각 업무에 대한 흐름을 어떤 시점 또는 어떤 이벤트에 따라서 어디에서 어디로 업무가 진행되어야 하는지를 정의하고 운용할 수 있는 기능
  • 데이터 브로커 기능 : App상호간에 중개되는 데이터를 자동변환하여 전달하고 데이터 소스에서 지정된 대상 시스템까지의 연결
  • APP 접근 기능 : 패키지 app 또는 메인프레임과 같은 이기종 시스템과의 연결을 위한 데이터 중개 및 app연동의 인터페이스를 제공
  • 데이터접근 기능 : 데이터에 대한 통합을 담당하는 영역으로 주로 데이터의 전송, 타입변환, 데이터의 정제 및 추출 기능
  • 플랫폼 기능 : EAI의 기반이 되는 app서버 또는 미들웨어로 구성되어 있는 영역으로 EAI를 안정성있게 실행하고 EAI모든 기능들이 정상적으로 동작할 수 있도록 하는 기능

 

ESB (Enterprise Service Bus)의 정의

  • ESB = EAI (Enterprise Application Integration) + 표준화 + 분산화
  • 비즈니스 내에서 서비스, 애플리케이션, 자원을 연결하고 통합하는 미들웨어 또는 인프라