ESB 편집하기

이동: 둘러보기, 검색

경고: 로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다. 로그인하거나 계정을 생성하면 편집자가 아이디(ID)으로 기록되고, 다른 장점도 있습니다.

편집을 되돌릴 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 저장해주세요.
최신판 당신의 편집
1번째 줄: 1번째 줄:
'''ESB'''(이에스비)는 "Enterprise Service Bus"의 약자로서, [[버스 (컴퓨터)|버스]] 방식을 이용하여 서로 다른 여러 시스템을 [[연계]]하는 것을 말한다. 기존 [[EAI]] 방식의 단점을 개선하였다. 주요 ESB 솔루션으로 [[메타빌드㈜]]의 [[인디고]](Indigo) 솔루션, [[㈜티맥스소프트]]의 [[프로버스]](ProBus), [[㈜케이포엠]](K4M)의 [[비즈위버]](BizWeaver) 솔루션 등이 있다.
+
'''ESB'''(이에스비)는 'Enterprise Service Bus'의 약자로서, 응용 프로그램의 연결된 구성 요소 간에 작업을 배포하는 데 사용되는 [[미들웨어]] 도구이다. 이동 작업의 통일된 수단을 제공하도록 설계되었으므로 애플리케이션을 [[버스]](Bus)에 연결하고 간단한 구조 및 비즈니스 정책 규칙을 기반으로 메시지에 가입할 수 있는 기능을 제공한다.  
  
 
== 개요 ==
 
== 개요 ==
ESB는 응용 프로그램의 연결된 구성 요소 간에 작업을 배포하는 데 사용되는 [[미들웨어]] 도구이다. 이동 작업의 통일된 수단을 제공하도록 설계되었으므로 애플리케이션을 [[버스 (컴퓨터)|버스]](bus)에 연결하고 간단한 구조 및 비즈니스 정책 규칙을 기반으로 메시지에 가입할 수 있는 기능을 제공한다.
+
'''ESB'''(Enterprise service bus)서비스 참여자들 사이에서 발생하는 서비스 인터랙션의 관리와 가상화를 지원하는 아키텍처 패턴이다. 서비스 공급자와 서비스 요청자들 사이를 연결하고, 정확히 매치되지 않더라도 인터랙션을 가능하게 한다. ESB 패턴은 다양한 미들웨어 기술과 프로그래밍 모델을 사용하여 구현될 수 있다. ESB 패턴에서는 직접 인터랙팅 하기보다는 [[SOA]]의 핵심 정의를 구현 및 확장하는 기능들의 가상화와 관리를 제공하는 버스를 통해 서비스 인터랙션에 참여한 사람들이 통신할 수 있고 다음과 같은 가상화를 제공한다.
 
 
ESB는 서비스 참여자들 사이에서 발생하는 서비스 인터랙션의 관리와 가상화를 지원하는 아키텍처 패턴이다. 서비스 공급자와 서비스 요청자들 사이를 연결하고, 정확히 매치되지 않더라도 인터랙션을 가능하게 한다. ESB 패턴은 다양한 미들웨어 기술과 프로그래밍 모델을 사용하여 구현될 수 있다. ESB 패턴에서는 직접 인터랙팅 하기보다는 [[SOA]]의 핵심 정의를 구현 및 확장하는 기능들의 가상화와 관리를 제공하는 버스를 통해 서비스 인터랙션에 참여한 사람들이 통신할 수 있고 다음과 같은 가상화를 제공한다.
 
 
 
 
* 위치와 정체성 : 참여자들은 다른 참여자들의 위치와 정체성을 알 필요가 없다.
 
* 위치와 정체성 : 참여자들은 다른 참여자들의 위치와 정체성을 알 필요가 없다.
* 인터랙션 [[프로토콜]] : 참여자들은 공통의 통신 프로토콜이나 인터랙션 스타일을 공유할 필요가 없다.
+
* 인터랙션 프로토콜 : 참여자들은 공통의 통신 프로토콜이나 인터랙션 스타일을 공유할 필요가 없다.
 
* 인터페이스 : 요청자와 공급자는 공통 인터페이스에 동의할 필요가 없다.
 
