[CS] ESB 개념
비즈니스 내에서 서비스, 애플리케이션, 자원을 연결하고 통합하는 미들웨어
ESB ( Enterprise Service Bus 의 약어)
= SOA ( Service Oriented Architecture ) + EAI ( Enterprise Application Integration )
| 정의
중앙 집중식 소프트웨어 컴포넌트가 백엔드 시스템에 대한 통합을 수행하고 ( 및 데이터 모델, 심층 연결, 라우팅 및 요청의 변환) 새 애플리케이션에서 재사용하기 위해 서비스 인터페이스로 사용할 수 있는 통합 및 변환을 수행하는 패턴
즉, 각 레거시시스템과의 연동을 위한 다양한 표준 프로토콜의 지원을 기본으로,
재사용 가능한 컴포넌트들을 조립함으로써 서비스 지향적인 환경을 조성할 수 있다.
| 특징
- 다양한 시스템과 연동하기위한 멀티 프로토콜 지원
- 느슨한 결한
- 소프트웨어 컴포넌트를 조합하여 서비스를 조립하는 BPM 지원
- 이벤트 지향적
- 표준 지향적
| ESB 구성 요소
1. 어댑터 형태의 레거시 연동 컴포넌트
: ESB는 기본적으로 다양한 표준 프로토콜을 Adapter형태로 지원해야 한다.
즉, 통합 개발 환경에서 Pluggable할수 있도록 간단한 형태여야 한다.
2. 메시지의 변환, 가공
: 데이터 포맷과 형태 등을 통합 개발환경 등을 통해 자유롭게 변화하고 가공할 수 있어야 한다.
3. BPM
: 다양한 시스템의 데이터와애플리케이션과의 연동을 통해 하나의 서비스를 이용할 수 있어야 하기에 반드시 필요하다.
4. 컨트롤과 모니터링
: Adapter 단에서의 연결 상태부터 진행되고 있는 프로세스의 상태 및 데이터 값 등이 모니터링의 대상이 될 수 있다.
5. 통합개발환경
| EAI와 차이점
EAI는 통합에 초점을 맞춘 기술
ESB는 프로세스 기반의 SOA로 나아가기 위한 기반으로서 만들어진 것이다.
프로세스 기반의 SOA 란?
유연한 비즈니스를 목적으로 하는 아키텍처이다.
4단계의 라이프 사이클을 가진다.
Modeling → Integration → Deploy → Business Monitoring
이 4단계가 계속 반복되면서 목표로 하는 비즈니스 지표를 만족시킬 때까지 끊임없이 유연하게 바꿔나가는 것이
SOA의 특징이다.
기능 | EAI | ESB |
통합 | Application 통합 | Process 통합 |
표준 | 벤더 종속적 기술 사용 | 표준기술 사용 (Web Service, XML) |
아키텍처 | 중앙 집중식 | 버스 형태의 느슨한 연결 구조 (1: N) |
통합범위 | 기업 내 | 기업 내 외부 |
목적 | 시스템 사이에서 시스템 연계중심 | 서비스 중심으로 프로세스 진행 |
로직연동 | 개별 App에서 수행 | ESB에서 수행 |