corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

Guia do desenvolvedor para BPEL Designer - O mapeador BPEL

Conteúdo

O conteúdo desta página se aplica ao NetBeans 6.0

Guia do desenvolvedor para BPEL Designer

Sobre o mapeador BPEL

O mapeador BPEL fornece uma estrutura para processar e direcionar dados do processo BPEL. Essa estrutura está formada pelos seguintes componentes:

  • Barra de menus. A barra de menus fornece todas as Funções XPath do mapeador BPEL que você pode usar para criar mapeamentos BPEL. Você também pode aprimorar ou estender os mapeamentos BPEL incorporando predicados que consistem em funções XPath.
    No lado direito da barra de menus, você pode usar os botões seguintes para trabalhar com caixas de funções ou functoids:
    • Layout automático. Organiza automaticamente as caixas de função no painel de mapeamento.
    • Expandir todos os functoids. Expande todas as caixas de função.
    • Recolher todos os functoids. Recolhe todas as caixas de função. Este comando é útil quando você trabalha com várias caixas de função no painel de mapeamento.
    • Excluir seleção. Exclui as caixas de função selecionadas.
  • Painel da árvore de origem O painel da árvore de origem contém um componente de árvore que fornece acesso às variáveis de dados do processo BPEL.
  • Painel de mapeamento. O painel de mapeamento contém uma tela para a criação de mapeamentos BPEL. Quando você seleciona uma função na barra de menus, é exibida uma caixa de função no painel de mapeamento. Se a função aceitar quaisquer argumentos, então o lado esquerdo da caixa de função possuirá um conector para cada argumento. Se um argumento for opcional, então será mostrado um ponto de interrogação depois do nome do argumento. O lado direito da caixa de função possui um conector para o resultado. Você pode usar o mapeador BPEL com os seguintes elementos de processo BPEL:
    • Atividade Atribuir. Você pode definir uma ou mais atribuições de cópia.
    • Atividade If. Você pode definir a condição.
    • Elemento Else If em uma atividade If. Você pode definir a condição.
    • Atividade Para cada. Você pode definir a condição.
    • Atividade Repetir até. Você pode definir a condição.
    • Atividade While. Você pode definir a condição.
    • Atividade Aguardar Você pode especificar o prazo ou a duração.
  • Painel da árvore de destino. O componente de árvore do painel da árvore de destino depende do elemento do processo BPEL que você está mapeando. O painel da árvore de destino contém os seguintes componentes:
    • Para uma atividade Atribuir, o painel da direita contém o mesmo componente em árvore que o painel da esquerda.
    • Para uma atividade If, elemento Else If, atividade Para cada, atividade Repetir e atividade While, o painel direito contém um nó Resultado.
    • Para a atividade Aguardar, o painel da direita contém um nó Prazo ou Duração.

A janela Mapeador BPEL se abre quando você seleciona um dos elementos listados acima na visualização Design. Se essa janela não estiver visível, você pode chamá-la manualmente, escolhendo Janela > Outro > Mapeador BPEL no menu principal.

início


Criando mapeamentos BPEL

Você pode criar um mapeamento do painel da árvore de origem diretamente para o painel da árvore de destino, sem usar qualquer uma das funções. Esse tipo de mapeamento pode ser qualquer um dos seguintes:

  • Variável para variável
  • Parte para parte
  • Elemento XSD para elemento XSD
  • Atributo XSD para atributo XSD

Você também pode criar um mapeamento que use uma ou mais funções XPath na barra de menus do mapeador BPEL. Por exemplo, se o processo BPEL incluir uma atividade Aguardar que espera por um período de tempo, você poderá usar a função Duration Literal para especificar a duração.

Para criar um mapeamento sem usar quaisquer funções:

  1. No painel da árvore de origem, expanda o componente de árvore até que o nó do qual você deseja mapear apareça.
  2. Se o painel da árvore de destino contiver um componente de árvore, expanda o componente de árvore até que o nó para o qual você deseja mapear apareça.
  3. Selecione o nó no painel da árvore de origem e arraste o ponteiro para o nó no painel da árvore de destino.
    Um link conecta os nós.

Para usar uma função em um mapeamento:

  1. Clique no menu suspenso que contém a função.
  2. Clique na função.
    Uma caixa de função aparece no painel de mapeamento.
  3. Mapeie quaisquer argumentos para o conector apropriado no lado esquerdo da caixa de função. A origem pode ser um nó no painel da árvore de origem ou a saída de outra caixa de função. Se um argumento for opcional, então será mostrado um ponto de interrogação depois do nome do argumento.
  4. Mapeie o resultado do lado direito da caixa de função. O destino pode ser um nó no painel da árvore de destino ou a entrada em outra caixa de função.

Para excluir um link ou função em um mapeamento:

  1. Selecione o link ou função
  2. Pressione Excluir.

início


Trabalhando com predicados

O mapeador BPEL permite criar predicados compostos por funções XPath.

Um predicado aplica uma condição a um nó que pode ter vários valores. O resultado é o subconjunto de nós que satisfazem a condição.

