Um simples processo BPEL síncrono
Última atualização: 14 de Novembro de 2006
Contribuição de Sherry Barkodar, mantido por Alyona Stashkova
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:
- Clique na guia Tempo de execução para abrir a janela Tempo de execução.
- Na janela Tempo de execução, expanda o nó Servidores.
- Se o nó Servidores já contiver um nó Servidor de aplicativos Sun Java System 9, vá para a etapa 5.
- 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:
- 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.
- Na página Escolher servidor, na lista suspensa Servidor, selecione Servidor de aplicativos Sun Java System.
- (Opcional) No campo Nome, aceite o valor padrão ou digite o nome que você deseja usar para identificar o servidor no IDE.
- Clique em Próximo.
A página Local da pasta da plataforma é aberta.
- 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.
- Selecione o botão de opção Registrar domínio local padrão.
- Clique em Próximo.
- 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.
- Clique em Finalizar.
- 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.
- 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.
superior
Abrindo o projeto SynchronousSample
- No menu principal do IDE, escolha Arquivo > Novo projeto.
O assistente para Novo projeto é aberto.
- Na lista Categorias, selecione Amostras > Service Oriented Architecture.
- Na lista Projetos, selecione Processo BPEL síncrono.
- Clique em Próximo.
- No campo Nome do projeto, digite SynchronousSample.
- (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.
- 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.
- 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
- 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.
- 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.

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:
- 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.
- Na exibição Design, o arquivo WSDL é exibido como um componente de árvore onde você pode configurar os elementos e o atributo do arquivo.

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.

Clique para aumentar
superior
Adicionando a atividade If à exibição Design
- 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.
- No Editor de fontes, clique na exibição Design.
- 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.
- 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.
- Na Paleta do método, clique no operador e selecione o método ==IGUAL
.
O método == Igual é exibido no meio do mapeador BPEL, que é o editor.
- Na Paleta do método, clique no método Seqüência e selecione Literal de seqüência
na lista suspensa Seqüência.
A caixa Literal de seqüência é exibida no Editor.
- Digite Hello World no método de literal de seqüência e pressione a tecla Enter.
- Mova a caixa da literal de seqüência e a caixa == Igual para o meio do editor.
- No lado esquerdo do mapeador BPEL, em Variáveis, expanda inputVar > inputType.
paramA é exibido em InputType.
- Arraste paramA para a parte qualquer1 do método == Igual.
- 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.
- No método == Igual, arraste o booleano de retorno para o Resultado.
superior
Adicionando a atividade Atribuir à exibição Design
- 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.
- 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.
- Selecione a nova atividade Atribuir2.
- Na Paleta do método do mapeador, clique no método Seqüência e selecione concat
na lista suspensa Seqüência.
O método concat é exibido no meio do editor.
- Clique duas vezes no primeiro campo na caixa concat e digite Hello seguido de espaço na primeira seqüência. Pressione a tecla Enter.
- No lado esquerdo do mapeador, expanda inputVar > inputType.
- Arraste paramA para a parte seqüência2 do método concat, o segundo campo.
- No lado direito do mapeador, expanda outputVar > resultType.
- 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.
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:
- 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.
- Selecione o projeto SynchronousSample e clique em Adicionar arquivos JAR do projeto.
A caixa de diálogo Selecionar projeto se fecha.
- 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:
- 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).
- 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:
- 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.
- Para nome, insira: MeuCasodeteste e clique em Próximo.
- Expanda SynchronousSample - Arquivos do processo, selecione SynchronousSample.wsdl e clique em Próximo
- 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.
- Clique duas vezes em Input e modifique seu conteúdo da seguinte forma:
- Localize a linha seguinte no conteúdo do corpo:
<syn:paramA>?string?<syn:paramA>.
- Substitua ?string? por Sherry.
A linha deve ficar da seguinte forma:
<syn:paramA>Sherry<syn:paramA> .
- Para salvar as suas alterações, no menu principal do IDE, escolha Arquivo > Salvar.
- 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
- 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.
- 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:
- 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.
- Clique em Sim.
- Observe a mensagem de falha:
- 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.
superior