Thursday, February 24, 2011

Modelagem de processos de negócio e modelagem de eventos complexos - Quando usar BPM e CEP

A abordagem de modelagem de processos tem sido muito discutida e quase sempre recomendada para iniciativas SOA. A massiva propaganda e momentum BPM parece nos indicar que é sempre interessante modelar processos para resolver um problema. A realidade, entretanto, é diferente da teoria, baseado em um cenário real que discuti hoje no começo da noite em uma empresa que está em uma franca implementação SOA.
Ouvindo John Zachman
A figura abaixo mostra o Zachman Framework. A coluna “How” é o domínio do BPM. A coluna “What” é o domínio das capacidades. A coluna “When” é domínio dos eventos complexos (CEP).
Processos expressam como fazer alguma coisa. Antes de pensar no como, entretanto, devemos pensar no que devemos fazer. Estes quês denotam as capacidades a serem desenvolvidas dentro de uma organização e, surpreendentemente, podem levar a uma abordagem completamente diferente que não implica no como, mas no quando.
Detecção de Fraudes e Processos de Manufatura
Considere uma capacidade de uma seguradora de detectar fraudes. A abordagem tradicional BPM iria buscar modelar os processos que podem detectar uma fraude. Entretanto, modelar a classe de processos que detectam fraudes pode levar uma conjunto extremamente complexo de variações que são muito difíceis de manter na prática. É um caso completamente antagônico ao processo de manufatura fabril, que pode ser classicamente modelado através de um processo discreto com variações conhecidas a priori.
A abordagem de captura de fraudes pode ser endereçada por uma outra dimensão na figura do Zachman Framework, que é a dimensão do quando, ou da modelagem de eventos complexos. A modelagem de eventos complexos nos dá instrumentos matemáticos muito interessantes, que resumo na figura abaixo que retrata as capacidades de um produto open-source popular neste meio, o Drools Fusion.
A figura abaixo mostra padrões intervalares e correlações temporais espaciais que podem ser capturadas através de máquinas de inferência de eventos complexos.
Processamento de Eventos Complexos
Por exemplo, com eventos complexos, podemos habilitar uma máquina de inferência para monitorar em um cenário de uma seguradora que dispare um alerta na ocorrência de pelo menos três das condições abaixo quando um novo “fato”de Sinisto ocorrer.
- Atraso na denúncia de mais de 72 horas;
- Número excessivo de testemunhas (maior que 3)
- Ausência de testemunhas.
- Sinistro que melhora situação difícil (situação cadastral ruim no SERASA).
- Desproporção entre causas e efeito do sinistro.
- Sinistro acontecido em ambiente familiar ou de amigos.
- Dificuldades ou demora em fornecer os documentos pedidos.
- Excesso de sinistros ou sinistros não compatíveis no período (saúde).
Naturalmente, não advogo que CEP deve ser usado para qualquer cenário. O CEP é indicado para alguns cenários bem específicos e deve ser realizado com bastante cautela.
A regra é que alguns problemas requerem uma abordagem baseada em processos e outros problemas requerem uma abordagem centrada em eventos. Outros problemas requerem as duas abordagens. Entretanto, todos os problemas podem ser modelados dentro do contexto da Arquitetura Corporativa, no contexto do Zachman Framework.

No comments: