quarta-feira, 25 de junho de 2008

Framework Error Hospital do Oracle SOA Suite - Parte 1

O Error Hospital consiste em padrão de projetos (Design Patterns) para prover tratamento de exceções com um serviço. Onde, para prover simplicidade e performance para os processos de negócios, os mesmos são projetados como assíncronos ou síncrono (“event short-lived”). Desta forma, quando uma exceção neste processos são lançadas, as mensagens são publicadas em um processo error hospital que então prover a gestão necessária, incluíndo intervenções humanas se necessário.


Com isto, é possível listar as instâncias dos processos BPEL que necessitam de uma intervenção humana para continuar seus fluxos em cenários onde:
  • As Transações distribuídas ficam em estados inconsistentes após todas as retentativas e rollbacks automatizados;

  • As Transações que deveriam sempre ser terminadas (assíncronas sem retorno via callback) não chegaram ao fim após todas as tentativas automatizadas;

  • As Transações distribuídas que ficam em estados inconsistentes após todas as retentativas e não tem rollbacks configurados.
O Framework Error Hospital está disponível a partir da versão 10.1.3.3 do Oracle SOA Suite, permitindo que definições de políticas de tratamento de erros em tempo de execução sejam definidas, tais como Remote Faults e Binding Faults.

Os Remote Faults ocorrem quando o serviço que o processo BPEL tenta invocar não pode ser localizado, por exemplo, no caso de uma falha de rede ou servidor. Assim, em caso de Remote Faults, o processo BPEL pode ser reiniciado. No caso dos Binding Faults, os mesmos indicam um desencontro entre prestador de serviços e consumidores. Neste caso, uma intervenção humana faz-se necessário. Veja o macro fluxo abaixo.


No próxima post deste tema, estaremos tratando a integração do Framework Error Hospital com o Oracle BAM para permitir o controle dessas instâncias em tempo real, provendo uma solução mais prá-ativa.

Nenhum comentário: