corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Criando uma aplicação composta de processamento de empréstimos

Este tutorial fornece uma visão geral de uma aplicação composta de processamento de empréstimos simples e ilustra a implantação, execução e os testes de uma aplicação composta.

Caso de uso comercial

A aplicação composta de processamento de empréstimos satisfaz ao seguinte caso de uso comercial, também ilustrado na Figura 1:

  • O usuário pede um empréstimo, preenchendo uma solicitação de empréstimo, incluindo informações de identificação pessoal, total do empréstimo solicitado e histórico de crédito.
  • Quando a solicitação de empréstimo é recebida, as informações pessoais fornecidas pelo usuário são verificadas em um banco de dados existente, e a aprovação é concedida ou negada com base nas informações e na quantia solicitada.
  • Depois que algumas formalidades são cumpridas, um relatório, no formato de uma carta de aprovação, é gerado e enviado para o usuário, confirmando a aprovação do empréstimo.
  • Se o empréstimo for negado por algum motivo, é gerado e exibido um relatório mostrando o motivo da rejeição.

Figura 1: Caso de uso de processamento de empréstimo

Figura 1: Diagrama de caso de uso de processamento de empréstimo

Duração esperada: 45 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.

Software necessário para este tutorial

Para seguir este tutorial, você precisa dos seguintes recursos e softwares.

Software ou recurso Versão necessária
NetBeans IDE Instalação "completa", versão 6.0 ou 6.1
Java Development Kit (JDK) versão 6 ou
versão 5
Servidor da aplicação ou Web compatível com Java EE GlassFish V2 UR2 para NetBeans 6.1
GlassFish V2 UR1 para NetBeans 6.0

A opção Download "completo" inclui o SOA Pack e o servidor da aplicação GlassFish V2, que são necessários para este tutorial.

início

Configurando e iniciando o servidor da aplicação GlassFish

Antes de você poder implantar a aplicação, o servidor da aplicação GlassFish deve ser configurado corretamente e ser executado.
O download completo do NetBeans 6.1 inclui o servidor da aplicação GlassFish V2. Ao instalar o NetBeans 6.1, instale também o servidor da aplicação GlassFish V2.

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ó GlassFish V2. Se um nó do servidor da aplicação GlassFish não aparecer, vá para Para configurar o servidor da aplicação GlassFish.

    O gráfico mostra a janela Serviço com o nó GlassFish V2 expandido


  3. Clique com o botão direito do mouse no nó GlassFish V2 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.

    Você sabia que: a implantação de um aplicativo no servidor da aplicação GlassFish iniciará automaticamente o GlassFish. Assim, não é necessário iniciar manualmente o servidor da aplicação.

Selecionando um servidor da aplicação alternativo:

O seguinte procedimento mostra como configurar o NetBeans 6.1 IDE para usar uma versão alternativa do servidor do aplicativo 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, da lista suspensa Servidor, selecione GlassFish V2.
  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 o local onde 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/SUNWappserver /opt/SDK
    Solaris OS
    Linux
    usuário ~/SUNWappserver ~/SDK
    Mac OS X N/D ~/SUNWappserver ~/SDK
    Windows N/D C:\Sun\AppServer C:\Sun\SDK
  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.

Criando o projeto do módulo BPEL

Nesta seção, você cria um projeto do módulo BPEL chamado LoanRequestor.

Para criar o projeto LoanRequestor:

  1. Na barra de ferramentas do NetBeans, clique em Arquivo > Novo projeto.
    É exibido o assistente para Novo projeto.
  2. Na lista Categorias, selecione o nó SOA e, na lista Projetos, selecione o nó Módulo BPEL.
  3. Clique em Próximo.
  4. No campo Nome do projeto, digite LoanRequestor.
  5. (Opcional) No campo Localização do projeto, use o botão Procurar para navegar para o local aonde o IDE irá armazenar os arquivos do projeto e selecionar esse local.
  6. Clique em Terminar.
    A janela Projetos agora contém um nó de um projeto do módulo BPEL chamado LoanRequestor.

início

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 LoanRequestor.xsd:

  1. Na janela Projetos, expanda o nó do projeto LoanRequestor e clique com o botão direito do mouse no nó Processar arquivos e escolha Novo > Outro.
    O assistente para Novo arquivo se abre.
  2. No assistente para Novo arquivo, adote o seguinte procedimento:
    1. Na página Escolher tipo de arquivo, selecione XML como a Categoria e Esquema XML como o Tipo de arquivo. Clique em Próximo
    2. No campo Nome do arquivo, digite LoanRequestor.
    3. Clique em Terminar.
    Na janela Projetos, o nó Processar arquivos agora contém um subnó rotulado LoanRequestor.xsd. O Editor de código-fonte agora contém uma aba do arquivo do esquema XML, LoanRequestor.xsd, com a visualização Esquema aberta.

  3. Na visualização Esquema, clique no botão Design para abrir a visualização Design do editor do esquema XML.

    O gráfico mostra o novo arquivo do esquema na visualização Design do editor do esquema XML

Para adicionar tipos complexos ao esquema XML:

  1. Na Paleta da visualizaçã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.
  2. Arraste a sua seleção para a área de design do esquema para o nó Tipos complexos.
    O IDE adiciona um nó Tipo complexo e o nome do tipo complexo (newComplexType) é selecionado e está pronto para ser alterado.
  3. Digite processApplicType no novo nó e pressione Enter.
    A área Design agora exibe o novo tipo complexo, chamado processApplicType.
  4. Repita as etapas de 1 a 3 para criar o tipo complexo chamado processApplicRespType.

    O gráfico mostra Tipos complexos adicionados no esquema XML na área Design do esquema do editor de código-fonte, como mostrado no contexto

Para adicionar elementos locais em processApplicType:

  1. Na seção Componentes XML da Paleta, selecione o ícone Elemento e arraste a seleção para o nó processApplicType na área Design do esquema.
    O IDE adiciona um nó de elemento chamado newElement.
  2. Se a janela Propriedades não estiver visível, escolha Janela > Propriedades.
  3. Na área de design do Esquema, selecione o nó newElement.
  4. Na janela Propriedades, selecione o campo de valor da propriedade Nome para torná-lo editável e digite socialSecurityNumber.
  5. Na janela Propriedades, defina o campo de valor da propriedade Anulável como Verdadeiro.
  6. Na janela Propriedades, na propriedade Definição, clique no botão de reticências.
    A caixa de diálogo Definição é aberta.
  7. Na lista, expanda o nó Tipos incorporados, selecione o nó string e clique em OK.
  8. Repita as etapas 1 a 7 para adicionar os seguintes elementos:

    Nome Anulável Definição
    applicantName Verdadeiro string
    applicantAddress Verdadeiro string
    applicantEmailAddress Verdadeiro string
    applicantAge Verdadeiro int
    applicantGender Verdadeiro string
    annualSalary Verdadeiro double
    amountRequested Verdadeiro double

Para adicionar um elemento local a processApplicRespType:

  1. Na seção Componentes XML da Paleta, selecione o ícone Elemento e arraste a seleção para o nó processApplicRespType na área de design do esquema.
    O IDE adiciona um nó de elemento chamado newElement.
  2. Na área de design do esquema, selecione o nó newElement.
  3. Na janela Propriedades, selecione o campo de valor da propriedade Nome para torná-lo editável e digite return.
  4. Na janela Propriedades, na propriedade Definição, clique no botão de reticências.
    A caixa de diálogo Definição é aberta.
  5. Na lista, expanda o nó Tipos incorporados e selecione o nó string.
  6. Clique em OK.
    Quando você tiver adicionado todos os elementos locais aos tipos complexos, a visualização Design deverá ter uma aparência similar à mostrada a seguir.

    O gráfico mostra os elementos locais adicionados à área Design do esquema do editor de código-fonte

Para adicionar elementos globais:

  1. Na seção Componentes de XML da Paleta, selecione o ícone Elemento e arraste a sua seleção para o nó Elementos na área Design do esquema.
    O IDE adiciona um componente newElement abaixo dos nós Elementos na área de design do esquema.
  2. Na área de design do Esquema da visualização Design, selecione o nó do newElement.
  3. Na janela Propriedades, selecione o campo de valor da propriedade Nome para torná-lo editável e digite processApplicElement.
  4. Na janela Propriedades, na propriedade Definição, clique no botão de reticências.
    A caixa de diálogo Definição do elemento é aberta.
  5. Na lista de tipos, expanda o nó Tipos complexos e selecione o nó do tipo complexo processApplicType.
  6. Clique em OK.
  7. Repita as etapas de 1 a 6 para adicionar outro elemento global chamado processApplicRespElement e selecione o tipo complexo processApplicRespType como a definição.

    A imagem mostra os elementos Globais adicionados ao esquema XML no editor de código-fonte, como descrito no contexto

  8. Para salvar suas alterações, na janela Projetos, selecione o nó do projeto LoanRequestor e, no menu principal, escolha Arquivo > Salvar todos.

início

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 LoanRequestor.wsdl:

  1. Na janela Projetos, expanda o nó do projeto LoanRequestor, 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.
  2. Na página Nome e localização, adote o seguinte procedimento:
    1. No campo Nome do arquivo, digite LoanRequestor.
    2. Marque a caixa de verificação Importar arquivo(s) do esquema XML.
    3. No campo Esquema(s) XML, clique no botão Explorar.
      A caixa de diálogo Adicionar importação é aberta. Esta caixa de diálogo mostra os esquemas XML que podem ser importados.
    4. Expanda Por arquivo > LoanRequestor > Processar arquivos e selecione LoanRequestor.xsd.
      Certifique-se de que a caixa de verificação na coluna Importar esteja selecionada para a linha LoanRequestor.xsd.

      O gráfico mostra o assistente para Novo documento WSDL com o LoanRequestor.xsd selecionado para importação, como descrito no contexto

    5. Clique em OK.
    6. No assistente para Novo documento WSDL, clique em Próximo.
    A página Configuração abstrata é aberta.
  3. Na área Entrada da página Configuração abstrata, adote o seguinte procedimento:
    1. Na coluna Nome da parte da mensagem, clique duas vezes no valor padrão para tornar o campo editável.
    2. Digite requestLoanMessage e pressione Enter.
    3. Na coluna Elemento ou Tipo, clique no botão de reticências.
      A caixa de diálogo Selecionar elemento ou tipo é aberta.
    4. Expanda Por arquivo > LoanRequestor > src/LoanRequestor.xsd > Elementos.

      Observação: talvez você tenha que rolar até a parte superior da lista na caixa de diálogo Selecionar elemento ou tipo para ver o nó Por arquivo.
    5. No nó Elementos, selecione o nó processApplicElement e clique em OK.
  4. Na área Saída da página Configuração abstrata, adote o seguinte procedimento:
    1. Na coluna Nome da parte da mensagem, clique duas vezes no valor padrão para tornar o campo editável.
    2. Digite responsePart e pressione Enter.
    3. Na coluna Elemento ou Tipo, clique no botão de reticências.
      A caixa de diálogo Selecionar elemento ou tipo é aberta.
    4. Expanda Por arquivo > LoanRequestor > src/LoanRequestor.xsd > Elementos.

      Observação: talvez você tenha que rolar até a parte superior da lista na caixa de diálogo Selecionar elemento ou tipo para ver o nó Por arquivo.
    5. No nó Elementos, selecione processApplicRespElement e clique em OK.
    A página Configuração abstrata concluída deve ser parecida com a mostrada abaixo.

    A imagem mostra a página Configuração abstrata concluída do assistente para Novo documento WSDL, conforme descrito no contexto. Clique para ampliar

  5. Clique em Terminar.
    Na janela Projetos, o nó Arquivos do processo agora contém um subnó chamado LoanRequestor.wsdl. O Editor de código-fonte contém uma aba do arquivo WSDL, LoanRequestor.wsdl, com a visualização WSDL aberta.

    A imagem mostra o documento WSDL do LoanRequestor no IDE, como descrito no contexto. Clique para ampliar

início

Abrindo e implantando o serviço Web do parceiro

A aplicação de empréstimo se comunica com seus serviços de parceiro através de suas interfaces públicas. Essas interfaces são definidas nos arquivos WSDL específicos do parceiro.

Neste tutorial, use um projeto J2EE chamado LoanProcessor. Você pode criar este projeto do zero seguindo as instruções em Criando um projeto do módulo EJB ou pode baixar os arquivos de projeto compactados em loanprocessing-loanprocessor.zip. O projeto LoanRequestor contém uma implementação básica do EJB de um serviço de parceiro.
O serviço Web de parceiro deve ser implantado no servidor GlassFish fornecido antes que você possa executar testes no LoanRequestorCompositeApp.

Essa implementação destina-se somente a servir como um harness de teste do processo do Serviço de empréstimos.

Para abrir o projeto LoanProcessor:

  1. Baixe o arquivo loanprocessing-loanprocessor.zip e o extraia no diretório de trabalho do IDE.
    Isso criará um diretório de projeto LoanProcessor.
  2. No menu principal, escolha Arquivo > Abrir projeto.
    O assistente para Abrir projeto é aberto.
  3. Navegue para o diretório onde o projeto foi extraído, selecione o projeto LoanProcessor e clique em Abrir pasta do projeto.
    Uma caixa de diálogo de progresso é exibida e, em seguida, o projeto é exibido na janela Projetos.

Para implantar o projeto LoanProcessor:

  1. Clique com o botão direito do mouse no nó do projeto LoanProcessor e escolha Implantar e Desimplantar.
  2. Espere até que a mensagem CONSTRUÇÃO BEM SUCEDIDA seja exibida na janela Saída.
  3. Para verificar se a aplicação corporativa LoanProcessor foi implantada com êxito, alterne para a janela Serviços.
  4. Na janela Serviços, expanda Servidores > GlassFish V2 > Aplicativos > Módulos EJB.
    Um nó LoanProcessor foi adicionado. Se este nó não estiver sendo exibido, o deployment falhou.

início

Criando o processo BPEL

Para criar LoanRequestor.bpel:

  1. Na janela Projetos, expanda o nó do projeto LoanRequestor, clique com o botão direito do mouse no nó Arquivos do processo e selecione Novo > Processo BPEL.
    O assistente para Novo processo BPEL é aberto.
  2. No campo Nome do arquivo, digite LoanRequestor.
  3. Clique em Terminar.
    Na janela Projetos, o nó Arquivos do processo agora contém um subnó chamado LoanRequestor.bpel.
    O Editor de código-fonte contém uma aba do processo BPEL, LoanRequestor.bpel, com a visualização Design do BPEL Designer aberta.

    O gráfico mostra o novo arquivo do processo BPEL no IDE, como descrito no contexto. Clique para ampliar

