Executando a Amostra Airline Reservations

Você pode executar a amostra Airline Reservations 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 Airline Reservations 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.

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

Como você visualiza o conteúdo do banco de dados de amostra depende de qual produto de banco de dados está instalado. Para bancos de dados DB2, utilize as ferramentas fornecidas pelo DB2; por exemplo o DB2 Control Center.

Se você encontrar algum problema ao executar a amostra, consulte Resolvendo problemas ao executar amostras na documentação do WebSphere Message Broker.

Nota: Executar diversas mensagens de teste através do fluxo pode resultar em uma falha aparente. Essa falha aparente é causada por um limite passado, o que faz com que a mensagem passe pelo fluxo de forma diferente. Para resolver essa falha aparente, reverta o banco de dados para o conteúdo original.

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. Na visualização "Desenvolvimento do Intermediário", expanda o projeto Fluxos de Mensagens XML Aéreas, sob Testes do Fluxo com um clique duplo no arquivo reservation1.mbtest para abri-lo no Cliente de Teste.
  2. No Cliente de Teste, clique em Enfileirar.
  3. Clique em Enviar Mensagem. A primeira mensagem é colocada na fila XML_RESERVATION_IN.
  4. No Cliente de Teste, clique em Desenfileirar.
  5. Clique em Obter Mensagem para ler a primeira mensagem da fila, confirmando o registro de Mary Smith. A mensagem de resposta confirma a reserva de um passageiro e contém o nome completo do passageiro, a classe do assento que reservaram, e seu número de reserva exclusivo. 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>
  6. Repita a etapa anterior para obter cada uma das três mensagens restantes, confirmando os registros para Diane Rose, Debra Wiess e Atila Wiess, da fila XML_RESERVATION_OUT.
  7. Verifique a tabela XMLFLIGHTTB no banco de dados RESERVDB. Em todas as filas, o valor no campo RESERVATIONSEQNO aumentou 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.mbtest no Cliente de Teste, clique em Enfileirar.
  10. Clique em Enviar Mensagem para colocar a segunda mensagem de entrada na fila XML_RESERVATION_IN.
  11. No Cliente de Teste, clique em Desenfileirar.
  12. Clique em Obter Mensagem para obter uma mensagem de resposta a partir da fila XML_RESERVATION_OUT.
    A mensagem de resposta confirma a segunda reserva para Mary Smith, e contém seu nome completo, a classe do 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.
  13. Verifique a tabela XMLFLIGHTTB no banco de dados RESERVDB. Em todas as filas, o valor em RESERVATIONSEQNO aumentou 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:
  14. Verifique a tabela XMLPASSENGERTB no banco de dados RESERVDB. O fluxo de mensagens XML_RESERVATION executou as seguintes alterações:

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 na mensagem de saída depende das informações fornecidas na mensagem de entrada.

Para executar o fluxo de mensagens XML_PassengerQuery:

  1. Abra passengerquery1.mbtest no Cliente de Teste, clique em Enfileirar.
  2. Clique em Enviar Mensagem. A primeira mensagem de entrada é colocada na fila XML_PASSENGERQUERY_IN.
  3. No Cliente de Teste, clique em Desenfileirar.
  4. Clique em Obter 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, que alocou 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>
  5. Abra passengerquery2.mbtest no Cliente de Teste, clique em Enfileirar.
  6. Clique em Enviar Mensagem para colocar a segunda mensagem de entrada na fila XML_PASSENGERQUERY_IN.
  7. No Cliente de Teste, clique em Desenfileirar.
  8. Clique em Obter 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>
  9. Verifique o banco de dados RESERVDB para ver se o fluxo de mensagens XML_PassengerQuery não modificou nenhum dos dados.

Executando os fluxos 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 que estão especificadas na mensagem de entrada, e uma lista de passageiros que fizeram reservas naquele vôo.

Para executar o fluxo de mensagens XML_FlightQuery:

  1. Abra flightdetailsquery.mbtest no Cliente de Teste, clique em Enfileirar.
  2. Clique em Enviar Mensagem para colocar a mensagem de entrada na fila XML_FLIGHTQUERY_IN.
  3. No Cliente de Teste, clique em Desenfileirar.
  4. Clique em Obter Mensagem para obter uma mensagem de saída da fila XML_FLIGHTQUERY_OUT. A mensagem de resposta contém os detalhes de quantos assentos há 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>48</Capacity>
    <Used>2</Used>
    <Price>300</Price>
    </FirstClass>
    <EconomyClass>
    <Capacity>198</Capacity>
    <Used>2</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>
  5. Verifique o banco de dados RESERVDB para ver se o fluxo de mensagens XML_FlightQuery não modificou nenhum dos dados.

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.mbtest no Cliente de Teste, clique em Enfileirar.
  2. Verifique o banco de dados do usuário RESERVDB para assegurar-se de que os números de reserva em cancelreservation.mbtest existem na tabela XMLPASSENGERTB. Caso os números de reserva não existam em cancelreservation.mbtest, edite o campo Dados da mensagem.
  3. Clique em Enviar Mensagem. A mensagem de entrada é colocada na fila XML_CANCELRESERVATION_IN.
  4. No Cliente de Teste, clique em Desenfileirar.
  5. Clique em Obter Mensagem para obter uma mensagem de saída da fila XML_CANCELRESERVATION_OUT. A mensagem de saída é 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_CancelReservation fez as seguintes alterações:

Voltar para o Início da Amostra