FeaturesPluginsDocs & SupportCommunityPartners

Desenvolvendo um processo BPEL síncrono simples

Este tutorial fornece uma visão geral do projeto de amostra, SynchronousSample e mostra o deployment, execução e teste de um processo BPEL síncrono por meio do NetBeans IDE 6.0 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 aplicação composta chamado SynchronousSampleApplication. O projeto inclui os arquivos WSDL e de esquema XML, um descritor de deployment e os arquivos de entrada para teste. A interface do serviço Web desse processo é uma única operação síncrona.

Duração esperada: 30 minutos

Requisitos do tutorial

Antes de prosseguir, revise os requisitos nesta seção.

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 IDE 6.0.

Software necessário para o tutorial

Antes de começar, você precisa instalar o software seguinte em seu computador: NetBeans IDE 6.0 com SOA e o servidor da aplicação GlassFish, incluído no download "Todos" disponível no Download do NetBeans IDE 6.0.

início

Configurando e iniciando o servidor da aplicação GlassFish

Quando o download completo do NetBeans 6.0 é instalado, ele inclui o servidor da aplicação GlassFish. O NetBeans IDE iniciará automaticamente o servidor da aplicação quando necessário.

Para iniciar o servidor da aplicação GlassFish:

  1. Se a janela Serviços não estiver visível, escolha Janela > Serviços.
  2. Na janela Serviços, expanda o nó Servidores.
    O nó Servidores deve conter um subnó do servidor da aplicação GlassFish. Se o nó do servidor da aplicação GlassFish não aparecer, vá para Para configurar o servidor da aplicação GlassFish.

 

  1. Clique com o botão direito do mouse no nó do servidor da aplicação GlassFish e selecione Iniciar.
    A janela de saída exibe informações de log sobre a inicialização da aplicação. Se a janela de saída não estiver visível, escolha Janela > Saída > Saída.

    Quando a mensagem Inicialização do servidor da aplicação concluída aparecer na janela Saída, o servidor da aplicação estará em execução.
    Observação: se um emblema com uma seta verde aparecer no nó do servidor da aplicação GlassFish, o servidor estará sendo executado.

Observação: a implantação de uma aplicação no servidor da aplicação GlassFish iniciará automaticamente o servidor. Assim, não é necessário iniciar manualmente o servidor da aplicação.

Observação: o procedimento seguinte mostra como configurar o IDE para usar uma versão alternativa do servidor da aplicação GlassFish V2.

Para configurar o servidor da aplicação GlassFish V2:

Você pode querer usar uma versão diferente do servidor da aplicação da fornecida com o NetBeans 6.0. Por exemplo, pode querer baixar e instalar uma versão mais atual do servidor da aplicação GlassFish V2 do site da comunidade do GlassFish.

O seguinte procedimento mostra como configurar o NetBeans 6.0 IDE para usar uma versão alternativa do servidor da aplicação GlassFish V2. Ele supõe que você tenha baixado e instalado a versão alternativa do servidor da aplicação.

  1. Na janela Serviços, 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, selecione GlassFish V2 na lista.
  3. Clique em Próximo.
    A página Localização da pasta da plataforma é aberta.
  4. No campo Localização da plataforma, use o botão Procurar para navegar para o local de instalação do servidor da aplicação e selecionar esse local.

    Se você tiver instalado o servidor da aplicação GlassFish no local padrão, use a Tabela 1 como um guia para localizar a instalação. Caso contrário, navegue para a localização onde você instalou o servidor da aplicação GlassFish V2.

    Tabela 1: diretório padrão de instalação do servidor da aplicação

    Plataforma Instalando como... Instalação da SOA Instalação do conjunto de ferramentas
    Solaris OS
    Linux
    raiz /opt/glassfish-v2 /opt/SUNWappserver
    Solaris OS
    Linux
    usuário ~/glassfish-v2 ~/SUNWappserver
    Mac OS X N/D /Applications/NetBeans/glassfish-v2b58g /Applications/NetBeans/NetBeans 6.0
    Windows N/D C:\Sun\AppServer C:\Sun\AppServer
  5. Selecione o botão de opção Registrar o domínio local padrão e clique em Próximo.
  6. Indique o nome de usuário e a senha do administrador do domínio.
    Caso você tenha aceitado os valores padrão durante a instalação, o nome de usuário é admin e a senha é adminadmin.
  7. Clique em Terminar.

início

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> SOA.
  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 Terminar.
    A janela Projetos agora contém dois nós de projeto: um para um projeto BPEL chamado SynchronousSample, e um para um projeto de aplicação composta chamado SynchronousSampleApplication.

início

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 Web do processo.
    • SynchronousSample.xsd, o arquivo do esquema.

    Visualização do projeto SynchronousSample

  2. Clique duas vezes no nó SynchronousSample.bpel.
    Observe o seguinte:

    • O BPEL Designer contém uma aba para SynchronousSample.bpel.
    • O diagrama SynchronousSample é mostrado na visualização Design.
      A visualização Design é o designer visual dos processos comerciais. Nessa visualização, você pode modelar visualmente um processo comercial. O BPEL Designer gera automaticamente o código BPEL que corresponde ao design visual.
    • A Paleta da visualização de elementos BPEL se abre à direita.
    • A janela Navegador mostra a visualização lógica BPEL do processo BPEL.


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

