XML_PassengerQuery 메시지 플로우 정보

XML_PassengerQuery 메시지 플로우는 입력 메시지에 지정된 승객의 예약 세부사항을 검색합니다. 출력 메시지의 정보 유형은 입력 메시지에서 제공하는 정보에 따라 다릅니다.

메시지 플로우는 특정 경로를 따라 메시지를 라우트하기 위해 참/거짓의 Boolean 결과가 있어야 하는 Filter 노드의 체인을 작성할 필요없이 메시지 자체의 정보에 기초하여 메시지를 동적으로 라우트하는 RouteToLabel 및 Label 노드를 사용합니다.

설명된 두 가지 유형의 정보 검색을 예시하기 위해 XML_PassengerQuery 메시지 플로우를 실행할 두 개의 입력 메시지가 제공됩니다.

다음 그림은 XML_PassengerQuery 메시지 플로우를 보여줍니다.

XML_PassengerQuery 메시지 플로우의 화면 캡처

다음 표는 XML_PassengerQuery 메시지 플로우에 사용된 노드 유형을 나열합니다.

노드 유형 노드 이름
MQInput XML_PASSENGERQUERY_IN
Compute DecideOnQuery; GetPassengerInformation; GetReservationsInformation
RouteToLabel

RouteToLabel

Label SinglePassenger; AllReservations
MQOutput XML_PASSENGERQUERY_FAIL_1; XML_PASSENGERQUERY_FAIL_2; XML_PASSENGERQUERY_OUT

자세한 정보는 WebSphere Message Broker 문서에 있는 XML_PassengerQuery 메시지 플로우의 노드를 읽으십시오. 이 메시지 플로우에 사용된 ESQL을 보려면 XML_PassengerQuery 메시지 플로우 작성을 참조하십시오.

XML_PassengerQuery 메시지 플로우는 다음 조치를 수행합니다.

  1. XML_PASSENGERQUERY_IN 노드는 XML_PASSENGERQUERY_IN 큐에서 입력 메시지를 가져와 이 입력 메시지를 XML 도메인에 있는 메시지로 식별합니다. 따라서 메시지 플로우는 XML 구문 분석기를 사용하여 메시지를 구문 분석해야 합니다.
  2. XML_PASSENGERQUERY_IN 노드는 메시지를 DecideOnQuery 노드로 전달합니다. 또는
  3. DecideOnQuery 노드는 메시지가 메시지 플로우를 통해 가야 하는 경로를 결정합니다. 메시지가 취하는 경로는 메시지에 제공된 정보 유형에 의해 좌우됩니다. 노드는 목적지 정보와 함께 로컬 환경을 갱신합니다.
  4. DecideOnQuery 노드는 Out 터미널을 통해 RouteToLabel 노드로 메시지와 로컬 환경을 전달합니다.
  5. RouteToLabel 노드는 관련 Label 노드에 입력 메시지를 전달합니다(DecideOnQuery 노드가 LocalEnvironment에 단일 승객을 넣은 경우에는 SinglePassenger 노드, DecideOnQuery 노드가 LocalEnvironment에 모든 예약을 넣은 경우에는 AllReservations 노드).
  6. RouteToLabel 노드가 입력 메시지를 SinglePassenger 노드로 전달하면, SinglePassenger 노드는 Out 터미널을 통해 GetPassengerInformation 노드로 예약 번호가 들어 있는 이 입력 메시지를 전달합니다. GetPassengerInformation 노드는 RESERVDB 데이터베이스의 XMLPASSENGERTB 테이블에서 예약 번호를 찾은 후, 예약 번호, 승객의 전체 이름, 항공기 번호, 비행 날짜 및 좌석 등급을 포함하여 XMLPASSENGERTB 테이블에서 찾은 정보로부터 출력 메시지를 빌드합니다. 그런 다음, GetPassengerInformation 노드는 Out 터미널을 통해 XML_PASSENGERQUERY_OUT 노드로 출력 메시지를 전달합니다.
  7. RouteToLabel 노드가 입력 메시지를 AllReservations 노드로 전달하면, AllReservations 노드는 Out 터미널을 통해 GetReservationsInformation 노드로 승객의 이름이 들어 있는 입력 메시지를 전달합니다. GetReservationsInformation 노드는 RESERVDB 데이터베이스의 XMLPASSENGERTB 테이블에서 승객의 이름을 찾은 후, 승객의 전체 이름과 승객이 예약한 각 항공기 번호, 비행 날짜 및 좌석 등급을 포함하여 XMLPASSENGERTB 테이블에서 찾은 정보로부터 출력 메시지를 빌드합니다. 그런 다음, GetReservationsInformation 노드는 Out 터미널을 통해 XML_PASSENGERQUERY_OUT 노드로 출력 메시지를 전달합니다.
  8. XML_PASSENGERQUERY_OUT 노드는 출력 메시지를 XML_PASSENGERQUERY_OUT 큐에 넣습니다.

기본 페이지 아이콘   Airline Reservations 샘플 정보로 돌아가기