FeaturesPluginsDocs & SupportCommunityPartners

Guia do desenvolvedor para BPEL Designer

Noções básicas sobre correlação. Usando o assistente para Correlação

O tempo de execução do mecanismo de serviço BPEL usa um mecanismo chamado correlação para controlar as várias trocas de mensagens de longa duração que geralmente acontecem entre um processo BPEL e os serviços de parceiros. O mecanismo de correlação ajuda a rotear as mensagens para as instâncias apropriadas do processo.

Uma mensagem em uma conversação desse tipo é conectada com um valor composto que consiste em uma ou mais propriedades definidas em um arquivo WSDL. Uma propriedade é um campo em uma mensagem identificado por uma consulta. As consultas são especificadas por construções especiais chamadas alias de propriedade.

Portanto, os conjuntos de correlações são usados para suportar a colaboração com estado entre os serviços Web de uma forma padronizada e com implementação independente. Os conjuntos de correlações se baseiam nos símbolos de dados de correlação armazenados nos envelopes de mensagem, cabeçalhos ou nos próprios documentos comerciais. A declaração da correlação se baseia nas propriedades declarativas das mensagens.

Os termos seguintes se aplicam à correlação:

  • Uma propriedade é um símbolo nomeado arbitrariamente. Deve ser um tipo simples. É definida em um arquivo WSDL.
  • Um alias de propriedade é uma regra que informa ao tempo de execução do BPEL como mapear dados de uma mensagem para um valor de propriedade. Você pode definir vários alias de propriedade para uma propriedade que será usada como um valor de correlação. Você faria isso se o mesmo valor de propriedade precisa ser mapeado a partir de mais de uma mensagem, o que é típico na correlação. Por exemplo, se duas mensagens diferentes possuem a mesma parte que você deseja extrair. Então, você precisa de uma propriedade e dois alias de propriedade - um para cada mensagem).  Os alias de propriedade são definidos em um arquivo WSDL.
  • O conjunto de correlações é definido em um arquivo BPEL. Um conjunto de correlações é uma chave composta feita de um ou mais valores de propriedade, na verdade, trata-se de um conjunto de propriedades. O tempo de execução do BPEL usa essa chave para garantir que as mensagens sejam roteadas para a instância do processo correta de uma conversação específica.
  • As correlações marcam as atividades, elas identificam os conjuntos de correlações por nome e indicam quais conjuntos de correlações ocorrem na mensagem que está sendo enviada ou recebida.

Elementos que usam e expressam correlação

Os conjuntos de correlações podem ser definidos para o elemento Processo. Os conjuntos de correlações definidos são usados por atividades de mensagens (Chamar, Responder e Receber), que descrevem uma conversação entre um processo e um serviço de parceiro.

Os conjuntos de correlações nas atividades de chamada são usados para verificar se as mensagens de saída contêm dados consistentes com aqueles encontrados nas instâncias do conjunto de correlações especificado.

Os nomes dos conjuntos de correlações também são usados nas ramificações onMessage dos elementos Selecionar e na variante onEvent dos manipuladores de eventos.

O IDE o avisará se a atividade requer a definição de correlação.

Definindo correlação. O assistente para Correlação

Existem duas formas de definir a correlação:

  • Usar o assistente para Correlação que realizará automaticamente todas as etapas principais. Essa é a forma mais fácil e conveniente de definir a correlação. Geralmente, você não precisa saber em detalhe como a correlação funciona. O assistente fará isso para você.
  • Definir a correlação manualmente

O assistente para Correlação é usado para definir as correlações de duas atividades de mensagem, tais como Chamar, Responder, Receber, OnEvent ou a ramificação onMessage do elemento Selecionar.

Observação: O assistente somente permite que você crie a correlação. Você não pode editar a correlação no assistente.

