FeaturesPluginsDocs & SupportCommunityPartners

Um simples processo BPEL síncrono

Este tutorial fornece uma visão geral do projeto de amostra, SynchronousSample, e ilustra a implantação, execução e teste de um processo BPEL síncrono por meio do pacote NetBeans Enterprise Pack 5.5 com todos os tempos de execução necessários.
O processo BPEL síncrono representa um fluxo síncrono simples. O processo obtém uma mensagem de entrada e envia essa mensagem de volta de forma síncrona.
Um cliente inicia o processo síncrono chamando uma operação de solicitação-resposta. Depois de chamar um processo síncrono, o cliente é bloqueado até que o processo seja finalizado e retorne o resultado.
Neste tutorial, você usará um projeto BPEL simples chamado SynchronousSample e um projeto de aplicativo composto chamado SynchronousSampleApplication. O projeto inclui os arquivos WSDL e de esquema XML, um descritor de implantação e os arquivos de entrada para teste. A interface do serviço da Web desse processo é uma única operação síncrona.

Pré-requisitos

Este tutorial presume que você possui algum conhecimento básico ou experiência de programação na linguagem e na plataforma Java e no NetBeans IDE.

Requisitos do sistema

Este tutorial presume que o seu sistema atende aos requisitos especificados no tópico Requisitos do sistema das Notas de versão do NetBeans Enterprise Pack 5.5.

Software necessário para o tutorial

Antes de começar, você deve instalar o seguinte software em seu computador:

  • NetBeans IDE 5.5 com NetBeans Enterprise Pack 5.5 (download)
  • Para poder completar as etapas de implantação deste tutorial, você deve ter o Sun Java System Application Server Platform Edition 9 atualização 1. Esse servidor de aplicativos é oferecido com o download do NetBeans Enterprise Pack 5.5.

Conteúdo

superior


Configurando o ambiente do tutorial

Antes de implantar o seu aplicativo, o servidor de aplicativos Sun Java System e o tempo de execução JBI devem estar configurados corretamente e em execução.

Para configurar o ambiente do tutorial:

  1. Clique na guia Tempo de execução para abrir a janela Tempo de execução.
  2. Na janela Tempo de execução, expanda o nó Servidores.
  3. Se o nó Servidores já contiver um nó Servidor de aplicativos Sun Java System 9, vá para a etapa 5.
  4. Se o nó Servidores não contiver um nó Servidor de aplicativos Sun Java System 9, faça o seguinte para adicionar um servidor de aplicativos:
    1. Clique com o botão direito do mouse no nó Servidores e escolha Adicionar servidor no menu pop-up.
      A caixa de diálogo Adicionar instância do servidor é aberta.
    2. Na página Escolher servidor, na lista suspensa Servidor, selecione Servidor de aplicativos Sun Java System.
    3. (Opcional) No campo Nome, aceite o valor padrão ou digite o nome que você deseja usar para identificar o servidor no IDE.
    4. Clique em Próximo.
      A página Local da pasta da plataforma é aberta.
    5. No campo Local da plataforma, use o botão Explorar para navegar e selecionar o local de instalação do servidor de aplicativos.
      Caso você tenha aceito os valores padrão durante a instalação, o local é C:\Sun\Appserver.
    6. Selecione o botão de opção Registrar domínio local padrão.
    7. Clique em Próximo.
    8. Forneça o nome de usuário e a senha do administrador do domínio.
      Caso você tenha aceito os valores padrão durante a instalação, o nome de usuário é admin e a senha é adminadmin.
    9. Clique em Finalizar.
  5. Na janela Tempo de execução, clique com o botão direito do mouse no nó Servidor de aplicativos Sun Java System 9 e escolha Iniciar.
    Se a opção Iniciar não estiver disponível, o servidor já está em execução e você pode ignorar a próxima etapa.
  6. Espere até que a mensagem seguinte apareça na janela Saída:
    Inicialização do servidor de aplicativos concluída.
    Quando o servidor está em execução, o IDE exibe um símbolo de seta verde no nó Servidor de aplicativos Sun Java System 9.

Servidor de aplicativos iniciado

superior

Abrindo o projeto SynchronousSample

  1. No menu principal do IDE, escolha Arquivo > Novo projeto.
    O assistente para Novo projeto é aberto.
  2. Na lista Categorias, selecione Amostras > Service Oriented Architecture.
  3. Na lista Projetos, selecione Processo BPEL síncrono.

    Projeto do módulo BPEL de amostra selecionado

  4. Clique em Próximo.
  5. No campo Nome do projeto, digite SynchronousSample.

    Digitando o nome do projeto

  6. (Opcional) No campo Local do projeto, use o botão Explorar para navegar e selecionar uma pasta diferente, onde o IDE armazenará os arquivos do projeto.
  7. Clique em Finalizar.
    A janela Projetos agora contém dois nós de projeto: um para o projeto BPEL chamado SynchronousSample, e um para o projeto de aplicativo composto chamado SynchronousSampleApplication.
  8. Há uma referência quebrada no nó SynchronousSampleApplication. Este é um comportamento normal. O aplicativo composto tem uma dependência no módulo JBI.
    Você pode resolver a referência quebrada mais tarde na seção Implantando o projeto no servidor de aplicativos.