Para adicionar links de parceiro:

  1. Na janela Projetos, expanda o nó do projeto LoanRequestor, expanda o nó Arquivos do processo e selecione o nó LoanRequestor.wsdl.
  2. Arraste a sua seleção (LoanRequestor.wsdl) da janela Projetos para o lado esquerdo da visualização Design. O IDE lhe oferece pistas visuais para mostrar onde você pode soltar a seleção.
  3. Nas propriedades de LoanRequestor, altere o valor no campo Nome para BpelImplementation.
  4. Aceite os outros valores padrão (Arquivo WSDL = /LoanRequestor.wsdl, botão de opção Usar tipo de link de parceiro existente) e clique em OK.
  5. Na janela Projetos, expanda o nó do projeto do Módulo EJB LoanProcessor, expanda o nó Serviços Web e selecione o nó do serviço WebLoanProcessor.
  6. Arraste a sua seleção (nó do serviço Web LoanProcessor) da janela Projetos para a visualização Design. O IDE lhe oferece pistas visuais para mostrar onde você pode soltar a seleção.
    A caixa de diálogo Criar novo link de parceiro é aberta.
  7. Altere o valor no campo Nome para EjbImplementation.
  8. Aceite os outros valores padrão (Arquivo WSDL = /Partners/LoanProcessor/LoanProcessor.wsdl, botão de opção Usar um tipo de link de parceiro recém-criado) e clique em OK.
    Observe que o IDE adicionou uma pasta Partners em LoanRequestor > Processar arquivos.
  9. Expanda o nó Parceiros.
    Observe que esta pasta contém o nó LoanProcessor que inclui LoanProcessor.wsdl, LoanProcessorWrapper.wsdl e LoanProcessor_xsd_1.xsd.

    A imagem mostra os links de parceiro adicionados no editor BPEL, como descrito no contexto. Clique para ampliar

Para adicionar uma atividade Receber:

  1. Na seção Serviço Web da Paleta, selecione o ícone Receber e arraste a seleção para a área Design entre as atividades Início do processo 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 Receber chamada Receber1 na visualização Design.
  2. Clique no botão Editar da atividade Responder1.
    O Editor de propriedades de Receber1 [Receber] é aberto.
  3. Altere o valor no campo Nome para ReceiveFromCustomer.
  4. Na lista suspensa Link de parceiro, selecione BpelImplementation.
    O IDE preenche o campo Operação com LoanRequestorOperation.
  5. Clique no botão Criar ao lado do campo Variável de entrada e, na caixa de diálogo Nova variável de entrada, aceite os valores padrão e clique em OK.
    Isto cria uma nova variável de entrada chamada LoanRequestorOperationIn.
  6. Clique em OK para fechar o Editor de propriedades de Receber1 [Receber].
    A atividade Receber agora está rotulada como ReceiveFromCustomer na visualização Design e uma conexão é mostrada entre o link de parceiro BpelImplementation e a atividade Receber no processo LoanRequestor.

    A imagem mostra a atividade Receber adicionada ao editor BPEL, como descrito no contexto. Clique para ampliar

Para adicionar uma atividade Chamar:

  1. Na seção Serviço Web da Paleta, selecione o ícone Chamar e arraste a sua seleção para a área Design abaixo da atividade ReceiveFromCustomer.
    O IDE lhe oferece pistas visuais para mostrar onde você pode soltar a seleção.
    Esta ação coloca uma atividade Chamar denominada Chamar1 na visualização Design.
  2. Clique no botão Editar da atividade Chamar1.
    O Editor de propriedades de Chamar1[Chamar] é aberto.
  3. Altere o valor no campo Nome para InvokeLoanProcessorEJB.
  4. Na lista suspensa Link de parceiro, selecione EjbImplementation.
    O IDE preenche o campo Operação com processApplicOperation.
  5. Clique no botão Criar ao lado do campo Variável de entrada e, na caixa de diálogo Nova variável de entrada, aceite os valores padrão e clique em OK.
    Isto cria uma nova variável de entrada chamada ProcessApplicOperationIn.
  6. Clique no botão Criar ao lado do campo Variável de saída e, na caixa de diálogo Nova variável de saída, aceite os valores padrão e clique em OK.
    Isto cria uma nova variável de saída chamada ProcessApplicOperationOut.
  7. Clique em OK para fechar o Editor de propriedades de Chamar1[Chamar].
    A atividade Chamar agora está rotulada como InvokeLoanProcessorEJB na visualização Design e uma conexão é mostrada entre a atividade Chamar no processo LoanRequestor e o link de parceiro EjbImplementation.

    A imagem mostra uma atividade Chamar adicionada ao editor BPEL, como descrito no contexto

Para adicionar uma atividade Responder:

  1. Na seção Serviço Web da Paleta, selecione o ícone Responder e arraste a sua seleção para a área Design abaixo da atividade InvokeLoanProcessorEJB.
    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 visualização Design.
  2. Clique no botão Editar da atividade Responder1.
    O Editor de propriedades de Responder1 [Responder] é aberto.
  3. Altere o valor no campo Nome para ReplyToCustomer.
  4. Na lista suspensa Link de parceiro, selecione BpelImplementation.
    O IDE preenche o campo Operação com LoanRequestorOperation.
  5. Verifique se o botão de opção Resposta normal está selecionado.
  6. Clique no botão Criar ao lado do campo Variável de saída e, na caixa de diálogo Nova variável de saída, aceite os valores padrão e clique em OK.
    Isto cria uma nova variável de saída chamada LoanRequestorOperationOut.
  7. Clique em OK para fechar o Editor de propriedades de Responder1 [Responder].
    A atividade Responder agora está rotulada como ReplyToCustomer na visualização Design.

    A imagem mostra uma atividade Responder adicionada ao editor BPEL, como descrito no contexto