Para criar a correlação usando o assistente para Correlação:

  1. Na visualização Design, clique com o botão direito do mouse na atividade que requer a correlação e escolha Definir correlação. O assistente para Correlação se abre.

    Se a correlação for necessária para uma atividade, o IDE mostra uma marca de aviso no diagrama.

    A correlação é necessária para a atividade

    Escolha Definir correlação

  2. Etapa 1. Selecione a atividade de mensagem. Na lista suspensa, escolha uma atividade de mensagem inicial. A atividade escolhida aqui iniciará o conjunto de correlações. Clique em Próximo.

    Assistente para Correlação. Etapa 1

  3. Etapa 2. Defina a correlação. À esquerda, você vê uma estrutura em árvore da mensagem que a atividade inicial envia ou recebe. À direita, você vê a estrutura da mensagem passada pela atividade correlacionada. Conecte a mensagem que deve ser usada para definir a correlação, selecionando o nó no painel de árvore de origem e arrastando o ponteiro para o nó no painel de árvore de destino.

    Assistente para Correlação. Etapa 2
    Clicar para expandir

  4. A correlação é definida. O assistente criará as propriedades e os alias de propriedade em um arquivo WSDL, definirá um conjunto de correlações no arquivo BPEL e associará o conjunto de correlações com a atividade que você escolheu.

    Observe que as propriedades e os alias de propriedade são gravados em um novo arquivo WSDL que você pode ver entre os arquivos do processo do módulo BPEL. O arquivo WSDL original do serviço de parceiro é importado para o novo WSDL. Para toda correlação criada por meio do assistente, as propriedades e os alias de propriedade são gravados nesse arquivo. Os arquivos WSDL de parceiro são importados. O conjunto de correlações definido no arquivo BPEL se refere ao novo WSDL. Se você definir a correlação para todas as atividades de mensagem, todas as propriedades e as informações do alias de propriedade são gravados em um arquivo WSDL.

    Novo arquivo WSDL para propriedades e alias de propriedade

Para definir a correlação manualmente

  1. Defina uma ou mais propriedades no arquivo WSDL usando o editor WSDL ou Para adicionar uma propriedade a um arquivo WSDL:.
  2. Defina os alias de propriedade no arquivo WSDL usando o editor WSDL ou Para adicionar uma propriedade a um arquivo WSDL:.
  3. Defina um conjunto de correlações para o processo no arquivo BPEL, usando uma ou mais das propriedades definidas anteriormente.

    Para definir um conjunto de correlações:

    1. Na visualização Design, clique com o botão direito do mouse no elemento Processo e escolha Adicionar > Conjunto de correlações.

      Como alternativa, na visualização Lógica BPEL da janela Navegador, clique com o botão direito do mouse no nó Conjuntos de correlações e escolha Adicionar conjunto de correlações.

    2. Na caixa de diálogo Adicionar conjunto de correlações, especifique o nome do conjunto de correlações e clique em Adicionar para adicionar as propriedades.
    3. Na caixa de diálogo Seletor de propriedades, expanda o nó do arquivo WSDL, selecione uma propriedade para adicionar ao conjunto.
    4. (Opcional) Desmarque a caixa de verificação Mostrar apenas arquivos importados para exibir o conteúdo dos arquivos WSDL não importados e os arquivos do esquema XML.

      Por padrão, a caixa de diálogo Seletor de propriedades mostra apenas os arquivos que já foram referenciados no processo. Entretanto, o projeto pode conter outros arquivos .wsdl e .xsd que ainda não foram importados para o processo. Se você selecionar um tipo para a nova propriedade que seja definido em um arquivo não-importado, o IDE adicionará automaticamente a importação necessária ao processo BPEL.

      Os conjuntos de correlações definidos para o Processo possuem visibilidade global. O nome de um conjunto de correlações deve ser exclusivo entre os nomes dos outros conjuntos de correlações.

    5. Clique em OK.
  4. Associe um ou mais conjuntos de correlações a uma mensagem que seja enviada ou recebida em uma atividade Chamar, Receber, Responder ou Selecionar.
    1. Na visualização Design, clique duas vezes em um elemento (Chamar, Receber, Responder, na ramificação On Message de Selecionar ou na ramificação On Event de um elemento de contêiner Manipuladores de eventos).
    2. No Editor de propriedades, selecione a guia Correlações e clique em Adicionar.
    3. Na caixa de diálogo Escolher um conjunto de correlações, expanda o nó Conjuntos de correlações, selecione o conjunto de correlações e clique em OK.
    4. Escolha o atributo iniciar deste conjunto de correlações na lista suspensa Iniciar. Você pode selecionar uma das seguintes opções:
      • Sim. A atividade deve tentar iniciar o conjunto de correlações.
      • Unir. A atividade deve tentar iniciar o conjunto de correlações caso o mesmo ainda não tenha sido iniciado.
      • Não. A atividade não deve tentar iniciar o conjunto de correlações. Esta é a opção padrão.
    5. Para uma atividade Chamar, especifique o padrão da mensagem.

      Na lista suspensa Padrão, selecione o atributo de um padrão para indicar se a correlação se aplica à mensagem de saída (solicitação), mensagem de entrada (resposta) ou ambas (solicitação-resposta).

    6. (Opcional) Adicione mais conjuntos de correlações, conforme necessário, e clique em OK.

início


Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by