ESB
태그 :
- 개념
- ESB(Enterprise Service Bus)의 정의 - 서비스들간의 상호연계를 위한 논리적인 Layer로 다양한 인터페이스를 제공하며 이를 통해 서비스 조합, 연계, 상호운용(이벤트, 메세징)을 제공하는 인프라 - Web Service, Intelligent Message Routing, Transformation 기술을 바탕으로 내/외부 정보시스템을 통합, 관리, 사용 지원하는 SOA지원 미들웨어 플랫폼 - 비즈니스 내에서 서비스, 어플리케이션, 자원을 연결하고 통합하는 - 미들웨어 또는 인프라 - 비즈니스 단위들의 통합을 수월하게 하면서 이종의 플랫폼과 환경들을 잇는 가교 역할을 하는 인프라
I. 차세대 기업 Infra 통합 모델 ESB의 개요
가. ESB(Enterprise Service Bus)의 정의
- 서비스들간의 상호연계를 위한 논리적인 Layer로 다양한 인터페이스를 제공하며 이를 통해 서비스 조합, 연계, 상호운용(이벤트, 메세징)을 제공하는 인프라
- Web Service, Intelligent Message Routing, Transformation 기술을 바탕으로 내/외부 정보시스템을 통합, 관리, 사용 지원하는 SOA지원 미들웨어 플랫폼
- 비즈니스 내에서 서비스, 어플리케이션, 자원을 연결하고 통합하는
- 미들웨어 또는 인프라
- 비즈니스 단위들의 통합을 수월하게 하면서 이종의 플랫폼과 환경들을 잇는 가교 역할을 하는 인프라
나. ESB의 등장 배경
- EAI에서 Hub & Spoke 통합방식의 한계점 발견
- 기업 환경 변화로 인한 EAI에서 ESB로의 발전
- 기업 Application 아키텍처 발전 변화
- EAI 제품들은 표준 멀티 프로토콜 및 SOA 지원하는 ESB 형태로 진화 발전 함
- 실제 두 솔루션 간 제공 기능은 유사해지고 있어 벤더들의 마케팅 전술이란 비판이 존재함
다. ESB의 특징
- 연합(Federated) 방식 구조의 데이터 전송 기능
- 어플리케이션과 통합 조직 분리
- 통합 설계 관점에서 ESB의 연결은 추상화 되어 있음
라. ESB의 기술적 특징
특징 |
설명 |
기술 융합/접목적 |
EAI + 표준화 + 분산화 기술의 융합 |
EAI, MCI(Multi Channel Interface) 및 BPM 기술이 접목 |
II. ESB의 구성도 및 구성요소
가. ESB 구성도
- 미들웨어(Bus)를 이용하여 서비스 중심의 내외부 시스템 유기적 연계
- 버스 방식으로 확장성, 유연한 아키텍처 구성
나. ESB의 구성요소
구분 |
필요성 |
어댑터 형태의 레거시 연동 컴포넌트 |
- 다양한 표준 프로토콜을 어댑터 형태로 지원 - 통합 개발 환경 Pluggable 할 수 있는 형태 |
메시지의 변환 & 가공 |
- 데이터 포맷과 형태 등을 통합 개발 환경 등을 통해 자유롭게 변환&가공 |
BPM |
- 서비스 정의 및 오케스트레이션 통한 프로세스 정의 및 관리 |
컨트롤과 모니터링 |
- 레거시 시스템과의 연동부터 데이터의 변환, 프로세스 작성 등 통합 관리 - 모든 단계 별 작업 및 분석 모니터링 지원 |
통합개발환경 |
- 개발 효율성 위한 통합 개발 환경 제공 |
다. ESB의 주요 기능
기능 |
세부 사항 |
통신 (Communication) |
라우팅, 어드레싱, 통신 기술, 포로토콜, 표준 퍼플리시/등록, 응답/요청, 동기식/비동기식 메세징 |
통합 (Integration) |
데이터 베이스, 서비스 모음, 서비스 맵핑 레거시 및 Application Adapter, EAI 미들웨어 BPM, MCI 통합 서버스 호출용 언어 인터페이스 |
보안 (Security) |
인증, 권한부여, 부인 방지, 기밀성, 보안 표준 (WS-Security) |
메시지 프로세싱 |
인코딩 로직, 중재자(Intermediaries), 컨텐트 기반 로직 메시지 데이터 변형, 유효성 체크 |
모델링 |
객체모델링, 비즈니스 객체 모델, 데이터 포맷 라이브러리 B2B통합 Public모델/Private모델 |
서비스 Integration |
서비스 인터페이스 정의, 대체서비스 구현 자원 서비스 디렉토리 발견, SOAP또는 EAI 미들웨어 모델 |
서비스 Mgt
|
SLA 통합모니터링 환경, 통합시스템 관리, 장애 관리, 리포팅 |
III. EAI (Enterprise Application Integration) 와 ESB의 비교
가. 구성도 및 개념, 특징
구분 |
EAI |
ESB |
구성도 |
||
개념 |
미들웨어(Hub)를 이용하여 비즈니스 로직을 중심으로 기업내 어플리케이션을 통합 연계 |
미들웨어(Bus)를 이용하여 서비스 중심으로 서비스를 지원하기 위한 관련시스템과 유기적 연계 |
특징 |
- 단일 접점인 허브시스템을 통해 시스템을 통합하는 중앙집중식 - 허브장애시 전체 영향 |
- 각 시스템을 Bus를 통해 연결하므로 뛰어난 확장성, 유연성, 신속성 제공 - Network에 의존적 |
나. EAI와 ESB의 구축 및 유지 관리 측면의 비교
구분 |
EAI |
ESB |
통합 수준 |
- Application 통합 |
- Application 및 프로세스 통합 |
표준화 |
- 대부분 표준 (부분적 벤더 종속) |
- 표준기술 사용(웹서비스, JMS, IIOP 등) |
시스템 통합 방식 |
- Hub&Spoke |
- 버스 구조 (Loosely coupled) |
통합 범위 |
- 기업 내 이기종 애플리케이션 |
- 기업 내의 애플리케이션 |
유지 비용 |
- 높음(연계 시 adapter 구매 또는 신규 개발) |
- 상대적 낮음(서비스 단위 재사용으로 통합 비용 절감) |
SOA 지향 |
- 구현 가능함 |
- SOA 구현의 핵심 플랫폼 |
확장성 |
- 높음(지원 adapter 내 확정 가능) |
- 매우 높음(서비스 오케스트레이션) |
IV. 효과적인 기업 IT인프라 통합을 위한 ESB의 도입시 고려사항
고려사항 |
내용 |
사용 편의성 |
-프로그래밍 기술을 최소화하는 손쉬운 작업환경 제공(개발도구) -간단한 설치/구성,구현,개발 관리 절차의 용이성 |
개발 생산성 |
-비용 대비 효과적인 서비스 통합을 가능케하는 솔루션 -기 개발된 중개 기능을 통합 개발 시간 및 비용 절감 -변화하는 비즈니스 요구 사항을 반영하기 위한 동적인 재구성 작업 |
트랜잭션/성능보강 |
-분산환경에 대한 복잡합 트랜잭션 처리,코디네이션 기능을 제품상에서 간단하게 구현 -기존의 트랜잭션 프로세스 환경의 성능 보장 |
기존 WAS플랫폼 환경과의 Seamless한 통합 |
-QoS:클러스터,Fail-Over,시스템 관리,보안 보장 -비즈니스 요구 사항의 신속한 반영을 위한 추후 확장성 보장(프로세스 엔진으로의 확장성) -보안 및 시스템 관리를 위한 솔루션과의 유기적인 연계 보장 |