BPEL - Usando Tratamento de Falhas

Para entender como usar o tratamento de falhas, precisamos aprender a arquitetura básica de um Service Composite no Oracle SOA Suite.

  • Service components- Processos BPEL, Regra de Negócios, Tarefa Humana, Mediador. Eles são usados ​​para construir um aplicativo composto SOA.

  • Binding components - Estabelecer conexão entre um composto SOA e o mundo externo.

  • Services - Fornece um ponto de entrada para o aplicativo composto SOA.

  • Binding - Define os protocolos que se comunicam com o serviço como SOAP / HTTP, adaptador JCA, etc.

  • WSDL - Define a definição de serviço de um serviço web.

  • References - Permite que um aplicativo composto SOA envie mensagens para serviços externos

  • Wires - Permite a conexão entre os componentes do serviço.

Tipos de Falhas

Vamos agora ver os diferentes tipos de falhas.

Falhas de negócios

Ocorre quando o aplicativo executa a atividade THROW ou um INVOKE recebe falha como resposta. O nome da falha é especificado pelo componente de serviço do processo BPEL. O manipulador de falhas usando o nome da falha e a variável de falha detecta essa falha.

Falhas de tempo de execução

Isso é acionado pelo sistema. Essas falhas estão associadas aRunTimeFaultMessage e estão incluídos em

http://schemas.oracle.com/bpel/extensionnamespace.

Formas de tratamento de falhas

Nesta seção, aprenderemos sobre as diferentes formas de tratamento de falhas.

Jogue atividade

Jogue a atividade explicitamente lança a falha. O bloco catch detecta essa falha e as ações correspondentes são executadas desse modo.

  • Usando a atividade de lançamento, você pode lançar falhas de negócios e dentro do escopo criado, você pode detectar essa falha e redirecionar para o chamador (consumidor) para agir.

  • Em vez da abordagem acima, você lança a mesma falha detectada na atividade de captura do escopo criado. No escopo principal, você pode detectar essa falha usando a atividade catchall.

Estrutura do manipulador de erros (EHF)

Os 2 principais arquivos usados ​​em EHF são -

  • Fault-Policy.xml
  • Fault-Bindings.xml

Sempre que o processo BPEL gerar um erro, o EHF verificará se o erro existe nos arquivos Fault-Bindings.xml. Nesse caso, a ação no arquivo Fault-Policy.xml será executada. Se a ação não for encontrada, a falha será lançada e será tratada no bloco de recepção.

A estrutura de gerenciamento de falhas (Fault-Policy.xml e Fault-Bindings.xml) é mantida dentro de um SOA Composite.

Manipuladores de falhas como catch e catchall estão dentro de um BPEL para capturar todas as falhas, mas fault policies will only be executed when an invoke activity fails.