início

Explorando o editor WSDL no editor de código-fonte

No editor WSDL, é possível criar e editar os arquivos Web Services Description Language (WSDL). O Editor WSDL inclui as visualizações Design, Código-fonte e Parceiro.

Para ver a visualização WSDL:

  1. Na janela Projetos, clique duas vezes no arquivo SynchronousSample.wsdl.
    Esse arquivo WSDL se abre na visualização WSDL.
  2. Na visualização WSDL, o arquivo WSDL aparece como um componente de árvore onde você pode configurar elementos e atributos do arquivo.

    SynchronousSample WSDL
    Clique para ampliar

Para ver a visualização Código-fonte:

  • Clique no botão Código-fonte.
    O código-fonte XML adjacente é exibido na visualização Código-fonte.

    Visualização Código-fonte do WSDL SynchronousSample
    Clique para aumentar

Para ver a visualização Parceiro:

  • Clique no botão Parceiro.
    Os elementos abstratos de um arquivo WSDL representado como as interações entre os parceiros aparece na visualização Parceiro.

    Visualização Código-fonte do WSDL SynchronousSample
    Clique para aumentar

início


Adicionando a atividade If à visualizaçã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 visualização Design.
  2. 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 visualização Design.

    Atividade If adicionada

  3. Na visualização Design, clique na atividade If1.
    A janela Mapeador BPEL é exibida 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 foram a barra de menus.

    Mapeador BPEL

  4. Na barra de menus, clique em Operador e selecione o método ==EQUAL Equal.
    O método == Equal aparece na parte do meio do Mapeador BPEL, que é chamada de painel de mapeamento.
  5. Na barra de menus, clique no método String e selecione Literal de string Literal de string na lista suspensa String.
    A caixa Literal de string aparece no painel de mapeamento do Mapeador.
  6. Digite Hello World no método de literal de string e pressione a tecla Enter.
  7. Mova a caixa da literal de string e a caixa == Equal para o meio do painel de mapeamento.

    Igual e Literal de string inseridos

  8. No painel da árvore de origem do Mapeador BPEL, em Variáveis, expanda inputVar > inputType.
    paramA aparece em inputType.
  9. Arraste paramA para a parte qualquer1 do método == Igual.
  10. Selecione o pequeno quadrado no lado direito da caixa da literal de string. 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.
  11. No método == Igual, arraste o booleano de retorno para o Resultado.

    Mapeamento

início


Adicionando a atividade Atribuir à visualização Design

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

    Atividade Atribuir adicionada

  2. Na seção Atividades básicas da Paleta, arraste a atividade Atribuir para a visualização Design e coloque-a à direita do elemento Atribuir existente.

    Segunda atividade Atribuir adicionada

  3. Selecione a nova atividade Atribuir2.
  4. Na barra de menus do Mapeador, clique no método String e selecione concat Concat na lista suspensa String.
    O método concat aparece no painel de mapeamento do Mapeador BPEL.
  5. Clique com o botão direito do mouse no primeiro campo na caixa concat e escolha Adicionar literal no menu pop-up.
  6. Digite Hello seguido por espaço na primeira string e pressione Enter.
  7. No painel da árvore de origem do Mapeador BPEL, expanda inputVar > inputType.
  8. Arraste paramA para a parte seqüência2 do método concat, o segundo campo.
  9. No painel da árvore de destino do Mapeador BPEL, expanda outputVar > resultType.
  10. Arraste a string de retorno do método concat para paramA em outputVar > resultType.
    Isso concatena a string Hello com a entrada e copia a declaração para a saída.

    String Hello concatenada

  11. Pressione Ctrl-S para salvar suas edições.

início


Implantando o projeto no servidor da aplicação

O deployment do projeto torna a composição de serviço disponível no servidor da aplicação, permitindo, portanto, que suas unidades de serviço sejam executadas.

Para implantar a aplicação composta:

  1. Se a janela Saída não estiver visível, escolha Janela > Saída.
  2. Clique com o botão direito do mouse no nó do projeto SynchronousSampleApplication e escolha Implantar projeto.
  3. Na caixa de diálogo Aviso, verifique se o servidor GlassFish V2 está selecionado e clique em OK.
    Observe que uma mensagem semelhante à seguinte é exibida na janela Saída:
    CONSTRUÇÃO BEM-SUCEDIDA.

    Janela Saída

início


Criando um driver de teste

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

  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, indique: MyTestCase 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 Terminar.
    Observe na árvore do projeto, em Teste, que a nova pasta MyTestCase é 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. O Input é copiado para Output quando Output está vazio.

início


Testando o SynchronousSampleApplication

  1. Na janela Projetos, navegue para o diretório SynchronousSampleApplication > Test > 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 essa mensagem na janela Resultados de teste JUnit:

    O teste passou

  3. Clique com o botão direito do mouse no nó MyTestCase e escolha Executar no menu pop-up.
    Trata-se de um caso especial onde o arquivo Output está vazio e a saída é gravada em Output.
    A caixa de diálogo Sobrescrever saída vazia se abre para que você possa confirmar que deseja sobregravar Output.xml.

    Sobrescrever saída vazia?

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

    MeuCasodeteste falhou

  5. 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

Veja também


início

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