* 인터페이스 : 요청자와 공급자는 공통 인터페이스에 동의할 필요가 없다.
* (인터랙션) 서비스의 품질(QoS) : 참여자들은 자신들의 품질에 대해 요구사항뿐만 아니라 인터랙션 서비스에 대해 선언한다.<ref>글로벌셀링 플랫폼, 〈[https://blog.naver.com/brian1105?Redirect=Log&logNo=70002018819 웹 서비스 구현을 위한 SOA 프로그래밍 모델: IBM ESB소개]〉 , 《네이버 블로그》, 2006-02-24</ref>
+
* (인터랙션) 서비스의 품질(QoS) : 참여자들은 자신들의 품질에 대해 요구사항뿐만 아니라 인터랙션 서비스에 대해 선언한다.<ref>글로벌셀링 플랫폼, 〈[https://blog.naver.com/brian1105?Redirect=Log&logNo=70002018819 웹 서비스 구현을 위한 SOA 프로그래밍 모델: IBM ESB소개]〉《네이버 블로그》, 2006.02.24</ref>
 +
 
 +
== 구성요소 ==
  
 
== 구성요소 ==
 
== 구성요소 ==
# 어댑터 형태의 레거시 연동 컴포넌트 : ESB는 기본적으로 다양한 표준 프로토콜을 소스 형태의 라이브러리가 아닌 통합 개발 환경에서 플러거블(Pluggable)할 수 있도록 간단한 형태로 지원한다.
+
 
 +
# 어댑터 형태의 레거시 연동 컴포넌트 : ESB는 기본적으로 다양한 표준 프로토콜을 소스 형태의 라이브러리가 아닌 통합 개발 환경에서 ?플러거블(Pluggable)할 수 있도록 간단한 형태로 지원한다.
 
# 메시지의 변환, 가공 : 따라서 데이터 포맷과 형태 등을 통합 개발 환경 등을 통해 자유롭게 변화하고 가공한다.
 
# 메시지의 변환, 가공 : 따라서 데이터 포맷과 형태 등을 통합 개발 환경 등을 통해 자유롭게 변화하고 가공한다.
 
# BPM : 다양한 시스템의 데이터와 애플리케이션과의 연동을 통해 하나의 서비스를 이용할 수 있다.
 
# BPM : 다양한 시스템의 데이터와 애플리케이션과의 연동을 통해 하나의 서비스를 이용할 수 있다.
 
# 컨트롤과 모니터링 : 여러 과정들은 통합적인 조작과 모니터링이 가능해야 한다. 어댑터 단에서의 연결 상태부터 진행되고 있는 프로세스의 상태 및 데이터값 등이 모니터링의 대상이 될 수 있다.
 
# 컨트롤과 모니터링 : 여러 과정들은 통합적인 조작과 모니터링이 가능해야 한다. 어댑터 단에서의 연결 상태부터 진행되고 있는 프로세스의 상태 및 데이터값 등이 모니터링의 대상이 될 수 있다.
# 통합개발환경 : 여러 툴을 사용하여 개발되거나 툴 자체가 제공되지 않을 경우보다 통합개발환경의 개발 효율성이 더 높다. 따라서 통합개발환경은 ESB에서 필요한 요소 중 하나이다.<ref>몽키몽키, 〈[https://m.blog.naver.com/PostView.nhn?blogId=cache798&logNo=130024626366&proxyReferer=https%3A%2F%2Fwww.google.com%2F ESB(Enterprise Service Bus) 개념잡기]〉 , 《네이버 블로그》, 2007-11-18</ref>
+
# 통합개발환경 : 여러 툴을 사용하여 개발되거나 툴 자체가 제공되지 않을 경우보다 통합개발환경의 개발 효율성이 더 높다. 따라서 통합개발환경은 ESB에서 필요한 요소 중 하나이다.<ref name="ESB(Enterprise Service Bus) 개념잡기">https://m.blog.naver.com/PostView.nhn?blogId=cache798&logNo=130024626366&proxyReferer=https%3A%2F%2Fwww.google.com%2F , 《네이버 블로그》, 2007.11.18</ref>
  
 
== 특징 ==
 
== 특징 ==
25번째 줄: 25번째 줄:
 
* 표준 기반 통합 : ESB의 기본개념으로 [[J2EE]], [[.NET]], [[COM]], [[C]], [[C++]] 등의 다양한 기술을 사용하여 구현된 애플리케이션과 통합되며 [[SOAP]]과 웹서비스 [[API]]를 지원하는 어느 것과도 쉽게 통합될 수 있다.
 
* 표준 기반 통합 : ESB의 기본개념으로 [[J2EE]], [[.NET]], [[COM]], [[C]], [[C++]] 등의 다양한 기술을 사용하여 구현된 애플리케이션과 통합되며 [[SOAP]]과 웹서비스 [[API]]를 지원하는 어느 것과도 쉽게 통합될 수 있다.
 
* 고도로 분산된 통합과 선택적인 전개 : ESB는 통합 기능을 제공한다는 점에서 전통적인 [[EAI]] 브로커의 기능을 포함한다.ESB는 이들 통합 기능을 고도로 분산된 형식으로 함께 작업할 수 있고 서로에 대해 독립적으로 확장될 수 있는 개별적인 서비스로 제공한다.
 
* 고도로 분산된 통합과 선택적인 전개 : ESB는 통합 기능을 제공한다는 점에서 전통적인 [[EAI]] 브로커의 기능을 포함한다.ESB는 이들 통합 기능을 고도로 분산된 형식으로 함께 작업할 수 있고 서로에 대해 독립적으로 확장될 수 있는 개별적인 서비스로 제공한다.
* 보안성과 신뢰성 : ESB 상의 노드 사이의 연결은 방화벽 기능으로 보안성을 갖고 신뢰성은 MOM을 통해 이루어진다.
 
* 점진적 채택 : ESB는 각각의 작은 프로젝트가 더 큰 통합 네트워크 안에서 구축되게 할 수  있다.
 
 
* 분산 데이터 변형
 
* 분산 데이터 변형
 
* 레이어 서비스를 통한 확장성
 
* 레이어 서비스를 통한 확장성
 
* 이벤트 주도형 SOA
 
* 이벤트 주도형 SOA
 
* 프로세스 흐름
 
* 프로세스 흐름
 +
* 보안성과 신뢰성 : ESB 상의 노드 사이의 연결은 방화벽 기능으로 보안성을 갖고 신뢰성은 MOM을 통해 이루어진다.
 
* 자치적인 연합 환경
 
* 자치적인 연합 환경
 
* ESB 내장 데이터타입, XML
 
* ESB 내장 데이터타입, XML
 
* 비즈니스 데이터의 실시간 생성
 
* 비즈니스 데이터의 실시간 생성
* 운영 인식<ref>잠보, 〈[http://blog.naver.com/PostView.nhn?blogId=jin11010&logNo=24537805 ESB의 특징]〉 , 《네이버 블로그》, 2006-05-21</ref>
+
* 운영 인식
 +
* 점진적 채택 : ESB는 각각의 작은 프로젝트가 더 큰 통합 네트워크 안에서 구축되게 할 수  있다.<ref>〈[http://blog.naver.com/PostView.nhn?blogId=jin11010&logNo=24537805 ESB의 특징]〉</ref>
  
 
=== EAI와 차이점 ===
 
=== EAI와 차이점 ===
 
[[EAI]] 와 ESB 는 비슷한 개념으로 이해될 수 있다.  EAI는 통합에 초점을 맞춘 기술임에 비하여 ESB는 프로세스 기반의 SOA로 나아가기 위한 기반으로서 만들어진 것으로 그 모습이 유사하지만 서로가 바라보는 관점과 최종 목적지가 다르다. 유연한 비즈니스를 목적에 둔 Modeling ->Integration -> Deploy -> Business Monitoring 이 그것으로서, 이 네 가지가 계속 반복되면서 목표로 하는 비즈니스 지표를 만족시킬 때까지 끊임없이 그 모습을 유연하게 바꿔 가는 것이 프로세스 기반인 SOA의 특징이다.
 
[[EAI]] 와 ESB 는 비슷한 개념으로 이해될 수 있다.  EAI는 통합에 초점을 맞춘 기술임에 비하여 ESB는 프로세스 기반의 SOA로 나아가기 위한 기반으로서 만들어진 것으로 그 모습이 유사하지만 서로가 바라보는 관점과 최종 목적지가 다르다. 유연한 비즈니스를 목적에 둔 Modeling ->Integration -> Deploy -> Business Monitoring 이 그것으로서, 이 네 가지가 계속 반복되면서 목표로 하는 비즈니스 지표를 만족시킬 때까지 끊임없이 그 모습을 유연하게 바꿔 가는 것이 프로세스 기반인 SOA의 특징이다.
SOA의 최종 목적을 위해 만들어진 것이 ESB이고 ESB가 가진, EAI 솔루션과 유사해 보이는 특징들은 SOA를 만나면서 EAI 솔루션들과 다른 가치를 부여받게 되었다.<ref>몽키몽키, 〈[https://m.blog.naver.com/PostView.nhn?blogId=cache798&logNo=130024626366&proxyReferer=https%3A%2F%2Fwww.google.com%2F ESB(Enterprise Service Bus) 개념잡기]〉 , 《네이버 블로그》, 2007-11-18</ref>
+
SOA의 최종 목적을 위해 만들어진 것이 ESB이고 ESB가 가진, EAI 솔루션과 유사해 보이는 특징들은 SOA를 만나면서 EAI 솔루션들과 다른 가치를 부여받게 되었다.
 +
<ref name="ESB(Enterprise Service Bus) 개념잡기"> , 《네이버 블로그》, 2007.11.18</ref>
  
 
=== ESB의 중요성 ===
 
=== ESB의 중요성 ===
44번째 줄: 45번째 줄:
  
 
{{각주}}
 
{{각주}}
 +
  
 
== 참고자료 ==
 
== 참고자료 ==
* 글로벌셀링 플랫폼, 〈[https://blog.naver.com/brian1105?Redirect=Log&logNo=70002018819 웹 서비스 구현을 위한 SOA 프로그래밍 모델: IBM ESB소개]〉 , 《네이버 블로그》, 2006-02-24
+
* 글로벌셀링 플랫폼, 〈[https://blog.naver.com/brian1105?Redirect=Log&logNo=70002018819 웹 서비스 구현을 위한 SOA 프로그래밍 모델: IBM ESB소개]〉 , 《네이버 블로그》, 2006.02.24
* 잠보, 〈[http://blog.naver.com/PostView.nhn?blogId=jin11010&logNo=24537805 ESB의 특징]〉 , 《네이버 블로그》, 2006-05-21
+
* 잠보, 〈[http://blog.naver.com/PostView.nhn?blogId=jin11010&logNo=24537805 ESB의 특징]〉 , 《네이버 블로그》, 2006.05.21
* Margaret Rouse, 〈[https://searchmicroservices.techtarget.com/definition/enterprise-service-bus-ESB Enterprise Service Bus (ESB)]〉 , 《테크타겟》, 2017-02
+
* Margaret Rouse, 〈[https://searchmicroservices.techtarget.com/definition/enterprise-service-bus-ESB Enterprise Service Bus (ESB)]〉 , 《TechTarget》, 2017.02
* 몽키몽키, 〈[https://m.blog.naver.com/PostView.nhn?blogId=cache798&logNo=130024626366&proxyReferer=https%3A%2F%2Fwww.google.com%2F ESB(Enterprise Service Bus) 개념잡기]〉 , 《네이버 블로그》, 2007-11-18
+
* 몽키몽키, 〈[https://m.blog.naver.com/PostView.nhn?blogId=cache798&logNo=130024626366&proxyReferer=https%3A%2F%2Fwww.google.com%2F ESB(Enterprise Service Bus) 개념잡기]〉 , 《네이버 블로그》, 2007.11.18
  
 
== 같이 보기 ==
 
== 같이 보기 ==
 
* [[EAI]]
 
* [[EAI]]
* [[버스 (컴퓨터)|버스]]
+
* [[서비스 메시]]
  
{{시스템 연계|검토 필요}}
+
{{프로그래밍|토막글}}

해시넷에서의 모든 기여는 다른 기여자가 편집, 수정, 삭제할 수 있다는 점을 유의해 주세요. 만약 여기에 동의하지 않는다면, 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다 (자세한 사항은 해시넷:저작권 문서를 보세요). 저작권이 있는 내용을 허가 없이 저장하지 마세요!

취소 | 편집 도움말 (새 창에서 열림)