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,시스템 관리,보안 보장

-비즈니스 요구 사항의 신속한 반영을 위한 추후 확장성 보장(프로세스 엔진으로의 확장성)

-보안 및 시스템 관리를 위한 솔루션과의 유기적인 연계 보장

댓글