Para adicionar a atividade Atribuir CopyCustomerInfo:

  1. Na seção Atividades básicas da Paleta, selecione o ícone Atribuir e arraste a sua seleção para a área Design entre as atividades Receber e Chamar.
    O IDE lhe oferece pistas visuais para mostrar onde você pode soltar a seleção.
    Esta ação coloca uma atividade Atribuir chamada Atribuir1 na visualização Design.
  2. Se a janela Propriedades não estiver visível, escolha Janela > Propriedades no menu principal.
  3. Na visualização Design, selecione a atividade Atribuir1.
  4. Na janela Propriedades, altere a propriedade id para save.
  5. No editor BPEL, selecione o botão Mapeador para abrir a janela Mapeador BPEL. Certifique-se de que a aba LoanRequestor.bpel está selecionada.
  6. No painel de origem (esquerdo) do Mapeador BPEL, expanda os nós Variáveis > LoanRequestorOperationIn > requestLoanMessage.
    Um nó é mostrado para cada elemento local no tipo complexo processApplicType no esquema criado anteriormente.

    A imagem mostra os elementos de esquema local no painel de origem do Mapeador BPEL

  7. No painel de destino (o painel da direita) do Mapeador BPEL, no nó Variáveis, expanda os nós ProcessApplicOperationIn e parâmetros.
    Os mesmos elementos do esquema são mostrados como nós neste nó parâmetros.

    A imagem mostra os elementos de esquema local no painel de destino do Mapeador BPEL

  8. Arraste socialSecurityNumber do painel de origem para o nó socialSecurityNumber no painel de destino.
  9. Repita a etapa 8 para as seguintes variáveis:
    applicantName, applicantAddress, applicantEmailAddress, applicantAge, applicantGender, annualSalary e amountRequested.

    A imagem mostra a atribuição concluída no Mapeador BPEL. Clique para ampliar

  10. Para salvar suas alterações, na janela Projetos, selecione o nó do projeto LoanRequestor e, no menu principal, escolha Arquivo > Salvar todos.

Para adicionar a atividade Atribuir CopyLoanStatus

  1. Na barra de ferramentas do editor BPEL, selecione Design para alternar para a visualização Design.
  2. Na seção Atividades básicas da Paleta, selecione o ícone Atribuir e arraste a sua seleção para a área Design entre as atividades Receber e Chamar.
    Esta ação coloca uma atividade Atribuir chamada Atribuir1 na visualização Design.
  3. Selecione a nova atividade Atribuir1.
  4. Na janela Propriedades, altere o valor a propriedade Nome para CopyLoanStatus.
  5. Na barra de ferramentas do editor BPEL, selecione Mapeador para alternar para a visualização Mapeador BPEL.
  6. No painel de origem do Mapeador BPEL, expanda os nós Variáveis > ProcessApplicOperationOut > parâmetros.
    Um nó retorno aparece em parâmetros.
  7. No painel de destino do Mapeador BPEL, expanda Variáveis > LoanRequestorOperationOut > responsePart.
    Um nó retorno aparece em responsePart.
  8. Arraste retorno do painel de origem para o nó retorno no painel de destino do Mapeador BPEL.

    A imagem mostra a atribuição concluída no Mapeador BPEL, como descrito no contexto. Clique para ampliar

  9. Para salvar suas alterações, na janela Projetos, selecione o nó do projeto LoanRequestor e, no menu principal, escolha Arquivo > Salvar todos.

início

Construindo o projeto do Módulo BPEL

Para construir o projeto LoanRequestor:

  • Na janela Projetos, clique com o botão direito do mouse no nó do projeto LoanRequestor e escolha Limpar e construir projeto.
    Se uma mensagem CONSTRUÇÃO BEM SUCEDIDA aparecer na janela de saída, a construção foi realizada com êxito.

início

Criando o projeto de aplicação composta

Antes de implantar o projeto do módulo BPEL, você deve criar uma aplicação composta. 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 criar o projeto da aplicação composta:

  1. No menu principal, escolha Arquivo > Novo arquivo.
    O assistente para novo projeto é aberto.
  2. Na lista Categorias, selecione o nó SOA.
  3. Na lista Projetos, selecione o nó Aplicação composta.
  4. Clique em Próximo.
  5. No campo Nome do projeto, digite LoanRequestorCompositeApp.
  6. Clique em Terminar.
    A janela Projetos agora contém um nó do projeto de aplicação composta chamado LoanRequestorCompositeApp.

    A imagem exibe o projeto de aplicativo composto LoanRequestorCompositeApplication recém-adicionado listado na janela Projetos

início

Usando o Editor Composite Application (Service Assembly)

Nesta seção, use o Editor CASA (Composite Application Service Assembly) para modificar a configuração do projeto e construir o projeto do módulo BPEL. Adicione uma conexão e um ponto final WSDL e depois verifique e altere as propriedades dos pontos finais WSDL gerados automaticamente.