superior

Explorando o projeto BPEL na janela Projetos

  1. Na janela Projetos, expanda o nó SynchronousSample e expanda o nó Arquivos do processo.
    O nó Arquivos do processo contém estes itens:
    • SynchronousSample.bpel, o processo BPEL
    • SynchronousSample.wsdl, a interface do serviço da Web do processo.
    • SynchronousSample.xsd, o arquivo do esquema.

    Exibição do projeto SynchronousSample

  2. Clique duas vezes no nó SynchronousSample.bpel.
    Observe o seguinte:
    • O Editor de fontes contém uma guia para SynchronousSample.bpel.
    • O diagrama SynchronousSample é mostrado na exibição Design.
      A exibição Design é o designer visual dos processos comerciais. Nessa exibição, você pode modelar visualmente um processo comercial. A ferramenta BPEL Design gera automaticamente o código BPEL que corresponde ao design visual.
    • A Paleta de elementos BPEL é aberta à direita do Editor de fontes.
    • A janela Navegador mostra a exibição lógica BPEL do processo BPEL.

    Exibição Design do BPEL de SynchronousSample
    Clique para aumentar

superior

Explorando o editor WSDL no editor de fontes

O Editor WSDL permite criar e editar os arquivos WSDL (linguagem de descrição de serviços da Web). O Editor WSDL inclui uma exibição Design e uma exibição Fonte.

Para ver a exibição Design:

  1. Na janela Projetos, clique duas vezes no arquivo SynchronousSample.wsdl.
    O Editor de fontes contém agora uma guia para o arquivo SynchronousSample.wsdl.
    Este arquivo WSDL está aberto na exibição Design.
  2. Na exibição Design, o arquivo WSDL é exibido como um componente de árvore onde você pode configurar os elementos e o atributo do arquivo.

    WSDL SynchronousSample
    Clique para aumentar

Para ver a exibição Fonte:

Clique no botão Fonte.
O código-fonte XML adjacente é exibido na exibição Fonte.

Exibição Fonte do WSDL SynchronousSample
Clique para aumentar

superior


Adicionando a atividade If à exibição Design

  1. Na janela Projetos, expanda o nó SynchronousSample, o nó Arquivos do processo e clique duas vezes no nó SynchronousSample.bpel.
    O IDE exibe o diagrama SynchronousSample.bpel na exibição Design.
  2. No Editor de fontes, clique na exibição Design.
  3. Na seção Atividades estruturadas da Paleta, selecione o ícone If e arraste a sua seleção para a área de design entre as atividades Iniciar e Atribuir.
    O IDE lhe oferece pistas visuais para mostrar onde você pode soltar a seleção.
    Esta ação coloca uma atividade If chamada If1 na exibição Design.

    Atividade If adicionada

  4. Na exibição Design, clique na atividade If1.
    O mapeador BPEL é exibido na parte inferior do IDE.
    Se o mapeador BPEL não estiver visível, escolha Janela > Mapeador BPEL.
    Use o mapeador BPEL para definir a condição Booleano.
    Observe que as seções na parte superior do mapeador BPEL compõem a Paleta do método.

    Mapeador BPEL

  5. Na Paleta do método, clique no operador e selecione o método ==IGUAL Igual.
    O método == Igual é exibido no meio do mapeador BPEL, que é o editor.
  6. Na Paleta do método, clique no método Seqüência e selecione Literal de seqüência Literal de seqüência na lista suspensa Seqüência.
    A caixa Literal de seqüência é exibida no Editor.
  7. Digite Hello World no método de literal de seqüência e pressione a tecla Enter.
  8. Mova a caixa da literal de seqüência e a caixa == Igual para o meio do editor.

    Igual e Literal de seqüência inseridos

  9. No lado esquerdo do mapeador BPEL, em Variáveis, expanda inputVar > inputType.
    paramA é exibido em InputType.
  10. Arraste paramA para a parte qualquer1 do método == Igual.
  11. Selecione o pequeno quadrado no lado direito da caixa da literal de seqüência. Quando o cursor em forma de mão estiver visível, arraste uma linha de conexão para a parte qualquer2 do método == Igual.
  12. No método == Igual, arraste o booleano de retorno para o Resultado.

    Mapeamento

superior


