WebSphere® Enterprise Service Bus 또는
WebSphere Process
Service에서 실행되는 중개 서비스는 StockQuote라고 하는 단일 중개 모듈에 포함되어 있으며
이 모듈은 클라이언트 서비스 요청자에게 인터페이스를 제공하는 내보내기, 외부 웹 서비스 제공자에게
인터페이스를 제공하는 가져오기 및 중개 구현을 정의하는
중개 플로우 컴포넌트로 구성됩니다.
중개 모듈 StockQuote는 어셈블리 편집기에 빌드되며,
중개 플로우 컴포넌트 StockQuote_MediationFlow는 중개 플로우 편집기에
작성됩니다. 다음 그림은 어셈블리 편집기 및
중개 플로우 편집기에서 인터페이스 및 참조 간의 관계를
표시합니다.

StockQuote 모듈
아래 다이어그램은
StockQuote 모듈의 요소를 표시합니다.

- StockQuoteService에는 StockQuoteService라고 하는 WSDL 인터페이스가 있으며,
Servlet 프론트 엔드에서 JAX-RPC를 통해 중개 모듈에 연결할 수 있도록
SOAP/JMS 웹 서비스 바인딩을 사용합니다. 이 샘플에서는 StockQuoteService 인터페이스를 작성하고
WSDL 파일을 생성합니다.
- StockQuote_MediationFlow에는 중개 플로우가 있습니다. 이 샘플에서는
StockQuote_MediationFlow 컴포넌트를 작성하고 구현합니다.
- RealtimeService에는 실시간 서비스와 일치하는 인터페이스
및 웹 서비스 바인딩이 있습니다. 이 샘플에서는 WSDL 파일 RealtimeService.wsdl을 가져옵니다.
- DelayedService에는 지연된 서비스와 일치하는 인터페이스
및 웹 서비스 바인딩이 있습니다. 이 샘플에서 WSDL 파일 DelayedService.wsdl을 가져옵니다.
StockQuote_MediationFlow
아래 다이어그램에서는
StockQuote_MediationFlow 컴포넌트를 통해 대상 서비스 제공자로 이동할 때
메시지에 적용되는 중개 로직을 정의하는 요청 플로우를 표시합니다.

- 응답 플로우에서 나중에 사용 가능하도록 subscriptionLevel 특성을
메시지의 상관 컨텍스트에 설정합니다.
- 요청은 Log라는 이름의 메시지 로거 중개 기본요소를 사용하여
기록됩니다.
- 그런 다음 Lookup이라는 데이터베이스 참조 중개 기본요소에서 메시지 본문의
customerID 요소를 사용하여 제공된 CustomerDatabase에서 이 정보를
찾아 고객에게 프리미엄 또는 일반 서비스 사용 권한이 있는지
판별합니다. 이 정보는 나중에 사용할 수 있도록 메시지 상관 컨텍스트의
subscriptionLevel 특성에 추가됩니다.
- 그런 다음 Filter라는 메시지 필터에서 상관 컨텍스트의
subscriptionLevel 정보에 기초하여 요청을 실시간 또는 지연된
주식 시세 서비스로 라우트합니다.
- XSLT 기본요소 TransformToDelayed 및 TransformToRealtime에서
서비스가 예상하는 메시지와 일치하도록 도중에 각 서비스에 대해 메시지가
변환됩니다.
아래 다이어그램에서는 StockQuote_MediationFlow
컴포넌트를 통해 대상 서비스 제공자로부터 클라이언트로 이동하는,
리턴 메시지에 적용되는 중개 로직을 정의하는 응답 플로우를 표시합니다.

각 서비스의 응답은 StockQuoteService에서 요구하는 형식과 일치하도록
XSLT 중개 기본요소(DelayedToStockQuoteService 및 RealtimeToStockQuoteService)를 통해 전달됩니다.
또한 XSLT 기본요소는 상관 컨텍스트의 subscriptionLevel 값을 메시지의 qualityOfService
특성으로 맵핑하는 데에도 사용됩니다. qualityOfService 텍스트는 실시간 서비스에서 리턴되는 응답에 "프리미엄"을 표시하고
지연된 서비스에서 리턴된 응답에는 "일반"을 표시합니다. 이 텍스트는 클라이언트에 표시되며 사용된 서비스 제공자를
나타냅니다.