Para usar o Editor CASA (Composite Application Service Assembly) para modificar a configuração do projeto e construir o projeto do módulo BPEL:

  1. Na janela Projetos, expanda o nó do projeto LoanRequestorCompositeApp. Clique com o botão direito do mouse no nó Composição de serviço e selecione Editar no menu pop-up.
    O IDE abre o arquivo .casa no Editor CASA. A área de design da visualização Design do editor possui três partes: Portas WSDL, Módulos JBI e Módulos externos.

    Observação: Para chamar o Editor CASA no NetBeans 6.0, clique com o botão direito do mouse no aplicativo composto na janela Projetos e selecione Editar configuração do aplicativo.

    A imagem mostra o editor CASA, área de design da visualização Design

  2. Na janela Projetos, selecione o nó do projeto LoanRequestor e arraste a sua seleção para a área Módulos JBI na visualização Design do arquivo LoanRequestorCompositeApp.casa.

    A imagem mostra um módulo JBI adicionado por meio do editor de aplicativo composto. Clique para ampliar

  3. Na barra de ferramentas do editor, clique no botão Construir para construir o projeto de módulo BPEL LoanRequestor.
    Após concluir esta etapa:
    • A Saída contém um relatório de CONSTRUÇÃO BEM-SUCEDIDA.
    • A visualização Design do arquivo LoanRequestorCompositeApp.casa deve parecer com a mostrada abaixo.

      A imagem mostra a visualização Design do editor CASA depois que o projeto do módulo BPEL é construído, como mostrado no contexto

Para criar o ponto final WSDL:

  1. Na seção Vinculações WSDL da Paleta, selecione o ícone soap.
  2. Arraste a sua seleção para a área Portas WSDL na visualização Design do arquivo LoanRequestorCompositeApp.casa.
    O IDE adiciona uma porta WSDL rotulada como casaPort1.

    A imagem mostra a visualização Design do editor CASA depois que o ponto final WSDL casaport1 é adicionado, como descrito no contexto

Para criar uma conexão:

  1. Na porta casaPort1 na visualização Design, clique no ícone do ponto final de consumo.
  2. Arraste a sua seleção para LoanRequestorPortTypeRole_myRole na caixa (BPEL) LoanRequestor na área Módulos JBI.
    O IDE cria uma nova conexão.

    A imagem mostra a visualização Design do editor CASA depois da adição de uma conexão, como descrito no contexto

início

Implantando e testando a aplicação composta

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

Para implantar a aplicação composta:

  • Clique com o botão direito do mouse no nó do projeto LoanRequestorCompositeApp e escolha Implantar projeto.
    Se a mensagem CONSTRUÇÃO BEM SUCEDIDA for exibida na janela Saída, então o deployment foi bem sucedido.

Para adicionar o caso de teste para uma requisição aprovada:

  1. Na janela Projetos, expanda o nó do projeto LoanRequestorCompositeApp, 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. No campo Nome do caso de teste, digite ApprovedTestCase e clique em Próximo.
  3. Na página Selecionar o documento WSDL, expanda o nó LoanRequestor - Arquivos do processo, selecione LoanRequestor.wsdl e clique em Próximo.
  4. Na página Selecionar a operação a ser testada, selecione LoanRequestorOperation e clique em Terminar.
    Na janela Projetos, o IDE adicionou um novo nó em Teste, ApprovedTestCase. Este nó possui dois subnós: Entrada e Saída. O Editor de código-fonte contém uma aba do arquivo de entrada, Input.xml.

    A imagme mostra o arquivo Input.xml do ApprovedTestCase, como descrito no contexto. Clique para ampliar

    Observação: se o Editor de código-fonte não contiver uma aba para Input.xml, clique duas vezes no nó Entrada na janela Projetos para abrir o arquivo.
  5. Na aba Editor de código-fonte do arquivo Input.xml, defina os valores de variável, substituindo os espaços reservados de ponto de interrogação pelos seguintes valores (em negrito):
          <loan:socialSecurityNumber>111-11-1111</loan:socialSecurityNumber>
          <loan:applicantName>May JavaOne</loan:applicantName>
          <loan:applicantAddress>1601 Willow Road, Menlo Park, CA 94025</loan:applicantAddress>
          <loan:applicantEmailAddress></loan:applicantEmailAddress>
          <loan:applicantAge>36</loan:applicantAge>
          <loan:applicantGender>female</loan:applicantGender>
          <loan:annualSalary>100000</loan:annualSalary>
          <loan:amountRequested>1000000</loan:amountRequested>
    
  6. No menu principal do , escolha Arquivo > Salvar todos.
  7. Feche a aba do Editor de código-fonte de Input.xml.

