Executando a Amostra Reservas Aéreas

Você pode executar a amostra Reservas Aéreas para simular as seguintes tarefas:

Para cada tarefa, você coloca uma mensagem em uma fila específica do WebSphere MQ. O fluxo de mensagens adequado obtém a mensagem da fila e processa a mensagem. As seguintes instruções descrevem como colocar as mensagens XML autodefinidas fornecidas através dos fluxos de mensagens da amostra Reservas Aéreas e qual saída pode ser esperada na recepção dos fluxos de mensagens. Como os fluxos de mensagens atualizam os bancos de dados, você deve executá-los na ordem em que estão listados nas seguintes instruções.

Quando você executar a amostra, poderá ver mensagens de erro semelhantes a Referência de tabela de banco de dados T.CLASSTYPE não-resolvida na visualização Problemas do Message Brokers Toolkit. Esse aviso indica que as definições para as tabelas de banco de dados não foram importadas no projeto. Isso não afeta o comportamento da amostra no tempo de execução.

O modo como você visualiza o conteúdo do banco de dados da amostra depende de qual produto do banco de dados está instalado. Para bancos de dados DB2, utilize as ferramentas fornecidas pelo DB2; por exemplo o DB2 Control Center. Se você não tiver instalado um produto do banco de dados, a amostra utilizará o banco de dados Apache Derby. Para obter instruções sobre como visualizar os dados em um banco de dados Derby, consulte Visualizando o Conteúdo de um Banco de Dados Derby.

Se você encontrar algum problema ao executar a amostra, consulte Diagnosticando Problemas.

1. Executando o Fluxo de Mensagens XML_Reservation

O fluxo de mensagens XML_Reservation reserva assentos no vôo listado na mensagem de entrada e gera mensagens de resposta para os passageiros para confirmar suas reservas.

Para executar o fluxo de mensagens XML_Reservation:

  1. No Message Brokers Toolkit, mude para a perspectiva Desenvolvimento de Aplicativo.
  2. Na visualização Navegador de Recursos, expanda o projeto Airline XML Message Flows e dê um clique duplo em reservation1.enqueue para abri-lo no editor Enqueue.
  3. No editor Enqueue, no campo Porta, digite 2414.
  4. Clique em Gravar na fila. A primeira mensagem é colocada na fila XML_RESERVATION_IN.
  5. Na barra de ferramentas do Message Brokers Toolkit, clique na seta no ícone Obter uma mensagem de uma Fila O ícone Desenfileirar e clique em Obter Mensagem... para abrir o diálogo Desenfileirar Mensagem.
  6. No diálogo Desenfileirar Mensagem, obtenha quatro mensagens de resposta da fila XML_RESERVATION_OUT no gerenciador de filas WBRK6_DEFAULT_QUEUE_MANAGER; o número da porta é 2414. Cada mensagem de resposta confirma a reserva de um passageiro e contém o nome completo do passageiro, a classe do assento reservado e o número exclusivo da reserva. O exemplo a seguir mostra o formato de uma mensagem de resposta:
    <PassengerReservationResponse>
    <ListOfConfirmations>
    <Confirmation>
    <FirstName>Mary</FirstName>
    <LastName>Smith</LastName>
    <Class>F</Class>
    <ReservationNumber>CA937200305251</ReservationNumber>
    </Confirmation>
    </ListOfConfirmations>
    </PassengerReservationResponse>
  7. Verifique a tabela XMLFLIGHTTB no banco de dados RESERVDB. Em todas as linhas, o valor em RESERVATIONSEQNO foi aumentado em quatro. Na linha para o vôo CA937 em 25 de maio de 2003, o fluxo de mensagens XML_Reservation fez as seguintes alterações:
  8. Verifique a tabela XMLPASSENGERTB no banco de dados RESERVDB. O fluxo de mensagens XML_Reservation fez as seguintes alterações:
  9. Abra reservation2.enqueue no editor Enqueue e, em seguida, clique em Gravar na fila. A segunda mensagem de entrada é colocada na fila XML_RESERVATION_IN.
  10. Utilize o diálogo Desenfileirar Mensagem para obter uma mensagem de resposta da fila XML_RESERVATION_OUT.
    A mensagem de resposta confirma a segunda reserva de Mary Smith e contém seu nome completo, a classe de assento que ela reservou e seu número de reserva exclusivo. A estrutura da mensagem de resposta é a mesma das respostas para a primeira mensagem de entrada.
  11. Verifique a tabela XMLFLIGHTTB no banco de dados RESERVDB. Em todas as linhas, o valor de RESERVATIONSEQNO foi aumentado em um. Na linha para o vôo BA039, em 25 de maio de 2003, o fluxo de mensagens XML_Reservation efetuou as seguintes alterações:
  12. Verifique a tabela XMLPASSENGERTB no banco de dados RESERVDB. O fluxo de mensagens XML_RESERVATION executou as seguintes alterações:

