이번포스팅에서는 ESB의 개념과 특장점에 대하여 자세히 알아보겠다.
ESB의 개념
가트너 그룹의 보고서에 따르면 EAI를 "엔터프라이즈 미들웨어를 인프라로 하여 다양한 이질적 기업 환경(애플리케이션, 데이터, 플랫폼 및 네트워크 등)을 통합하여 하나의 시스템으로 관리 운영할 수 있는 유기적인 시스템"이라고 정의하고 있으며, 다른 기관에서의 정의 또한 비슷한 편이다. 하지만 ESB의 경우 다음과 같이 기관마다 차이가 나는 조금씩 다르게 정의를 내리고 있다.
- 느슨하게 결합되었거나 결합되지 않은 구성 요소들 간에 중재적인 관계와 직접 통신을 지원하는 웹서비스 가 가능한 인프라 (Gartner Group)
- ESB란 표시는 그 제품이 MOM과 웹서비스 프로토콜 모두를 지원하는 일종의 통합 미들웨어 제품(Burton Group)
- 표준 기반 통합 백본, 통합 메시징, 웹서비스, 변환, 그리고 인텔리전트 라우팅(Sonic Software)
- 통신과 연결, 변환, 보안을 위한 표준화된 인터페이스를 구현하는 엔터프라이즈 플랫폼(Fiorano Software)
- 쉽게 말해 웹스피어 MQ와 그 밖의 다른 웹스피어 브로커 그리고 통합 서버를 가지고 있다면 당신은 ESB를 가지고 있는 것(Bob Sutor, IBM)
- ESB는 인프라 서비스들의 규칙적인 서비스 통합 아키텍처로 정의된 환경 내의 여러 비즈니스 서비스들에 일관된 지원을 제공한다. ESB는 웹서비스 인터페이스를 사용해 서비스 중심 아키텍처로 구현된다. (CBDI)
결국, ESB는 제공하는 벤더에 의해 그 정의에서 차이가 난다. 이와 같이 여러 가지 다양한 정의가 나온 것에 대해서 데이비드 채펠(채펠앤어소시에이트 사장)은 다음과 같은 말을 했다. "개인적으로 ESB는 마케팅 개념에 불과하다고 본다. ESB 회사의 최고기술책임자(CTO)로 있는 친구들과 얘기를 해 봤는데 사람들마다 의견이 달랐다. 현재 ESB는 자사의 독자 기술을 판매하기 위한 일종의 마케팅 전술이라고 할 수 있다. 그렇기 때문에 ESB에 대한 정의가 제각각인 셈이다."
ESB의 특징
이론적으로 중앙집중형 ESB는 엔터프라이즈에서 서비스 전달 및 통합을 표준화하고 극적으로 단순화할 수 있는 잠재력을 제공합니다. 하드웨어 및 소프트웨어 비용을 공유하고, 서버를 한 번만 프로비저닝하고, 단일 전문가 팀이 통합을 개발 및 유지하기 위해 태스크를 수행한다(필요한 경우, 교육을 받을 수 있음).
개발자는 단일 프로토콜을 사용하여 ESB에 연결하고 서비스 간에 상호작용을 지시한 다음 명령을 변환하고 메시지를 라우트하며 명령을 실행하기 위해 필요한 대로 데이터를 변환하기 위해 ESB로 이동하는 명령을 실행할 수 있다. 이렇게 하면 개발자가 애플리케이션을 통합하는 데 걸리는 시간을 훨씬 더 적게 사용하고 애플리케이션을 구성하고 개선하는 데 더 많은 시간을 사용할 수 있다. 이러한 통합을 한 프로젝트에서 다음 프로젝트로 재사용할 수 있는 기능은 여전히 높은 생산 이득과 절감 가능성을 다운스트림에 제공한다.
하지만 많은 조직에서 ESB가 성공적으로 전개되었고, 다른 많은 조직에서는 ESB가 SOA 전개의 병목현상으로 간주되었다. 하나의 통합을 변경하거나 향상시키면 종종 다른 통합이 불안정하다. ESB 미들웨어에 대한 업데이트는 종종 기존 통합에 영향을 주었다. ESB가 중앙 집중식으로 관리되었기 때문에, 애플리케이션 팀들은 그들의 통합을 위해 줄을 서서 기다려야 했다. 통합 볼륨이 증가하면서 ESB 서버에 대한 고가용성 및 장애 복구를 구현하는 데 비용이 많이 소요되었다. 그리고 기업 교차 프로젝트로 진행되는 ESB는 자금 조달의 어려움이 입증되었고 관련 기술 과제를 해결하는 일이 쉽게 않았다.
결국, 중앙집중형 ESB를 유지 및 업데이트하고 확장하는 문제는 매우 압도적이고 값비싼 대가가 필요하기 때문에 ESB(및 SOA)는 종종 생산하기 원하는 이득의 실현을 지연시켜 더 큰 변화 속도를 기대하는 비즈니스 팀을 좌절시킬 수 있다.
ESB의 주요기능
- Service Oriented : 미들웨어 컴포넌트간의 약결합 지원
- Event Oriented : 이벤트 발생시에 이벤트를 전송
- 상호운영성 : 벤터별 미틀웨어 간의 상호연동
- Runtime 환경 : SOA지원위한 Runtime Bus
- Quality of Service : 성능, 안정성, 보안, 가용성의 높은 품질 제공
- 통합 : 메시지 브로커를 기반으로 단계적 통합지원, 라우팅, Multi-Protocol,
multi-APU 및 프로세스 통합을 지원하고 시스템간/애플리케이션간 통합지원
ESB의 기대효과 및 전망
- 사용과 관리 단순화 : Install, Version Control, Documentation, Configuration 지원
- 개발생산성 증대 : Mapping, Java Support, ESQL, Debugging
- 연계 및 기능 : File(VSAM), JMS 및 Web Service 상호운영성
- SOA 시스템 구축에 ESB를 활용한 아키텍쳐 구성 및 구축이 필수적임, SOA의 구성에서
ESB의 역할이 점차 확대될 것임.
연관정보 : SNMP의 개념과 동작원리
연관정보 : DHCP 프로토콜의 개념과 동작원리
'컴퓨터 지식창고' 카테고리의 다른 글
오버로딩(Overloading)과 오버라이딩(overriding) 차이 (0) | 2021.12.14 |
---|---|
제이쿼리(JQuery)의 개념과 사용예제 코딩 (0) | 2021.12.14 |
DHCP 프로토콜의 개념과 동작원리 (0) | 2021.12.13 |
SNMP의 개념과 동작원리에 대한 설명 (0) | 2021.12.13 |
병렬 컴퓨팅과 분산 컴퓨팅에 대한 설명 (0) | 2021.12.13 |
댓글