Para adicionar o caso de teste para uma requisição rejeitada:

  1. Na janela Projetos, expanda o nó do projeto LoanRequestorCompositeApp, 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. No campo Nome do caso de teste, digite RejectedTestCase e clique em Próximo.
  3. Na página Selecionar o documento WSDL, expanda o nó LoanRequestor - Arquivos do processo, selecione LoanRequestor.wsdl e clique em Próximo.
  4. Na página Selecionar a operação a ser testada, selecione LoanRequestorOperation e clique em Terminar.
    Na janela Projetos, o IDE adicionou um novo nó em Teste, RejectedTestCase. Este nó possui dois subnós: Entrada e Saída. O Editor de código-fonte contém uma aba do arquivo de entrada, Input.xml.

    A imagme mostra o arquivo Input.xml do RejectedTestCase, como descrito no contexto. Clique para ampliar

    Observação: se o Editor de código-fonte não contiver uma aba para Input.xml, clique duas vezes no nó Entrada na janela Projetos para abrir o arquivo.
  5. Na aba Editor de código-fonte do arquivo Input.xml, defina os valores de variável, substituindo os espaços reservados de ponto de interrogação pelos seguintes valores (em negrito):
          <loan:socialSecurityNumber>}222-22-2222</loan:socialSecurityNumber>
          <loan:applicantName>John Smith</loan:applicantName>
          <loan:applicantAddress>}8888 Willow Road, Fremont, CA 94538</loan:applicantAddress>
          <loan:applicantEmailAddress>jsmithj12007@gmail.com</loan:applicantEmailAddress>
          <loan:applicantAge>}15</loan:applicantAge>
          <loan:applicantGender>masculino</loan:applicantGender>
          <loan:annualSalary>}100000</loan:annualSalary>
          <loan:amountRequested>}1000000</loan:amountRequested>
  6. No menu principal do , escolha Arquivo > Salvar todos.
  7. Feche a aba do Editor de código-fonte de Input.xml.

Para preencher o arquivo de teste com informações de linha de base para ApprovedTestCase:

  1. Na janela Projetos, clique duas vezes no nó Saída em ApprovedTestCase para examinar o conteúdo do arquivo.
    Observe que, inicialmente, Output.xml está vazio.

    A imagem mostra o arquivo de saída vazio do ApprovedTestCase

  2. Na janela Projetos, clique com o botão direito do mouse no nó ApprovedTestCase e escolha Executar no menu pop-up.

    Observação: a primeira execução é um caso especial porque Output.xml está vazio e o IDE não pode comparar os resultados do teste com o conteúdo de Output.xml. Observe a mensagem de falha na janela Saída.
    A caixa de diálogo Sobrescrever saída vazia? se abre.

    A imagem mostra que o primeiro teste falhou de acordo com os resultados do teste JUnit, como descrito no contexto. Clique para ampliar

  3. Clique em Sim.
    O IDE preenche o Output.xml com informações padrão. Esta versão do arquivo agora contém as informações de linha de base que serão usadas nas execuções de teste subseqüentes. Esta versão do arquivo também é conhecida como arquivo "final".

    A imagem exibe o arquivo de saída da linha base criado para ApprovedTestCase, como descrito no contexto. Clique para ampliar

Para preencher o arquivo de teste com informações de linha de base para RejectedTestCase:

  1. Na janela Projetos, clique duas vezes no nó Saída em RejectedTestCase para examinar o conteúdo do arquivo.
    Observe que, inicialmente, Output.xml está vazio.
  2. Na janela Projetos, clique com o botão direito do mouse no nó RejectedTestCase e escolha Executar no menu pop-up.

    Observação: a primeira execução é um caso especial porque Output.xml está vazio e o IDE não pode comparar os resultados do teste com o conteúdo de Output.xml. Observe a mensagem de falha na janela Saída.
    A caixa de diálogo Sobrescrever saída vazia? se abre.
  3. Clique em Sim.
    O IDE preenche o Output.xml com informações padrão. Esta versão do arquivo agora contém as informações de linha de base que serão usadas nas execuções de teste subseqüentes.

    A imagem exibe o arquivo de saída da linha base criado para RejectedTestCase, como descrito no contexto. Clique para ampliar

Para executar os testes:

  1. Na janela Projetos, clique com o botão direito do mouse no nó ApprovedTestCase e escolha Executar no menu pop-up.
    Observe que o conteúdo de Output.xml é preservado e não é sobrescrito pelo novo resultado. Clique duas vezes no nó que representa o teste realizado com êxito (imediatamente abaixo do nó Saída) para ver os resultados.

    A imagem mostra os resultados de testes realizados com êxito, como descrito no contexto. Clique para ampliar
  2. Na janela Projetos, clique com o botão direito do mouse no nó RejectedTestCase e escolha Executar no menu pop-up.
    Clique duas vezes no nó que representa o teste realizado com êxito para ver os resultados.
  3. No Editor de código-fonte, feche todos os documentos.

início

(Opcional) Criando o projeto do Módulo EJB

Neste tutorial, use um projeto J2EE chamado LoanProcessor. Você pode criar este projeto do zero seguindo as instruções nesta seção ou pode baixar os arquivos de projeto compactados em loanprocessing-loanprocessor.zip.

