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 do 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

Antes de começar, baixe e instale o seguinte software no seu computador: NetBeans 6.0. A opção de download completa 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.0 inclui o servidor da aplicação GlassFish. Ao instalar o NetBeans 6.0, instale também o servidor da aplicação GlassFish.

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


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

    Uma mensagem informando que a inicialização do servidor da aplicação está concluída será exibida na janela de saída, indicando que o servidor da aplicação está 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 uma aplicação no servidor da aplicação GlassFish iniciará automaticamente o servidor da aplicação GlassFish. Assim, não é necessário iniciar manualmente o servidor da aplicação.

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

Você pode querer usar uma versão diferente do servidor da aplicação daquela 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, 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. No menu principal, escolha Arquivo > Novo arquivo.
    O assistente para novo projeto é aberto.
  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 onde 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, na lista Categorias, selecione o nó XML e, na lista Tipos de arquivo, selecione o nó Esquema XML e 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.

    Novo arquivo do esquema aberto 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, imediatamente abaixo do 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.

    Tipos complexos adicionados no esquema XML

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

    Elementos locais adicionados aos tipos complexos

Para adicionar elementos globais:

  1. Na seção Componentes de XML da Paleta, selecione o ícone Elemento e arraste a sua seleção para a área Design, imediatamente abaixo do nó Elementos.
    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.

    Elementos globais adicionados ao esquema XML

  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.

      Selecionando o esquema XML a ser importado

    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.

    Página Configuração abstrata concluída do assistente para Novo documento WSDL, 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.

    Novo documento WSDL no IDE, 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 > Servidor da aplicação GlassFish > Aplicações > 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.

    Novo arquivo do processo BPEL no IDE, 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 a visualização Design.
    A caixa de diálogo Criar novo link de parceiro é aberta.
  3. 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.
    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.

    Links do parceiro adicionados, 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 duas vezes na atividade Receber1.
    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.

    Atividade receber adicionada, 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 duas vezes na 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.

    Atividade Chamar adicionada

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 duas vezes na 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.

    Atividade Responder adicionada

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. Se a janela Mapeador BPEL não estiver visível, escolha Janela > Outro > Mapeador BPEL no menu principal.
    Se o Mapeador BPEL não contiver as informações para CopyCustomerInfo, na visualização Design, selecione a caixa do processo LoanRequestor e, em seguida, selecione a atividade Atribuir CopyCustomerInfo. Isto atualizará as informações no Mapeador BPEL.
  6. No painel de origem (o painel da esquerda) do Mapeador BPEL, no nó Variáveis, expanda os nós LoanRequestorOperationIn e requestLoanMessage.
    Um nó é mostrado para cada elemento local no tipo complexo processApplicType no esquema criado anteriormente.

    Elementos locais do esquema mostrados 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.

    Os elementos locais do esquema também aparecem 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.

    Atribuição feita 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 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.
  2. Selecione a nova atividade Atribuir1.
  3. Na janela Propriedades, altere o valor a propriedade Nome para CopyLoanStatus.
  4. Se a janela Mapeador BPEL não estiver visível, escolha Janela > Outro > Mapeador BPEL no menu principal.
  5. No painel de origem do Mapeador BPEL, no nó Variáveis, expanda os nós ProcessApplicOperationOut e parâmetros.
    Um nó retorno aparece em parâmetros.
  6. No painel de destino do Mapeador BPEL, no nó Variáveis, expanda os nós LoanRequestorOperationOut e responsePart.
    Um nó retorno aparece em responsePart.
  7. Arraste retorno do painel de origem para o nó retorno no painel de destino do Mapeador BPEL.

    Atribuição feita no Mapeador BPEL, clique para ampliar

  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

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.

    Projeto LoanRequestorCompositeApplication adicionado

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. Em seguida, 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, selecione o nó do projeto LoanRequestorCompositeApp e escolha Editar configuração da aplicação 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.

    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.

    Módulo JBI adicionado usando o editor de aplicação composta, clique para ampliar

  3. Na barra de ferramentas do editor, clique no botão Construir projetobotão Construir projeto para construir o projeto do Módulo BPEL LoanRequestor.
    Após concluir esta etapa:
    • A barra de status exibe a seguinte mensagem:
      Construção de build.xml (jbi-build) finalizada.
    • A janela de saída deve ter uma aparência semelhante à mostrada abaixo.

      Janela de saída depois que o projeto do Módulo BPEL é construído

    • A visualização Design do arquivo LoanRequestorCompositeApp.casa deve parecer com a mostrada abaixo.

      Visualização Design depois que o projeto do Módulo BPEL é construído

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.

    Visualização Design depois da adição do ponto final WSDL casaport1

Para criar uma conexão:

  1. Na porta casaPort1 na visualização Design, clique no ícone do ponto final Consume, Ícone do ponto final Consume, não selecionado.
    As cores do ícone são alteradas quando você seleciona o ponto final: Ícone do ponto final Consume selecionado.
  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.

    Visualização Design após adicionar a conexão

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.

    Caso de teste para requisição aprovada adicionado à aplicação composta, 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áveis substituindo estas linhas de código:
          <loan:socialSecurityNumber>?string?</loan:socialSecurityNumber>
          <loan:applicantName>?string?</loan:applicantName>
          <loan:applicantAddress>?string?</loan:applicantAddress>
          <loan:applicantEmailAddress>?string?</loan:applicantEmailAddress>
          <loan:applicantAge>?3?</loan:applicantAge>
          <loan:applicantGender>?string?</loan:applicantGender>
          <loan:annualSalary>?1.051732E7?</loan:annualSalary>
          <loan:amountRequested>?1.051732E7?</loan:amountRequested>
      
    pelas seguintes linhas de código:
          <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>mayj12007@gmail.com</loan:applicantEmailAddress>
          <loan:applicantAge>36</loan:applicantAge>
          <loan:applicantGender>feminino</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.

    Caso de teste para requisição rejeitada adicionado à aplicação composta, 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áveis substituindo estas linhas de código:
          <loan:socialSecurityNumber>?string?</loan:socialSecurityNumber>
          <loan:applicantName>?string?</loan:applicantName>
          <loan:applicantAddress>?string?</loan:applicantAddress>
          <loan:applicantEmailAddress>?string?</loan:applicantEmailAddress>
          <loan:applicantAge>?3?</loan:applicantAge>
          <loan:applicantGender>?string?</loan:applicantGender>
          <loan:annualSalary>?1.051732E7?</loan:annualSalary>
          <loan:amountRequested>?1.051732E7?</loan:amountRequested>
      
    pelas seguintes linhas de código:
          <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.

    Arquivo de saída vazio para 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? é aberta.

    Falha na primeira execução do teste, 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".

    Arquivo de saída de linha de base para ApprovedTestCase, 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? é aberta.
  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".

    Arquivo de saída de linha de base para RejectedTestCase, 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. Você pode clicar duas vezes no nó que representa o teste realizado com êxito (imediatamente abaixo do nó Saída) para ver os resultados.
  2. Na janela Projetos, clique com o botão direito do mouse no nó RejectedTestCase e escolha Executar no menu pop-up.
    Observe que o conteúdo de Output.xml é preservado e não é sobrescrito pelo novo resultado. Você pode clicar duas vezes no nó que representa o teste realizado com êxito (imediatamente abaixo do nó Saída) para ver os resultados.

    Testes realizados com êxito, rever resultados, clique para ampliar

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

      Página Nome e Localização do assistente para Novo serviço Web concluída

    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 Tipo
    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

    Caixa de diálogo Adicionar operação concluída

  7. Na caixa de diálogo Adicionar operação, 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

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
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