As seções seguintes descrevem em sua ordem de aparição:
As circunstâncias em que você usaria um manipulador específico.
O uso desses elementos no contexto do BPEL Designer.
Nesta versão do BPEL Designer, você pode adicionar manipuladores de falhas e manipuladores de eventos ao seu processo BPEL. Observe que manipuladores de compensação e de término não são aceitos. Consulte o BPEL Service Engine User's Guide para obter detalhes sobre as construções e as limitações relacionadas suportadas da linguagem BPEL 2.0.
A linguagem BPEL oferece a habilidade de interceptar e gerenciar exceções usando manipuladores de falhas. Por exemplo, as exceções ocorrem quando os serviços Web retornam dados diferentes do que era esperado. Se as falhas não forem manipuladas, todo o processo BPEL pode passar para um estado de falha. Portanto, para evitar que todo o processo falhe, você pode adicionar manipuladores de falhas para interceptar e gerenciar exceções em Escopos específicos.
Cada manipulador de falhas contém uma atividade que é executada em caso de erro. Por exemplo, um serviço de parceiro será notificado se tiver ocorrido um erro. Os manipuladores de falhas podem ser adicionados ao processo inteiro ou a elementos Escopo individuais.
Você pode anexar um contêiner Manipulador de falhas aos elementos Processo ou Escopo. Dentro do contêiner Manipuladores de falhas, você pode criar várias atividades Interceptar configuradas para interceptar tipos de falhas específicos, ou um elemento-manipulador Interceptar todos para interceptar todas as exceções não detectadas por manipuladores específicos.
Uso
Clique com o botão direito do mouse no elemento Escopo ou Processo e escolha Adicionar > Manipuladores de falhas.
Um elemento de contêiner vazio aparece.
Clique com o botão direito do mouse no contêiner Manipulador de falhas e escolha Adicionar > Interceptar ou Adicionar > Interceptar todos.
Você pode adicionar ao grupo Manipuladores de falhas quantos elementos Interceptar específicos desejar. Você pode adicionar somente um elemento Interceptar todos por contêiner Manipuladores de falhas.
Adicione uma atividade ao elemento Interceptar ou Interceptar todos que será executado em caso de uma falha.
Elemento Interceptar
Use esse elemento para interceptar e lidar com um tipo específico de falha.
Este elemento é usado em um elemento de contêiner Manipuladores de falhas apropriado.
Propriedades do elemento Interceptar
As propriedades do elemento Interceptar são definidas na janela Propriedades. Você também pode clicar com o botão direito do mouse no elemento do diagrama e escolher Propriedades. As propriedades disponíveis são:
Nome da falha. Selecione o qname da falha na lista de falhas, que inclui as falhas definidas nos arquivos WSDL.
Nome da variável de falha. Especifique o nome de uma variável BPEL existente que conterá a mensagem de falha.
Tipo de variável da falha. Especifique o tipo da variável.
Elemento Interceptar todos
Use o elemento Interceptar todos para interceptar e lidar com todas as falhas que não são interceptadas por um elemento de interceptação associado.
O elemento Interceptar todos é usado em uma janela do manipulador de falhas junto com um ou mais elementos de interceptação. É definido em um elemento de contêiner Manipuladores de falhas junto com um ou mais elementos de interceptação.
Não há propriedades para o elemento Interceptar todos. Seu comportamento é predefinido e não requer configuração de propriedade.
O processo BPEL inteiro, bem como cada escopo individual, pode ser associado a um conjunto de manipuladores de eventos que serão chamados simultaneamente, se o evento correspondente ocorrer. As ações feitas em um manipulador de eventos podem ser de qualquer tipo de atividade, tal como Seqüência ou Fluxo. O único filho imediato de um manipulador de eventos é Escopo, sendo assim, quando você arrasta um elemento da paleta para o manipulador de eventos, ele é empacotado automaticamente em Escopo.
Existem dois tipos de eventos:
As mensagens de entrada, que correspondem a uma operação de solicitação/resposta ou unidirecional no WSDL. Essas mensagens são especificadas por meio de elementos On Event.
Alarmes ou temporizadores, que chamam atividades após os períodos especificados ou quando um prazo é alcançado. As horas são especificadas por meio de elementos On Alarm.
Uso
Clique com o botão direito do mouse no elemento Processo ou em qualquer elemento Escopo e chame a ação Adicionar manipuladores de eventos. Isso não adiciona um manipulador de eventos em particular, apenas adiciona um elemento de contêiner ao qual você pode adicionar manipuladores de eventos específicos.
Depois de adicionar um contêiner Manipuladores de eventos, você pode clicar com o botão direito do mouse no elemento Manipuladores de eventos para adicionar uma ramificação On Event ou On Alarm. Você pode adicionar ao grupo Manipuladores de eventos quantos elementos On Event ou On Alarm específicos desejar.
Elemento On Event
O elemento On Event indica que o evento especificado está aguardando que uma mensagem chegue. A interpretação dessa marca e seus atributos é muito semelhante a uma atividade Receber.
Uso
Clique com o botão direito do mouse no contêiner Manipuladores de eventos e escolha Adicionar > On Event.
Quando você clica duas vezes no elemento On Event se abre um editor de propriedades, onde você pode especificar/alterar o seguinte:
O link de parceiro
A operação associada ao elemento On Event
A variável do evento
Quando você clica com o botão direito do mouse no elemento OnEvent e escolhe Propriedades se abre uma janela Propriedades, onde você pode consultar e modificar as propriedades do elemento. Além das propriedades presentes na caixa de diálogo Editor de propriedades, a janela Propriedades contém o campo Tipo de porta, que é preenchido quando você especifica o link de parceiro e a operação, e o campo Tipo, que é preenchido com o tipo da variável even especificada.
A aba Correlações na caixa de diálogo Editor de propriedades On Event permite que você exame ou especifique um conjunto de correlações.
O elemento OnAlarm especifica o prazo ou a duração do escopo aninhado.
Propriedades do elemento On Alarm
As propriedades do elemento On Alarm são definidas na janela Propriedades, chamada quando você clica com o botão direito do mouse no elemento do diagrama e escolhe Propriedades. As propriedades disponíveis são:
Tipo de alarme, que é a propriedade usada para escolher o tipo de alarme. As opções disponíveis são:
Para. Define o período de tempo que o processo deve aguardar.
Até. Especifica o prazo do processo.
Repetir a cada. Especifica a freqüência da iniciação do processo. Inicia o processo cada vez que o período de duração especificado expira. O relatório da primeira duração inicia quando o escopo associado se inicia.
Por + Repetir a cada. Especifica a freqüência da iniciação do processo após a duração de um tempo de espera especificado. O processo será iniciado cada vez que o período de duração especificado no campo Repetir a cada expirar. O primeiro alarme é disparado quando o período de tempo especificado no campo Por expira.
Até + Repetir a cada. Especifica a freqüência de iniciação do processo com base no prazo especificado. O processo será iniciado cada vez que o período de duração especificado no campo Repetir a cada expirar. O primeiro alarme é disparado quando o prazo especificado no campo Até é alcançado.
A segunda propriedade (e terceira, se disponível) é usada para especificar a duração ou o prazo do tipo de alarme selecionado.
Um processo comercial geralmente contém várias transações aninhadas. A transação comercial geral pode falhar ou ser cancelada depois que muitas transações incluídas já tiverem sido processadas. Então, é necessário reverter o efeito obtido durante a execução do processo. Por exemplo, um processo de planejamento de viagem pode incluir várias transações aninhadas para reservar um bilhete, reservar um hotel e um carro. Se a viagem for cancelada, as transações de reserva devem ser compensadas por transações de cancelamento na ordem apropriada. Nesses casos, o WS-BPEL oferece o recurso de definir as ações de compensação. Um manipulador de compensação é um contêiner para as atividades que realizam ações de compensação. Você pode adicionar um manipulador de compensação aos elementos Escopo ou Chamar. O manipulador de compensação pode ser chamado pela atividade Compensar escopo ou Compensar.
Uso
Para adicionar um manipulador de compensação aos elementos Escopo ou Chamar:
Clique com o botão direito do mouse no elemento Escopo ou Chamar e escolha Adicionar > Manipulador de compensação.
Um elemento de contêiner vazio aparece.
Na Paleta, arraste uma ou várias atividades que serão executadas e coloque-as dentro do contêiner Manipulador de compensação. Configure as propriedades de cada atividade.
Você não precisa configurar quaisquer propriedades para o manipulador de compensação.
O manipulador de conclusão é usado para controlar a conclusão de um escopo em execução. A conclusão de um escopo em execução acontece se um escopo ou processo que a inclui tiver falhado
Quando uma falha é lançada dentro de um escopo ou processo, um manipulador de falha associado ao escopo ou processo deve ser executado, mas antes que todas as atividades em execução dentro do escopo ou processo falho tenham sido concluídas. Se um escopo ou processo falho tiver escopos incluídos que estejam em execução, eles também devem ser concluídos. Concluir um escopo significa concluir as atividades que estejam dentro dele e executar o manipulador de conclusão associado ao escopo.
Observe que um escopo pode ser concluído somente se estiver sendo executado normalmente ou estiver executando seu manipulador de coclusão ou manipulador de falha. Um escopo concluído, assim como um escopo com falha ou que esteja executando seus manipuladores de falhas não podem ser concluídos.
O manipulador de conclusão é um contêiner para as atividades que serão realizadas caso um escopo seja concluído. Você pode adicionar um manipulador de conclusão para um escopo.
Se uma falha ocorrer dentro do manipulador de conclusão de um escopo, ela não é propagada para o escopo incluído.
Uso
Para adicionar um contêiner Manipulador de conclusão aos elementos Escopo ou Processo:
Na visualização Design, clique com o botão direito do mouse no elemento Escopo e escolha Adicionar > Manipulador de conclusão.
Um elemento de contêiner vazio aparece.
Na Paleta, arraste uma ou várias atividades que serão executadas e coloque-as dentro do contêiner Manipulador de conclusão. Configure as propriedades de cada atividade.
Você não precisa configurar quaisquer propriedades para o manipulador de conclusão.