Para criar o projeto do módulo EJB:

  1. No menu principal, escolha Arquivo > Novo arquivo.
  2. Na lista Categorias, selecione o nó Empresa e, na lista Projetos, selecione o nó Módulo EJB.
  3. Clique em Próximo.
  4. No campo Nome do projeto, digite LoanProcessor.
  5. (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 EJB.
  6. Clique em Próximo
  7. Na página Servidor e configurações, certifique-se de que seu servidor selecionado é GlassFish V2, e clique em Terminar.
    A janela Projetos agora contém um nó de um projeto do módulo EJB chamado LoanProcessor.

Para criar um serviço Web:

  1. Na janela Projetos, clique com o botão direito do mouse no nó do projeto LoanProcessor e escolha Novo > Serviço Web no menu pop-up.
    O assistente para Novo serviço Web se abre.
  2. No assistente para Novo serviço Web, adote o seguinte procedimento:
    1. Na página Nome e localização, no campo Nome do serviço Web, digite LoanProcessor.
    2. No campo Pacote, digite com.sun.loanprocessor.

      A imagem mostra a página Nome e localização do assistente para Novo serviço Web concluído

    3. Clique em Terminar.
    O IDE cria o serviço Web e abre o LoanProcessor no Editor de código-fonte.
  3. Na janela Projetos, expanda o nó do projeto LoanProcessor e, em seguida, expanda o nó Serviços Web.
  4. Clique com o botão direito do mouse no nó LoanProcessor (o serviço web) e escolha Adicionar operação.
    A caixa de diálogo Adicionar operação é aberta.
  5. No campo Nome, digite processApplicOperation.
  6. Na aba Parâmetros, adicione os sete parâmetros a seguir clicando no botão Adicionar e completando a linha que o IDE adiciona para cada parâmetro.

    Nome Digite
    socialSecurityNumber java.lang.String
    applicantName java.lang.String
    applicantAddress java.lang.String
    applicantEmailAddress java.lang.String
    applicantAge java.lang.Integer
    applicantGender java.lang.String
    annualSalary java.lang.Double
    amountRequested java.lang.Double

    A imagem mostra a caixa de diálogo Adicionar operação, como descrito no contexto

  7. Clique em OK.
  8. No Editor de código-fonte, clique no botão Código-fonte para mostrar a visualização Código-fonte do arquivo LoanProcessor.java.
    Observe que o IDE atualizou o documento LoanProcessor.java com um esqueleto do método processApplicOperation.
  9. No Editor de código-fonte, substitua
    	//TODO escreva o código de implementação aqui:
    
    	return null;
      
    pelo seguinte código:
            int MINIMUM_AGE_LIMIT = 18;
            int MAXIMUM_AGE_LIMIT = 65;
            double MINIMUM_SALARY = 20000;
            int AVERAGE_LIFE_EXPECTANCY = 70;
            String result = "Pedido de empréstimo APROVADO".;
    
            // Verificar idade do candidato
            // Se for menor que a idade mínima, rejeitar
            if(applicantAge < MINIMUM_AGE_LIMIT) {
                result = "Pedido de empréstimo REJEITADO - Motivo: Abaixo da idade " +
                        applicantAge +
                        ".  Idade deve ser maior que " +
                        MINIMUM_AGE_LIMIT +
                        " anos para ser aceita".;
                System.out.println(result);
                return result;
            }
    
            // Verificar idade do candidato
            // Se for maior que a idade máxima, rejeitar
            if(applicantAge > MAXIMUM_AGE_LIMIT) {
                result = "Pedido de empréstimo REJEITADO - Motivo: Acima da idade " +
                        applicantAge +
                        ".  Idade deve ser menor que " +
                        MAXIMUM_AGE_LIMIT +
                        " anos para ser aceita".;
                System.out.println(result);
                return result;
            }
    
            // Verificar salário anual
            // Se for menor que o salário mín, rejeitar
            if(annualSalary < MINIMUM_SALARY) {
                result = "Pedido de empréstimo REJEITADO - Motivo: Salário anual $" +
                        annualSalary +
                        " muito baixo.  O salário anual deve ser maior que $" +
                        MINIMUM_SALARY +
                        " para ser aceito".;
                System.out.println(result);
                return result;
            }
    
            // Calcular os anos para pagar empréstimo com base em applicantAge
            int yearsToRepay = AVERAGE_LIFE_EXPECTANCY - applicantAge;
    
            // Calcular o valor máx de empréstimo com base nos anos para pagamento do empréstimo
            double limit = annualSalary * yearsToRepay * 0.5;
    
            // Verificar valor solicitado, se maior que o limite, rejeitar
            if(amountRequested > limit) {
                result = "Pedido de empréstimo REJEITADO - Motivo: Você está solicitando muito $" +
                        amountRequested +
                        ".  Salário anual de $"+annualSalary+", "+applicantAge+" anos de idade. O limite é $" +
                        limit;
                System.out.println(result);
                return result;
            }
            System.out.println(result);
            return result;
    
    
  10. Para salvar as alterações, escolha Arquivo > Salvar do menu principal.
  11. (Opcional) Feche a aba LoanProcessor no Editor de código-fonte.
  12. Retorne para Abrindo e implantando o serviço Web do parceiro.

início

Próximas etapas

  • Para enviar comentários e sugestões, obter suporte e manter-se informado sobre as alterações mais recentes nos recursos de desenvolvimento do NetBeans IDE J2EE , junte-se à lista de usuários em .



Veja também


início

Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems