![Este tópico se aplica somente à configuração do IBM Business Process Manager Advanced.](../ebpm.gif)
Diagramas de transição de estado para instâncias de processo BPEL
Alterar estado dos processos sempre que acontece algo de significativo durante o ciclo de vida da instância de processo. Por exemplo, uma solicitação da API faz com que um processo no estado de execução seja colocado no estado suspenso. Diagramas de transição de estado mostram as transições de estado que podem ocorrer durante o ciclo de vida do processo. Microfluxos e processos de execução longa possuem diagramas de transição de estado diferente.
Convenções utilizadas nestes diagramas
Símbolo | Explicação |
---|---|
![]() |
Estado transitório. Esses estados não são visíveis. |
![]() |
Estado persistente. |
![]() |
Estado final transitório. |
![]() |
Estado final persistente. |
![]() |
As transições de estado que são acionados automaticamente pelo Business Flow Manager. |
![]() |
Transições de estado que são o resultado de uma interação externa utilizando uma API. |
![]() |
As transições de estado que são controlados pelo Business Flow Manager, ou são o resultado de uma interação externa utilizando uma API. |
Diagrama de transição de estado para instâncias de microfluxo
Um microfluxo é considerado para ser stateless porque o processo sempre é executado em uma transação e as informações da instância não são persistentes na navegação da instância de processo. No entanto, dependendo da definição de processo e como o Business Flow Manager estiver configurado, o estado de um microfluxo pode ser exposto no Common Base Events ou no log de auditoria.
O diagrama a seguir mostra os estados que uma instância do microfluxo pode ter.
Depois do início normal da instância de processo, o primeiro estado do processo que uma instância de processo atinge é o estado de execução (1). Quando uma instância do processo é executada normalmente até a conclusão, o estado do processo de execução é alterado para concluído (2). Se uma falha atingir o limite do processo, o processo é colocado no estado com falha (3). O processo permanece no estado de falha enquanto o manipulador de falhas executa. Depois disso, a instância de processo é colocada no estado com falha (4).
Todas essas transições de estado são acionadas pelo Business Flow Manager. Após um microfluxo iniciar, você não pode influenciar estas etapas automáticas.
Diagrama de transição de estado para instâncias de processo de execução longa
![O diagrama mostra os estados e as transições de estado para uma instância de processo de execução longa do estado de execução até um dos estados finais do processo.](../images/longrunning_states.gif)
Os estados de execução, concluído, com falha, e as transições de estados entre eles são as mesmas que para os microfluxos.
Uma instância do processo é terminada por uma solicitação externa ou uma atividade de finalização. O término de uma instância de processo pode abranger várias etapas de navegação e, portanto, várias transações encadeadas, por exemplo, para finalizar os subprocessos ou atividades de execução longa. Durante essa fase de finalização, a instância de processo está no estado de término (5), (14), (18). Quando todas as partes de execução longa do processo são finalizadas, o estado da instância do processo também é alterado para finalizado (6).
Quando um processo-filho foi finalizado com êxito e o processo pai posteriormente falhar, o processo-filho pode ser compensado. Durante de compensação, o processo-filho está no estado de compensação (7). Se a compensação foi finalizada com êxito, o processo-filho é colocado no estado compensado (8). Se a compensação não for bem-sucedida, o processo-filho é colocado no estado com falha de compensação (9). Estas transações de estado são iniciadas pelo processo pai automaticamente.
Se a navegação da instância do processo ainda estiver ativa, ou seja, ela está no estado de execução ou em estado de falha, ela pode ser suspensa com uma solicitação da API. Ela pode então ser reativada, após um tempo especificado, ou por uma solicitação de retomada. O estado do processo de execução ou de falha é alterado para suspenso (11), (12) com a solicitação de suspensão e de suspenso para de execução ou de falha com a solicitação de retomada (10), (13). Um processo no estado suspenso também pode ser finalizado (14). Apenas instâncias de processos de nível superior podem ser suspensas e retomadas No entanto, o estado de suspensão ou retomada é propagado para os processos-filhos.
Quando um processo atinge um dos estados finais, concluído, finalizado, ou com falha, ele pode ser iniciado novamente com uma solicitação da API de reinício (15), (16), (17). Apenas instâncias de processos de nível superior podem ser reiniciadas, enquanto as instâncias de processo-filho só podem ser compensadas.
Uma instância do processo pode ser excluída quando ela atinge um estado final (19). O processo pode ser excluído automaticamente se o atributo excluir automaticamente na conclusão estiver configurado adequadamente, ou pode ser acionado por uma solicitação de exclusão explícita.