집계는 단일 입력 메시지로부터 도출된 관련 요청을 생성 및 fan-out한 다음 해당 응답을 fan-in하여 단일 집계된 응답 메시지를 생성하는 것입니다.
메시지 플로우가 수신한 초기 요청(관련 요청 항목의 콜렉션을 나타냄)은 초기 요청의 부속작업을 충족시키기 위해 적절한 수의 개별 요청으로 분할됩니다. 이 프로세스를 fan-out이라고 하며, 집계 노드를 포함하는 메시지 플로우에서 제공됩니다.
부속작업으로부터 수신한 응답은 원래 요청자(또는 다른 대상 응용프로그램)에게 리턴되는 단일 응답으로 결합 및 병합되어 처리가 완료되었음을 나타냅니다. 이 프로세스를 fan-in이라고 하며, 또한 집계 노드를 포함하는 메시지 플로우에서 제공됩니다.
모든 지원되는 프로토콜을 통해 브로커에 연결된 클라이언트 응용프로그램으로부터 메시지 플로우로 메시지를 송신하여 집계를 시작할 수 있습니다. 이러한 모든 프로토콜을 통해 집계된 응답을 클라이언트 응용프로그램으로 송신할 수 있습니다. Fan-out 메시지 플로우가 발행한 메시지 및 fan-in 메시지 플로우가 수신한 응답은 요청/응답 메시지여야 합니다. 따라서 WebSphere MQ Enterprise Transport(MQInput 및 MQOutput 노드 간에 메시지를 송수신 중)를 사용하여 연결된 클라이언트 응용프로그램 또는 요청/응답 통신 모델을 따르는 사용자 정의 입력 및 출력 노드가 지원하는 다른 프로토콜을 사용하는 클라이언트로 제한됩니다.
WebSphere Message Broker에서는 집계를 지원하는 메시지 플로우 노드를 제공합니다.
메시지 플로우에 이러한 노드가 포함되면 메시지 플로우 내에서 병렬로 다중 fan-out 요청이 발행됩니다. 이는 각 노드가 순서대로 해당 처리를 수행하는 메시지 플로우의 표준 조작과 대조됩니다.
이 노드를 사용하여 브로커 환경 외부의 응용프로그램으로 요청을 발행할 수 있습니다. 메시지는 비동기식으로 외부 응용프로그램 또는 서비스로 송신되고 이 응용프로그램으로부터 응답을 검색하며 원래 요청 메시지에 단일 응답을 제공하기 위해 응답을 결합할 수 있습니다.
느린 요청은 병렬로 수행되고 서로 순차적으로 따르지 않아도 되기 때문에 이 노드는 응답 시간을 개선할 수 있는 기회도 제공합니다. 부속작업을 독립적으로 처리할 수 있으므로 단일 작업 단위의 부분으로 핸들링하지 않아도 되는 경우, 별도의 메시지 플로우에서 부속작업을 처리할 수도 있습니다.
다른 응용프로그램으로 부속작업 요청을 발행(예: HTTPRequest 노드를 사용하여)한 다음 각각의 결과를 LocalEnvironment에 기록하여 집계를 처리하는 노드를 사용하지 않고 유사한 기능을 제공하는 메시지 플로우를 설계 및 구성할 수 있습니다. 각 부속작업이 완료된 후, LocalEnvironment에서 발생한 결과를 Compute 노드에 병합한 다음 대상 응용프로그램 전달에 필요한 결합된 응답 메시지를 작성할 수 있습니다. 이를 수행할 경우, 모든 부속 작업은 순차적으로 수행되므로 집계 노드를 사용하여 달성할 수 있는 병렬 조작의 성능상의 이점을 제공하지 않습니다.
집계 노드를 사용하는 집계 플로우의 예는 WebSphere Message Broker와 함께 제공된 Airline 샘플에서 제공됩니다. 이 메시지 플로우 응용프로그램은 항공 예약 서비스에 관련된 요청을 시뮬레이트하며 집계 플로우와 연관된 기술에 대해 설명합니다.