2. Executando o Fluxo de Mensagens XML_PassengerQuery

O fluxo de mensagens XML_PassengerQuery recupera os detalhes da reserva do passageiro especificado na mensagem de entrada. O tipo de informações da mensagem de saída depende das informações especificadas na mensagem de entrada.

Para executar o fluxo de mensagens XML_PassengerQuery:

  1. Abra passengerquery1.enqueue no editor Enqueue.
  2. No campo Porta, digite 2414 e, em seguida, clique em Gravar na FilaA primeira mensagem de entrada é colocada na fila XML_PASSENGERQUERY_IN.
  3. Utilize o diálogo Desenfileirar Mensagem para obter uma mensagem de saída da fila XML_PASSENGERQUERY_OUT. A mensagem de saída contém o nome e os detalhes da reserva de Debra Weiss, à quem foi alocado o número de reserva especificado na mensagem de entrada. O exemplo a seguir mostra o formato de uma mensagem de saída:
    <PassengerInfoResponse>
       <PassengerInfo>
          <ReservationNumber>CA937200305253</ReservationNumber>
          <FirstName>Debra</FirstName>
          <LastName>Weiss</LastName>
          <FlightNumber>CA937</FlightNumber>
          <Date>20030525</Date>
          <Class>Y</Class>
       </PassengerInfo>
    <PassengerInfoResponse>
  4. Abra passengerquery2.enqueue no editor Enqueue.
  5. No campo Porta, digite 2414 e, em seguida, clique em Gravar na FilaA segunda mensagem de entrada é colocada na fila XML_PASSENGERQUERY_IN.
  6. Utilize o diálogo Desenfileirar Mensagem para obter uma mensagem de saída da fila XML_PASSENGERQUERY_OUT. A mensagem de saída contém o nome e os detalhes de reserva de ambas as reservas feitas por Mary Smith, a passageira especificada na mensagem de entrada. O exemplo a seguir mostra o formato de uma mensagem de saída:
    <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. Verifique o banco de dados RESERVDB para ver se o fluxo de mensagens XML_PassengerQuery não modificou nenhum dos dados.

3. Executando o Fluxo de Mensagens XML_FlightQuery

O fluxo de mensagens XML_FlightQuery é construído a partir de três pequenos fluxos de mensagens. Todos os três fluxos de mensagens devem ser implementados no intermediário e iniciados para que XML_FlightQuery funcione:

O fluxo de mensagens XML_FlightQuery recupera informações sobre o vôo especificado na mensagem de entrada e uma lista dos passageiros que fizeram reservas nesse vôo.

Para executar o fluxo de mensagens XML_FlightQuery:

  1. Abra flightdetailsquery.enqueue no editor Enqueue.
  2. No campo Porta, digite 2414 e, em seguida, clique em Gravar na FilaA mensagem de entrada é colocada na fila XML_FLIGHTQUERY_IN.
  3. Utilize o diálogo Desenfileirar Mensagem para obter uma mensagem de resposta da fila XML_FLIGHTQUERY_OUT. A mensagem de resposta contém detalhes sobre quantos assentos existem na Primeira Classe e na Classe Econômica, o custo dos assentos e quantos assentos estão disponíveis. O exemplo a seguir mostra o formato da mensagem de resposta:
    <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. Verifique o banco de dados RESERVDB para ver se o fluxo de mensagens XML_PassengerQuery não modificou nenhum dos dados.

4. Executando o Fluxo de Mensagens XML_CancelReservation

O fluxo de mensagens XML_CancelReservation cancela as reservas que estão listadas, pelos seus números de reserva, na mensagem de entrada.

Para executar o fluxo de mensagens XML_CancelReservation:

  1. Abra cancelreservation.enqueue no editor Enqueue.
  2. No campo Porta, digite 2414.
  3. Verifique o banco de dados do usuário RESERVDB para assegurar-se de que os números das reservas em cancelreservation.enqueue existam na tabela XMLPASSENGERTB. Se os números de reserva não existirem em cancelreservation.enqueue, edite o campo Dados da mensagem:
  4. Clique em Gravar na fila. A mensagem de entrada é colocada na fila XML_CANCELRESERVATION_IN.
  5. Utilize o diálogo Desenfileirar Mensagem para obter uma mensagem de saída da fila XML_CANCELRESERVATION_OUT. A mensagem de saída é apenas uma cópia da mensagem de entrada.
  6. Verifique a tabela XMLFLIGHTTB no banco de dados RESERVDB. Na linha para o vôo CA937 em 25 de maio de 2003, o fluxo de mensagens XML_CancelReservation fez as seguintes alterações:
  7. Verifique a tabela XMLPASSENGERTB no banco de dados RESERVDB. O fluxo de mensagens XML_RESERVATION executou as seguintes alterações:

Ícone Página Principal   Voltar para Home da Amostra