Adicionando a atividade Atribuir à exibição Design

  1. Na exibição Design, arraste a atividade Atribuir1 existente para a atividade If1. Coloque essa atividade Atribuir entre os dois ícones X grandes na área da atividade If1.

    Atividade Atribuir adicionada

  2. Abra a seção Atividades básicas da Paleta e arraste uma atividade Atribuir para a área de design, coloque essa segunda atividade Atribuir à direita da Atribuir existente.

    Segunda atividade Atribuir adicionada

  3. Selecione a nova atividade Atribuir2.
  4. Na Paleta do método do mapeador, clique no método Seqüência e selecione concat Concat na lista suspensa Seqüência.
    O método concat é exibido no meio do editor.
  5. Clique duas vezes no primeiro campo na caixa concat e digite Hello seguido de espaço na primeira seqüência. Pressione a tecla Enter.
  6. No lado esquerdo do mapeador, expanda inputVar > inputType.
  7. Arraste paramA para a parte seqüência2 do método concat, o segundo campo.
  8. No lado direito do mapeador, expanda outputVar > resultType.
  9. Arraste a seqüência de retorno do método concat para paramA em outputVar > resultType.
    Isso concatena a seqüência Hello com a entrada e copia a declaração para a saída.

    Seqüência Hello concatenada

superior


Implantando o projeto no servidor de aplicativos

Antes de implantar o projeto BPEL, você deve adicionar o módulo JBI ao projeto de implantação. A implantação do projeto torna a composição de serviço disponível no servidor de aplicativos, permitindo, portanto, que suas unidades de serviço sejam executadas.

Para adicionar o módulo JBI:

  1. Na janela Projetos, clique com o botão direito do mouse no nó do projeto SynchronousSampleApplication e escolha Adicionar módulo JBI no menu pop-up.
    A caixa de diálogo Selecionar projeto é aberta.
  2. Selecione o projeto SynchronousSample e clique em Adicionar arquivos JAR do projeto.

    Adicionando módulo JBI


    A caixa de diálogo Selecionar projeto se fecha.
  3. Na janela Projetos, expanda o nó SynchronousSampleApplication e expanda o nó Módulos JBI.
    Observe que um nó SynchronousSample.jar foi adicionado.

Para implantar o aplicativo composto:

  1. Clique com o botão direito do mouse no nó do projeto SynchronousSampleApplication e escolha Implantar projeto.
    Observe que uma mensagem semelhante à seguinte é exibida na janela Saída:
    CONSTRUÇÃO BEM SUCEDIDA(tempo total: 7 segundos).

    Janela Saída

  1. Se a janela Saída não estiver visível, escolha Janela > Saída.

superior


Criando um driver de teste

Você pode aprimorar o projeto do aplicativo composto, adicionando casos de teste, vinculando à operação, fornecendo saída e usando o testador.

Para adicionar um caso de teste:

  1. Na janela Projetos, expanda o nó do projeto SynchronousSampleApplication, clique com o botão direito do mouse no nó Teste e escolha Novo caso de teste no menu pop-up.
    O assistente para Novo caso de teste é aberto.
  2. Para nome, insira: MeuCasodeteste e clique em Próximo.
  3. Expanda SynchronousSample - Arquivos do processo, selecione SynchronousSample.wsdl e clique em Próximo
  4. Selecione operação1 e clique em Finalizar.
    Observe na árvore do projeto que, em Teste, a nova pasta MeuCasodeteste é criada, contendo dois arquivos: Input e Output.

    MeuCasodeteste

  5. Clique duas vezes em Input e modifique seu conteúdo da seguinte forma:
    1. Localize a linha seguinte no conteúdo do corpo:
      <syn:paramA>?string?<syn:paramA>.
    2. Substitua ?string? por Sherry.
      A linha deve ficar da seguinte forma:
      <syn:paramA>Sherry<syn:paramA> .
    3. Para salvar as suas alterações, no menu principal do IDE, escolha Arquivo > Salvar.
  6. Clique duas vezes em Output.xml para examinar seu conteúdo.
    Observe que antes da execução do teste esse arquivo está vazio.
    Cada vez que o teste é executado, a saída atual é comparada com o conteúdo de Output. Input é copiado para Output quando Output está vazio.

superior


Testando o SynchronousSampleApplication

  1. Na janela Projetos, expanda o SynchronousSampleApplication > Teste > TestCase0.
    O nó TestCase0 contém dois arquivos XML: Input para entrada e Output para saída.
    Cada vez que o teste é executado, a saída atual é comparada com o conteúdo de Output.
  2. Clique com o botão direito do mouse no nó do projeto TestCase0 e escolha Executar projeto no menu de contexto.
    Observe esta mensagem na janela Saída:

    O teste passou

  3. Clique com o botão direito do mouse no nó MeuCasodeteste, e escolha Executar no menu de contexto.
    Trata-se de um caso especial em que o arquivo Output está vazio e a saída é gravada no Output.
    A caixa de diálogo Sobrescrever saída vazia? é exibida.

    Sobrescrever saída vazia?

  4. Clique em Sim.
  5. Observe a mensagem de falha:

    MeuCasodeteste falhou

  6. Repita a etapa 3.
    Depois da primeira execução, o arquivo Output.xml não está mais vazio; seu conteúdo é preservado e não é sobrescrito pelo novo resultado.

    MeuCasodeteste passou


superior

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by