Por exemplo, supondo que um nó representa o número de produtos. Se você quiser selecionar todos os produtos cujo total é maior que 50, use as funções greater than e number literal para definir a condição.

Somente alguns tipos de nós permitem criar predicados. O menu pop-up desses nós contém a opção Novo predicado. Quando você expande o componente de árvore no painel de árvore de origem, os nós que podem ter predicados são marcados com um asterisco (*).

Ao criar um predicado, você pode usá-lo em uma atribuição. Por exemplo, você pode copiar dados de um predicado no painel da árvore de origem para um nó no painel da árvore de destino.

Você pode editar ou excluir um predicado existente.

Para criar um predicado:

  1. No painel de árvore de origem, clique com o botão direito do mouse em um nó que esteja marcado com um asterisco (*) e escolha Novo predicado.
    O editor de predicados aparece.
  2. Use funções XPath para criar a condição do predicado. Mapeie o resultado para o nó do predicado no painel da árvore de destino.
  3. Clique em OK.
    O editor adiciona o nó do predicado imediatamente abaixo do nó original. A condição aparece entre colchetes.

Para editar um predicado:

  1. No painel da árvore de origem, clique com o botão direito do mouse no nó do predicado e escolha Editar predicado.
  2. Modifique a condição.
  3. Clique em OK.

Para excluir um predicado:

  1. No painel da árvore de origem, clique com o botão direito do mouse no nó do predicado e escolha Excluir predicado.
  2. Clique em Sim.

início


Referência de função XPath

Um conjunto de funções XPath está disponível na barra de menus do Mapeador BPEL. Essas funções estão baseadas na especificação XPath 1.0.

Cada função possui zero ou mais argumentos. Cada função retorna um único resultado.

A barra de menu contém os seguintes menus suspensos: Data-hora, Operador, Booleano, Seqüência, Nós e Número.

Data-hora

O menu Data-hora contém as seguintes funções:

  • Duration Literal permite inserir uma literal de duração. Use o formato especificado na especificação do esquema XML.
  • Current Time fornece a hora atual.
  • Current Date fornece a data atual.
  • Current Date and Time fornece a data e hora atuais.

Operador

O menu Operador contém as seguintes funções:

  • Maior que
  • Maior ou igual
  • Menor que
  • Menor ou igual
  • Adição
  • Subtração
  • Multiplicação
  • O operador Div ou divisão retorna o quociente de um determinado dividendo e divisor.
  • O operador Mod ou módulo retorna o resto de um determinado dividendo e divisor.
  • Negativo
  • Diferente
  • EQUAL

Booleano

O menu Booleano contém as seguintes funções:

  • True retorna verdadeiro.
  • False retorna falso.
  • AND usa a seguinte lógica: se ambos os argumentos forem verdadeiros, a função retornará verdadeiro. Se um argumento for falso, a função retornará falso.
  • OR usa a seguinte lógica: se nenhum dos argumentos for verdadeiro, a função retornará verdadeiro. Se ambos os argumentos forem falsos, a função retornará falso.
  • Not usa a seguinte lógica: se o argumento for falso, a função retornará verdadeiro. Se o argumento for verdadeiro, a função retornará falso.
  • Lang retorna verdadeiro ou falso dependendo se o idioma do nó de contexto for o mesmo ou for um subidioma do idioma especificado no argumento.
  • Boolean converte o argumento em um booleano. Para obter informações detalhadas sobre a lógica, consulte a especificação XPath 1.0.

String

O menu string contém as seguintes funções:

  • Contains usa a seguinte lógica: se o primeiro argumento string contiver o segundo argumento string, a função retornará verdadeiro. Caso contrário, a função retornará falso.
  • Normalize Space retorna a string do argumento com espaço em branco normalizado pela eliminação de espaço em branco inicial e final e pela substituição de seqüências de espaço em branco por um único espaço.
  • String converte um objeto em uma string.
  • Starts With usa a seguinte lógica: se o primeiro argumento string começa com o segundo argumento string, a função retornará verdadeiro. Caso contrário, a função retornará falso.
  • String Length retorna o número de caracteres da string.
  • Substring retorna a subseqüência do primeiro argumento que começa na posição especificada no segundo argumento com o tamanho especificado no terceiro argumento. A posição do primeiro caractere é 1, a posição do segundo caractere é 2, e assim por diante. O terceiro argumento é opcional. Se o terceiro argumento não for especificado, a função retornará a subseqüência que começa na posição especificada no segundo argumento e que continua até o fim da string.
  • Substring Before retorna a subseqüência do primeiro argumento que precede a primeira ocorrência do segundo argumento na primeira string do argumento. Se a primeira string do argumento não contiver a segunda string do argumento, a função retornará uma string vazia.
  • Substring After retorna a subseqüência da primeira string do argumento que segue a primeira ocorrência da segunda string do argumento na primeira string do argumento. Se a primeira string do argumento não contiver a segunda string do argumento, a função retornará uma string vazia.
  • Translate retorna a primeira string do argumento com ocorrências de caracteres na segunda string do argumento substituída pelo caractere na posição correspondente na terceira string do argumento.
  • Concat retorna a concatenação dos argumentos.
  • String Literal permite inserir uma literal de string.

Nós

O menu Nós contém as seguintes funções:

  • Local Name retorna a parte local do nome expandido do nó no conjunto de nós do argumento que está primeiro na ordem do documento. (Um nome expandido consiste em uma parte local e uma URI de espaço de nome).
  • Name retorna o nome qualificado que representa o nome expandido do nó no conjunto de nós do argumento que está primeiro na ordem do documento. (Um nome expandido consiste em uma parte local e uma URI de espaço de nome).
  • Namespace URI retorna a URI do espaço de nome do nome expandido do nó no conjunto de nós do argumento que está primeiro na ordem do documento. (Um nome expandido consiste em uma parte local e uma URI de espaço de nome).
  • Position retorna a posição do contexto.
  • Last retorna o tamanho do contexto.
  • Count retorna o número de nós no conjunto de nós do argumento.

Número

O menu Número contém as seguintes funções:

  • Number converte o argumento em um número. Para obter informações detalhadas sobre a lógica, consulte a especificação XPath 1.0.
  • Number Literal permite inserir um número literal.
  • Round retorna o número que está mais próximo do argumento e que seja um inteiro.
  • Sum retorna a soma, para cada nó no conjunto de nós do argumento, do resultado da conversão dos valores de string do nó em um número.
  • Floor retorna o maior número que não seja maior que o argumento e que seja um inteiro.
  • Ceiling retorna o menor número que não seja menor que o argumento e que seja um inteiro.

início


Exemplos de mapeamento

Esses exemplos ilustram vários cenários de mapeamento:


Cenário da atividade Atribuir

Presume que você deseja que um processo BPEL copie dados recebidos de um parceiro. Realize as seguintes tarefas:

  1. Adicione uma atividade Atribuir após a atividade Receber.
  2. Na visualização Design, selecione a atividade Atribuir e use o Mapeador BPEL para definir uma ou mais atribuições de cópia.

O exemplo seguinte mostra uma atribuição de cópia que não usa quaisquer funções XPath. A parte itinerary da variável ItineraryIn é copiada para a parte itinerary da variável ItineraryOut. Observe que o painel esquerdo e o painel direito contêm o mesmo componente de árvore.

Captura de tela do mapeamento da atividade Atribuir com mapeamento direto
Clique para aumentar

O exemplo seguinte mostra uma atribuição de cópia que usa a função XPath concat. A variável de entrada paramA é concatenada ao fim da literal string Parameter A: e copiada para a variável de saída paramA.

Captura de tela do mapeamento da atividade Atribuir com a função XPath concat
Clique para aumentar

Cenário da atividade If

Presume que você deseja executar uma série de etapas somente se uma determinada condição for verdadeira. Realize as seguintes tarefas:

  1. Adicione uma atividade If ao processo BPEL.
  2. Na visualização Design, selecione a atividade If e use o Mapeador BPEL para definir a condição Booleana.
  3. Adicione as etapas dentro da atividade If.

O exemplo seguinte mostra um mapeamento da condição. O mapeamento usa a função XPath Not, que está disponível no nó Booleano da barra de menus. Se o itinerário tiver uma reserva de linha aérea, a função XPath Not retornará verdadeiro. O resultado é mapeado para o nó Resultado no painel direito.

Captura de tela do mapeamento da atividade If
Clique para aumentar

Cenário de predicado

Presume que você deseja que um processo BPEL copie os dados de itinerário dos itinerários dos clientes que não tenham mais de dois em seu grupo. Os registros de entrada incluem uma variável que especifica o número de passageiros no grupo de clientes. Realize as seguintes tarefas:

  1. No painel esquerdo da janela Mapeador BPEL, clique com o botão direito do mouse no nó de repetição que está marcado com um asterisco (*) e escolha Novo predicado.
    A janela Editor de predicado é exibida.
  2. Adicione a função XPath Menor que no painel do meio.
  3. Adicione a função XPath number literal no painel do meio. Defina o valor como 3.
  4. Mapeie o nó da variável para o primeiro argumento da função XPath Menor que.
  5. Mapeie o resultado da função XPath number literal para o segundo argumento da função XPath Menor que.
  6. Mapeie o resultado da função XPath Menor que para o nó Resultado no painel direito.
  7. Clique em OK.

O exemplo seguinte mostra como o mapeamento é exibido na janela Predicado. Depois de clicar em OK, você poderá usar o nó de predicado em uma atribuição de cópia.

Captura de tela do mapeamento de predicado
Clique para aumentar

Se o processo BPEL recebeu o XML abaixo, então o predicado selecionaria a primeira marca Air.

<Air>
    <NumberInParty>2</NumberInParty>
</Air>
<Air>
    <NumberInParty>4</NumberInParty>
</Air>
<Air>
    <NumberInParty>6</NumberInParty>
</Air>


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