Airline Reservations 샘플 실행

Airline Reservations 샘플을 실행하여 다음 작업을 시뮬레이션할 수 있습니다.

각 작업에 대해 특정 WebSphere MQ 큐에 메시지를 넣습니다. 해당 메시지 플로우는 큐에서 메시지를 가져와 이 메시지를 처리합니다. 다음 지시사항에서는 Airline Reservations 샘플 메시지 플로우를 통해 제공된 자체 정의 XML 메시지를 넣는 방법 및 메시지 플로우에서 수신할 것으로 예상할 수 있는 출력에 대해 설명합니다. 메시지 플로우는 데이터베이스를 갱신하므로 다음 지시사항에 나열된 순서대로 메시지 플로우를 실행해야 합니다.

샘플을 실행할 때 Message Brokers Toolkit의 문제점 보기에 해결할 수 없는 데이터베이스 테이블 참조 T.CLASSTYPE과 같은 오류 메시지가 표시될 수 있습니다. 이 경고는 데이터베이스 테이블의 정의를 프로젝트에 들여오지 않았음을 나타냅니다. 이는 런타임 시 샘플의 작동에 영향을 주지 않습니다.

샘플의 데이터베이스 컨텐츠를 보는 방법은 설치된 데이터베이스 제품에 따라 다릅니다. DB2 데이터베이스의 경우에는 DB2가 제공하는 도구를 사용하십시오(예: DB2 제어 센터). 데이터베이스 제품을 설치하지 않으면 샘플이 Apache Derby 데이터베이스를 사용합니다. Derby 데이터베이스에서 데이터를 보는 방법에 관한 지시사항은 Derby 데이터베이스의 컨텐츠 보기를 참조하십시오.

샘플을 실행할 때 문제점이 있으면 문제점 진단을 참조하십시오.

1. XML_Reservation 메시지 플로우 실행

XML_Reservation 메시지 플로우는 입력 메시지에 나열된 항공기에 좌석을 예약하고 승객이 예약을 확인할 수 있도록 응답 메시지를 생성합니다.

XML_Reservation 메시지 플로우를 실행하려면 다음을 수행하십시오.

  1. Message Broker Toolkit에서 응용프로그램 개발 Perspective로 전환하십시오.
  2. 자원 네비게이터 보기에서 Airline XML 메시지 플로우 프로젝트를 펼친 후 reservation1.enqueue 파일을 두 번 눌러 큐에 삽입 편집기로 파일을 여십시오.
  3. 큐에 삽입 편집기에서 포트 필드에 2414를 입력하십시오.
  4. 큐에 쓰기를 누르십시오. 첫 번째 입력 메시지가 XML_RESERVATION_IN 큐에 넣어집니다.
  5. Message Broker Toolkit 도구 모음에서 큐에서 메시지 가져오기 아이콘 큐에서 삭제 아이콘의 화살표를 누른 후 메시지 가져오기...를 눌러 큐에서 삭제 메시지 대화 상자를 여십시오.
  6. 큐에서 삭제 메시지 대화 상자에서 WBRK6_DEFAULT_QUEUE_MANAGER 큐 관리자의 XML_RESERVATION_OUT 큐로부터 네 개의 응답 메시지를 가져오십시오. 포트 번호는 2414입니다. 각 응답 메시지는 한 승객의 예약을 확인하고 승객의 전체 이름과 예약된 좌석의 등급 및 고유 예약 번호를 포함합니다. 다음 예는 응답 메시지의 형식을 보여줍니다.
    <PassengerReservationResponse>
    <ListOfConfirmations>
    <Confirmation>
    <FirstName>Mary</FirstName>
    <LastName>Smith</LastName>
    <Class>F</Class>
    <ReservationNumber>CA937200305251</ReservationNumber>
    </Confirmation>
    </ListOfConfirmations>
    </PassengerReservationResponse>
  7. RESERVDB 데이터베이스에서 XMLFLIGHTTB 테이블을 점검하십시오. 모든 행에서 RESERVATIONSEQNO 값이 하나씩 증가되었습니다. 2003년 5월 25일 항공기 CA937에 대한 행에서 XML_Reservation 메시지 플로우가 다음과 같이 변경되었습니다.
  8. RESERVDB 데이터베이스에서 XMLPASSENGERTB 테이블을 점검하십시오. XML_Reservation 메시지 플로우가 다음과 같이 변경했습니다.
  9. 큐에 삽입 편집기에서 reservation2.enqueue를 열고 큐에 쓰기를 누르십시오. 두 번째 입력 메시지가 XML_RESERVATION_IN 큐에 넣어집니다.
  10. 큐에서 삭제 메시지 대화 상자를 사용하여 XML_RESERVATION_OUT 큐에서 하나의 응답 메시지를 가져오십시오.
    응답 메시지는 Mary Smith의 두 번째 예약을 확인하고, 그녀의 전체 이름, 예약한 좌석의 등급 및 고유 예약 번호를 포함합니다. 응답 메시지의 구조는 첫 번째 입력 메시지에 대한 응답과 동일한 구조입니다.
  11. RESERVDB 데이터베이스에서 XMLFLIGHTTB 테이블을 점검하십시오. 모든 행에서 RESERVATIONSEQNO 값이 하나씩 증가되었습니다. 2003년 5월 25일 항공기 BA039에 대한 행에서 XML_Reservation 메시지 플로우가 다음과 같이 변경되었습니다.
  12. RESERVDB 데이터베이스에서 XMLPASSENGERTB 테이블을 점검하십시오. XML_RESERVATION 메시지 플로우가 다음과 같이 변경되었습니다.

2. XML_PassengerQuery 메시지 플로우 실행

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

XML_PassengerQuery 메시지 플로우를 실행하려면 다음을 수행하십시오.

  1. 큐에 삽입 편집기에서 passengerquery1.enqueue를 여십시오.
  2. 포트 필드에 2414를 입력한 후 큐에 쓰기를 누르십시오. 첫 번째 입력 메시지가 XML_PASSENGERQUERY_IN 큐에 넣어집니다.
  3. 큐에서 삭제 메시지 대화 상자를 사용하여 XML_PASSENGERQUERY_OUT 큐에서 하나의 출력 메시지를 가져오십시오. 출력 메시지에는 입력 메시지에 지정된 예약 번호를 할당받은 Debra Weiss의 이름 및 예약 세부사항이 포함됩니다. 다음 예는 출력 메시지의 형식을 보여줍니다.
    <PassengerInfoResponse>
       <PassengerInfo>
          <ReservationNumber>CA937200305253</ReservationNumber>
          <FirstName>Debra</FirstName>
          <LastName>Weiss</LastName>
          <FlightNumber>CA937</FlightNumber>
          <Date>20030525</Date>
          <Class>Y</Class>
       </PassengerInfo>
    <PassengerInfoResponse>
  4. 큐에 삽입 편집기에서 passengerquery2.enqueue를 여십시오.
  5. 포트 필드에 2414를 입력한 후 큐에 쓰기를 누르십시오. 두 번째 입력 메시지가 XML_PASSENGERQUERY_IN 큐에 넣어집니다.
  6. 큐에서 삭제 메시지 대화 상자를 사용하여 XML_PASSENGERQUERY_OUT 큐에서 하나의 출력 메시지를 가져오십시오. 출력 메시지에는 입력 메시지에 지정된 Mary Smith의 두 예약에 대해 승객의 이름 및 예약 세부사항이 포함됩니다. 다음 예는 출력 메시지의 형식을 보여줍니다.
    <PassengerInfoResponse>
       <ListOfReservations>
          <Reservation>
             <FlightNumber>CA937</FlightNumber>
             <Date>20030525</Date>
             <Class>F</Class>
          </Reservation>
          <Reservation>
             <FlightNumber>BA039</FlightNumber>
             <Date>20030525</Date>
             <Class>F</Class>
          </Reservation>
       </ListOfReservations>
    </PassengerInfoResponse>
  7. RESERVDB 사용자 데이터베이스를 점검하여 XML_PassengerQuery 메시지 플로우가 데이터를 수정하지 않았는지 확인하십시오.

3. XML_FlightQuery 메시지 플로우 실행

XML_FlightQuery 메시지 플로우는 세 개의 작은 메시지 플로우로 구성됩니다. XML_FlightQuery가 작동하려면 세 개의 모든 메시지 플로우가 브로커로 전개되어 시작되어야 합니다.

XML_FlightQuery 메시지 플로우는 입력 메시지에 지정된 항공기에 대한 정보 및 이 항공기에 예약한 승객 목록을 검색합니다.

XML_FlightQuery 메시지 플로우를 실행하려면 다음을 수행하십시오.

  1. 큐에 삽입 편집기에서 flightdetailsquery.enqueue를 여십시오.
  2. 포트 필드에 2414를 입력한 후 큐에 쓰기를 누르십시오. 입력 메시지가 XML_FLIGHTQUERY_IN 큐에 넣어집니다.
  3. 큐에서 삭제 메시지 대화 상자를 사용하여 XML_FLIGHTQUERY_OUT 큐에서 하나의 응답 메시지를 가져오십시오. 응답 메시지에는 일등석 및 일반석의 좌석 수, 좌석 요금 및 예약 가능한 좌석 수에 대한 세부사항이 포함됩니다. 다음 예는 응답 메시지의 형식을 보여줍니다.
    <FlightDetailsInfoResponse>
    <Flight number="CA937" Flightdate="20030525">
    <FirstClass>
    <Capacity>38</Capacity>
    <Used>6</Used>
    <Price>300</Price>
    </FirstClass>
    <EconomyClass>
    <Capacity>188</Capacity>
    <Used>6</Used>
    <Price>200</Price>
    </EconomyClass>
    <Origin>BEIJING</Origin>
    <Destination>LONDON</Destination>
    </Flight>
    <ListOfPassengers>
    <Passenger>
    <ReservationNumber>CA937200305251</ReservationNumber>
    <FirstName>Mary</FirstName>
    <LastName>Smith</LastName>
    <Class>F</Class>
    </Passenger>
    <Passenger>
    <ReservationNumber>CA937200305252</ReservationNumber>
    <FirstName>Diane</FirstName>
    <LastName>Rose</LastName>
    <Class>Y</Class>
    </Passenger>
    <Passenger>
    <ReservationNumber>CA937200305253</ReservationNumber>
    <FirstName>Debra</FirstName>
    <LastName>Wiess</LastName>
    <Class>Y</Class>
    </Passenger>
    <Passenger>
    <ReservationNumber>CA937200305254</ReservationNumber>
    <FirstName>Atila</FirstName>
    <LastName>Wiess</LastName>
    <Class>F</Class>
    </Passenger>
    </ListOfPassengers>
    </FlightDetailsInfoResponse>
  4. RESERVDB 사용자 데이터베이스를 점검하여 XML_PassengerQuery 메시지 플로우가 데이터를 수정하지 않았는지 확인하십시오.

4. XML_CancelReservation 메시지 플로우 실행

XML_CancelReservation 메시지 플로우는 입력 메시지에 예약 번호별로 나열된 예약을 취소합니다.

XML_CancelReservation 메시지 플로우를 실행하려면 다음을 수행하십시오.

  1. 큐에 삽입 편집기에서 cancelreservation.enqueue를 여십시오.
  2. 포트 필드에 2414를 입력하십시오.
  3. RESERVDB 사용자 데이터베이스를 점검하여 cancelreservation.enqueue에 있는 예약 번호가 XMLPASSENGERTB 테이블에 존재하는지 확인하십시오. cancelreservation.enqueue에 예약 번호가 존재하지 않으면 메시지 데이터 필드를 편집하십시오.
  4. 큐에 쓰기를 누르십시오. 입력 메시지가 XML_CANCELRESERVATION_IN 큐에 넣어집니다.
  5. 큐에서 삭제 메시지 대화 상자를 사용하여 XML_CANCELRESERVATION_OUT 큐에서 하나의 출력 메시지를 가져오십시오. 출력 메시지는 단지 입력 메시지의 사본입니다.
  6. RESERVDB 데이터베이스에서 XMLFLIGHTTB 테이블을 점검하십시오. 2003년 5월 25일 항공기 CA937에 대한 행에서 XML_CancelReservation 메시지 플로우가 다음과 같이 변경되었습니다.
  7. RESERVDB 데이터베이스에서 XMLPASSENGERTB 테이블을 점검하십시오. XML_RESERVATION 메시지 플로우가 다음과 같이 변경되었습니다.

기본 페이지 아이콘   샘플 홈으로 돌아가기