문제

누구든지 초보자 간 중상 수준에서 "버스", "운송"및 "엔드 포인트"의 용어를 엔터프라이즈 서비스 버스? 저는 지금 몇 년의 경험을 가진 C# 개발자이지만 ESB와의 작업을 시작했습니다.

"버스"는 효과적으로 메시지를 보내고받을 수있는 대기열 인 것 같습니다. 난 괜찮아. 그러나 나는 기존 코드를 사용하여 작업하고 있습니다 nservicebus 그리고 내가 "엔드 포인트"와 "교통"용어를 맥주했다면 나는 내 이해에 큰 도약을 할 것이라고 생각합니다.

도움이 되었습니까?

해결책

그 용어를 당신에게 명확히하려고합니다.

버스 ESB 아키텍처와 관련하여 메시지 파견을위한 간단한 대기열로 간주되어서는 안됩니다. 다른 서비스를 통합 할 수 있도록 ESB는 훨씬 더 많은 것을 제공합니다. ESB의 중요한 추가 기능 :

  • 라우팅. 메시지 내용 또는 엔드 포인트 사양에 따라 메시지를 다른 서비스로 라우팅 할 수 있습니다.
  • 다른 형식 간의 메시지 변환/중재
  • 전송 프로토콜 변환. ESB는 다른 전송 프로토콜 (JMS, HTTP/S, Pure TCP 등)을 사용하는 응용 프로그램을 원활하게 통합 할 수 있어야합니다.
  • 메시지 향상. 추가 처리 전에 메시지가 누락 된 데이터로 메시지를 풍부하게 할 수 있습니다.
  • 보안
  • 관리 및 모니터링

이러한 기능은 ESB 내에서 운영되는 서비스에 의해 제공됩니다. 서비스는 서로 연결합니다 엔드 포인트 - 균일하고 독특한 "주소". 엔드 포인트 사이에 발송 된 메시지는 Unified를 사용합니다 수송 (메시지의 페이로드를 캡슐화하는 메소드/프로토콜). 기본적으로 다른 전송을 사용하는 응용 프로그램은 적절한 어댑터를 통해 ESB에 연결해야합니다. 이러한 방식으로 ESB를 사용하는 응용 프로그램은 서로 분리되어 있으며 전환 자체를 제공 할 필요가 없습니다.

물론, 그것들은 용어에 대한 매우 간단한 설명 일뿐입니다. Enterprise Service Bus는 특정 종류의 아키텍처 (또는 개념)에 대한 어획량 만이지만 어떤 식 으로든 표준화되지는 않습니다. 따라서 구체적인 구현은 서로 매우 다를 수 있습니다. 표준화 된 ESB에 관심이 있다면 JBI (Java Bussiness Integration)를 살펴볼 수 있습니다. JBI Avalable의 몇 가지 오픈 소스 구현이 있습니다. Apache Servicemix, 노새, Openesb. ESB Technologies에 대한 아주 좋은 소개는 "오픈 소스 ESBS 활동"Manning에 의해 출판 된 책.

다른 팁

ESB와 솔루션을 통합하는 데 사용되는 다양한 모델 및 패턴을 중심으로 EAI (Enterprise Application Integration)와 관련된 리소스를 살펴 보는 것이 좋습니다. ESB 아키텍처의 GOF라고 생각하십시오.

http://www.enterpriseintegrationpatterns.com/

그리고

http://www.enterpriseintegrationpatterns.com/toc.html

이러한 모든 패턴은 사람들이 ESB를 사용하여 달성하기 위해 무엇을 사용하는지에 대한 아이디어를 제공하며 패턴은 자신이 DO-IT-Yourself ESB 통합의 일반적인 함정을 제공하는 데 유용합니다. 나는 그 책과 그 소스를 통해 엄청난 양을 배웠습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top