
Desenvolvendo um aplicativo composto Hello World
Última atualização: 14 de Novembro de 2006
Neste tutorial, você cria um projeto do módulo BPEL simples chamado SynchronousSample e um projeto de aplicativo composto chamado SynchronousSampleApplication. Este tutorial ilustra como criar um arquivo do esquema XML simples, um arquivo WSDL simples e um arquivo BPEL. Você aprende como criar um processo BPEL e implantar. Você também aprende como criar e realizar uma execução de teste de um aplicativo composto. Trata-se de um processo BPEL simples que ecoa de volta a mensagem de entrada. O processo BPEL retorna o resultado para o cliente de forma síncrona. Um cliente inicia o processo BPEL chamando uma operação de solicitação-resposta. O cliente é bloqueado até que o processo termine e retorne o resultado. O projeto inclui os arquivos WSDL e de esquema XML, além dos arquivos de entrada para teste.
Este tutorial pretende ser o primeiro passo na construção de um aplicativo composto mais complexo.
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 Pasta do local 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.
Exibir demonstração
superior
Criando o projeto
Nesta seção, você cria um projeto do módulo BPEL chamado SynchronousSample.
Para criar o projeto SynchronousSample:
- No menu principal do IDE, escolha Arquivo > Novo projeto.
O assistente para Novo projeto é aberto.
- Na lista Categorias, selecione nó Service Oriented Architecture.
- Na lista Projetos, selecione nó Módulo BPEL.
- 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 um nó de um projeto do módulo BPEL chamado SynchronousSample.
Exibir demonstração
superior
Criando o esquema XML
Nesta seção, você adiciona um novo arquivo do esquema XML ao projeto do módulo BPEL e, em seguida, adiciona os componentes do esquema XML ao esquema.
Para criar o SynchronousSample.xsd:
- Na janela Projetos, expanda o nó do projeto SynchronousSample, clique com o botão direito do mouse no nó Arquivos do processo e escolha Novo > Arquivo/Pasta.
O assistente para Novo arquivo se abre.
- No assistente para Novo arquivo, adote o seguinte procedimento:
- Na página Escolher tipo de arquivo, na lista Categorias, selecione o nó XML, em seguida, na lista Tipos de arquivo, selecione Esquema XML e clique em Próximo.
- No campo Nome do arquivo, digite SynchronousSample.
- Clique em Finalizar.
Na janela Projetos, o nó Arquivos do processo agora contém um subnó chamado SynchronousSample.xsd. O Editor de fontes agora contém uma guia do arquivo do esquema XML, SynchronousSample.xsd, com a exibição Esquema aberta.
- Na exibição Esquema, clique no botão Design para abrir a exibição Design do editor do esquema XML.
Exibir demonstração
Para adicionar um tipo complexo ao esquema XML:
- Na Paleta da exibição Design, expanda a seção Componentes do esquema XML e selecione o ícone Tipo complexo.
Se a janela Paleta não estiver visível, escolha Janela > Paleta no menu principal.
- Arraste a sua seleção para a área de design do esquema, imediatamente abaixo do nó Tipos complexos.
O IDE adiciona um nó de tipo complexo e o nome do tipo complexo (newComplexType) é selecionado e fica pronto para ser alterado.
- Digite simpleProcess no novo nó e pressione Enter.
A área de design agora mostra seu novo tipo complexo, chamado simpleProcess.
Exibir demonstração
Para adicionar um componente local a simpleProcess:
- Na seção Componentes de XML da Paleta, selecione o ícone Elemento e arraste a sua seleção para o nó simpleProcess na área de design do esquema.
O IDE adiciona um nó de elemento chamado newElement.
- Se a janela Propriedades não estiver visível, escolha Janela > Propriedades.
- Na área de design do esquema, selecione o nó newElement.
- Na janela Propriedades, selecione o campo de valor da propriedade Nome para torná-lo editável e digite paramA.
- Na janela Propriedades, na propriedade Definição, clique no botão de reticências.
A caixa de diálogo Definição é aberta.
- Na lista, expanda o nó Tipos incorporados e selecione o nó seqüência.
- Clique em OK.
Exibir demonstração
Para adicionar um elemento global:
- Na seção Componentes de XML da Paleta, selecione o ícone Elemento e arraste a sua seleção para a área de design, imediatamente abaixo do nó Elementos.
O IDE adiciona um componente newElement abaixo dos nós Elementos na área de design do esquema.
- Na área de design do esquema da exibição do Design, selecione o nó do newElement.
- Na janela Propriedades, selecione o campo de valor da propriedade Nome para torná-lo editável e digite typeA.
- Na janela Propriedades, na propriedade Definição, clique no botão de reticências.
A caixa de diálogo Definição do elemento é aberta.
- Na lista de tipos, expanda o nó Tipos complexos e selecione o nó do tipo complexo simpleProcess.
- Clique em OK.
Na exibição Design, o IDE agora mostra o tipo complexo simpleProcess selecionado ao lado do nó do elemento typeA.
- Para salvar as suas alterações, na janela Projetos, selecione o nó do projeto SynchronousSample, e no menu principal do IDE, escolha Arquivo > Salvar todos.
Exibir demonstração
superior
Criando o documento WSDL
Nesta seção, você adiciona um arquivo WSDL ao seu projeto do módulo BPEL e, em seguida, configura os componentes do documento WSDL.
Para criar SynchronousSample.wsdl:
- Na janela Projetos, expanda o nó do projeto SynchronousSample, clique com o botão direito do mouse no nó Arquivos do processo e escolha Novo > Documento WSDL.
O assistente para Novo documento WSDL é aberto.
- Na página Nome e local, adote o seguinte procedimento:
- No campo Nome do arquivo, digite SynchronousSample.
- Marque a caixa de seleção Importar arquivo(s) do esquema XML.
- No campo Esquema(s) XML, clique no botão Explorar.
A caixa de diálogo Selecionar esquemas é aberta. Essa caixa de diálogo mostra os esquemas XML do seu projeto.
- Selecione src/SynchronousSample.xsd e clique em OK.
- Clique em Próximo.
A página Configuração abstrata é aberta.
- Na área Entrada da página Configuração abstrata, adote o seguinte procedimento:
- Na coluna Nome da parte da mensagem, clique duas vezes no valor padrão para tornar o campo editável.
- Digite inputType e pressione Enter.
- Na coluna Elemento ou Tipo, clique no botão de reticências.
A caixa de diálogo Selecionar elemento ou tipo é aberta.
- Expanda o nó SynchronousSample, o nó src/SynchronousSample.xsd e o nó Elementos.
- No nó Elementos, selecione o nó typeA e clique em OK.
- Na área Saída da página Configuração abstrata, adote o seguinte procedimento:
- Na coluna Nome da parte da mensagem, clique duas vezes no valor padrão para tornar o campo editável.
- Digite resultType e pressione Enter.
- Na coluna Elemento ou Tipo, clique no botão de reticências.
A caixa de diálogo Selecionar elemento ou tipo é aberta.
- Expanda o nó SynchronousSample, o nó src/SynchronousSample.xsd e o nó Elementos.
- No nó Elementos, selecione typeA e clique em OK.
- Clique em Próximo.
A página Configuração concreta é aberta. Observação: Quando você realizar a próxima etapa, a mensagem de erro na parte inferior da página desaparecerá.
- Em Subtipo de vinculação, selecione o botão de opção Literal de documento.
- Clique em Finalizar.
Na janela Projetos, o nó Arquivos do processo agora contém um subnó chamado SynchronousSample.wsdl.. O Editor de fontes agora contém uma guia do arquivo do esquema XML, SynchronousSample.wsdl, com a exibição WSDL aberta.
Exibir demonstração
superior
Criando o processo BPEL
Para criar SynchronousSample.bpel:
- Na janela Projetos, clique com o botão direito do mouse no nó Arquivos do processo e escolha Novo > Processo BPEL.
O assistente para Novo processo BPEL é aberto.
- No campo Nome do arquivo, digite SynchronousSample.
- Clique em Finalizar.
Na janela Projetos, o nó Arquivos do processo agora contém um subnó chamado SynchronousSample.bpel. O Editor de fontes contém uma guia do processo BPEL, SynchronousSample.bpel, com a exibição Design do BPEL Designer aberta.
Exibir demonstração
Para adicionar um link de parceiro:
- Na janela Projetos, expanda o nó do projeto SynchronousSample, expanda o nó Arquivos do processo e selecione o nó SynchronousSample.wsdl.
- Arraste a sua seleção (SynchronousSample.wsdl) da janela Projetos para a exibição Design.
O Editor de propriedades do Partnerlink1 [Link de parceiro] é aberto.
- Aceite os padrões e clique em OK.
Exibir demonstração
Para adicionar uma atividade Receber:
- Na seção Serviço da Web da Paleta, selecione o ícone Receber e arraste a sua seleção para a área de design entre as atividades Iniciar e Vazio do processo.
O IDE lhe oferece pistas visuais para mostrar onde você pode soltar a seleção. Esta ação coloca uma atividade Receber chamada Receber1 na exibição Design.
- Clique duas vezes na atividade Receber1.
O Editor de propriedades de Receber1 [Receber] é aberto.
- Altere o valor no campo Nome para início.
- Na lista suspensa Link de parceiro, selecione PartnerLink1.
O IDE preenche o campo Operação.
- Crie uma nova variável de entrada adotando o seguinte procedimento:
- Clique no botão Criar ao lado do campo Variável de entrada.
A caixa de diálogo Nova variável de entrada é aberta.
- Altere o valor no campo Nome para inputVar.
- Clique em OK.
- Clique em OK para fechar o Editor de propriedades de Receber1 [Receber].
A atividade Receber agora se chama início na exibição Design.
Exibir demonstração
Para adicionar uma atividade Responder:
- Na seção Serviço da Web da Paleta, selecione o ícone Responder e arraste a sua seleção para a área de design entre as atividades Vazio e Fim do processo.
O IDE lhe oferece pistas visuais para mostrar onde você pode soltar a seleção. Esta ação coloca uma atividade Responder chamada Responder1 na exibição Design.
- Clique duas vezes na atividade Responder1.
O Editor de propriedades de Responder1 [Responder] é aberto.
- Altere o valor no campo Nome para fim.
- Na lista suspensa Link de parceiro, selecione PartnerLink1.
O IDE preenche o campo Operação.
- Crie uma nova variável de saída adotando o seguinte procedimento:
- Verifique se o botão de opção Resposta normal está selecionado.
- Clique no botão Criar ao lado do campo Variável de saída.
A caixa de diálogo Nova variável de saída é aberta.
- Altere o valor no campo Nome para outputVar.
- Clique em OK.
- Clique em OK para fechar o Editor de propriedades de Responder1 [Responder].
A atividade Responder agora se chama fim na exibição Design.
Exibir demonstração
Para adicionar uma atividade Atribuir:
- Na área de design, selecione a atividade Vazio, clique com o botão direito do mouse e escolha Excluir no menu pop-up.
- Na seção Atividades básicas da Paleta, selecione o ícone Atribuir e arraste a sua seleção para a área de design entre as atividades início e fim.
Esta ação coloca uma atividade Atribuir chamada Atribuir1 na exibição Design.
- Selecione a nova atividade Atribuir1.
- Se a janela Mapeador BPEL não estiver visível, escolha Janela > Mapeador BPEL no menu principal.
- No lado esquerdo do mapeador BPEL, em Variáveis, expanda os nós inputVar e inputType.
paramA é exibido em inputType.
- No lado direito do mapeador BPEL, em Variáveis, expanda os nós outputVar e resultType.
paramA é exibido em resultType.
- Arraste paramA do painel esquerdo do mapeador BPEL para o nó paramA no painel direito do mapeador BPEL.
Esta atribuição copia a declaração de entrada para a saída.
- Para salvar as suas alterações, na janela Projetos, selecione o nó do projeto SynchronousSample, e no menu principal do IDE, escolha Arquivo > Salvar todos.
Exibir demonstração
superior
Criando e implantando o aplicativo composto
Antes de implantar o projeto do módulo 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 criar o projeto de aplicativo composto e o módulo JBI:
- No menu principal do IDE, escolha Arquivo > Novo projeto.
O assistente para Novo projeto é aberto.
- Na lista Categorias, selecione nó Service Oriented Architecture.
- Na lista Projetos, selecione o nó Aplicativo composto.
- Clique em Próximo.
- No campo Nome do projeto, digite SynchronousSampleApplication.
- Clique em Finalizar.
A janela Projetos agora contém um nó do projeto de aplicativo composto chamado SynchronousSampleApplication.
- 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 que você criou anteriormente neste tutorial 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.
Exibir demonstração
Para implantar o aplicativo composto:
- Clique com o botão direito do mouse no nó do projeto SynchronousSampleApplication e escolha Implantar projeto.
Se uma mensagem semelhante à mensagem seguinte for exibida na janela Saída, então a implantação foi bem sucedida: CONSTRUÇÃO BEM SUCEDIDA(tempo total: 11 segundos)
Exibir demonstração
superior
Testando o SynchronousSampleApplication
Você pode aprimorar o projeto do aplicativo composto, adicionando casos de teste, vinculando à operação, fornecendo saída e usando o testador.
Para testar o SynchronousSampleApplication:
- 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.
- Aceite o nome do caso de teste padrão, TestCase1 e clique em Próximo.
- Na página Selecionar o documento WSDL, expanda o nó SynchronousSample - Arquivos do processo, selecione SynchronousSample.wsdl e clique em Próximo.
- Na página Selecionar a operação a ser testada, selecione SynchronousSampleOperation e clique em Finalizar.
Na janela Projetos, em Teste, um novo nó TestCase1 foi adicionado. Este nó contém dois subnós: Input e Output. O Editor de fontes contém uma guia do arquivo de entrada, Input.xml.
- Se o Editor de fontes não contiver uma guia de Input.xml, clique duas vezes no nó Entrada na janela Projetos para abrir o arquivo.
- Na guia do Editor de fontes do arquivo Input.xml, adote o seguinte procedimento:
- Localize a seguinte linha:
<syn:paramA>?string?<syn:paramA>.
- Substitua ?string? por Hello World.
A linha deve ficar da seguinte forma: <syn:paramA>Hello World<syn:paramA>.
- No menu principal do IDE, escolha Arquivo > Salvar todos.
- Clique duas vezes em Output para examinar seu conteúdo.
Inicialmente, o arquivo output.xml está vazio. Portanto, a primeira execução do teste preencherá output.xml com a saída real. As execuções de teste subseqüentes compararão a saída real com o conteúdo de output.xml.
- Na janela Projetos, clique com o botão direito do mouse no nó TestCase1 e escolha Executar projeto no menu pop-up.
Observação: A primeira execução é um caso especial porque Output.xml está vazio e a saída é gravada em Output. Observe a mensagem de falha na janela Resultados do teste JUnit. A caixa de diálogo Sobrescrever saída vazia? é aberta.
- Clique em Sim.
- Na janela Projetos, clique com o botão direito do mouse no nó TestCase1 e escolha Executar projeto no menu pop-up.
Após a primeira execução, Output não está mais vazio. O conteúdo do arquivo é preservado e não é sobrescrito pelo novo resultado.
Exibir demonstração
superior
|
|