1. ESB(Enterprise Service Bus)의 개요
가. ESB (Enterprise Service Bus)의 정의(다양한 정의가 가능합니다.)
-
ESB(Enterprise Service Bus)는 웹서비스(Web Service), 인텔리전스 라우팅(Intelligent routing), 트랜스포메이션(Transformation) 기술을 기반으로 SOA(Service Oriented Architecture)를 지원하는 미들웨어 플랫폼이다.
- ESB = EAI (Enterprise Application Integration) + 표준화 + 분산화
- 비즈니스 내에서 서비스, 애플리케이션, 자원을 연결하고 통합하는 미들웨어 또는 인프라
- 비즈니스 단위들의 통합을 수월하게 하면서 이종의 플랫폼과 환경들을 잇는 가교 역할을 하는 인프라
- 느슨하게 결합되었거나 결합되지 않은 구성 요소들 간에 중재적인 관계와 직접 통신을 지원하는 웹서비스가 가능한 인프라 : Gartner Group
- ESB란 표시는 그 제품이 MOM과 웹서비스 프로토콜 모두를 지원하는 일종의 통합 미들웨어 제품
- 표준 기반 통합 백본, 통합 메시징, 웹서비스, 변환, 그리고 인텔리전트 라우팅 : Sonic Software
- 통신과 연결, 변환, 보안을 위한 표준화된 인터페이스를 구현하는 엔터프라이즈 플랫폼
- 쉽게 말해 웹스피어 MQ와 그 밖의 다른 웹스피어 브로커 그리고 통합 서버를 가지고 있다면 당신은 ESB를 가지고 있는것 : Bob sutor, IBM
- ESB는 벤더의 독자 기술을 판매하기 위한 일종의 마케팅 전술 : 채펠 앤 어소시에이트 CEO
나. ESB (Enterprise Service Bus)가 주목 받은 이유
- EAI에서 Hub and Spoke 통합방식의 한계점 발견
- SOA의 핵심 필요 기능으로 중요성 증대
특징 |
전통적인 EAI |
ESB |
통합의 종류 |
어플리케이션 통합 |
서비스 통합, 서비스 호스팅 |
통합 방안 |
시스템별 어댑터 사용으로 복잡성 증가 |
표준 기술 사용한 단순 통합 |
표준 |
벤터별 전송기술 상이 |
개방형 표준(웹서비스) |
통합형태 |
단단한 결합(Static. 1:1 결합) |
느슨한 결합(Dynamic, 1:N 결합) |
비용 |
통합대상 시스템별 어댑터 구입 또는 개발로 지속적 비용 발생 |
동일 표준 기반이므로 추가 개발비용 절감, 비즈니스 로직 재사용을 통합 비용 절감 |
구현 아키텍처 |
집중형 (Hub & Spoke) |
분산형 (Distributed) |
2. ESB(Enterprise Service Bus)의 중요성 및 개념도
가. ESB(Enterprise Service Bus)의 중요성
- 분산된 서비스 컴포넌트를 쉽게 통합 연동할 수 있어 신뢰성 있는 메시지 통신이 가능
- 각 레거시 시스템과의 연동을 위한 다양한 표준 프로토콜의 지원을 기본으로, 재사용 가능한 컴포넌트들을 조립함으로써 서비스 지향적인 기업 환경을 만들 수 있는 기반 제공
나. ESB(Enterprise Service Bus)의 개념도
3. ESB의 특징 및 구성 요소
가. ESB의 특징
- 다양한 시스템과 연동하기 위한 멀치 프로토콜 지원
- 느슨한 결합(loosely coupled)
- 소프트웨어 컴포넌트를 조합하여 서비스를 조립하는 BPM 지원
- 이벤트 지향적, 표준 지향적
나. ESB의 구성요소
1) 어댑터 형태의 레거시 연동 컴포넌트
- ESB는 기본적으로 다양한 표준 프로토콜을 어댑터형태로 지원해야 한다.
- 통합 개발 환경에서 플러거블(Pluggable)할 수 있도록 간단한 형태여야 한다.
2) 메시지의 변환, 가공
- 데이터 포맷과 형태 등을 통합 개발 환경 등을 통해 자유롭게 변화하고 가공한다.
3) BPM
- 다양한 시스템의 데이터와 애플리케이션과의 연동을 통해 하나의 서비스를 이용한다.
4) 컨트롤과 모니터링
- 여러과정들은 통합적인 조작과 모니터링이 가능해야 한다.
- 모니터링의 대상 : 어댑터 단에서의 진행되고 있는 프로세스의 상태 및 데이터 값
5) 통합개발환경
- 통합개발환경은 ESB에서 필요한 요소 중 하나이다.
ESB의 특징 참고
http://jin11010.blog.me/24517450
SOA를 실현하는 ESB
ESB 의 이해와 기술 동향
http://blog.daum.net/comoffi/8516983
Apache serviceMix 분석
http://www.dbguide.net/knowledge.db?cmd=view&boardUid=126051&boardConfigUid=19&boardStep=&categoryUid=574
Apache synapse 분석
http://www.dbguide.net/knowledge.db?cmd=view&boardUid=126062&boardConfigUid=19&boardStep=&categoryUid=574