quarta-feira, 12 de novembro de 2008

Como "executar" um BPMN?

Tenho pensado muito a respeito disto: Como ir do BPMN ao BPEL? E, uma vez tendo o BPEL feito, como fica o sincronismo entre os dois diagramas?

Lendo muitos posts de outros blogs e alguns artigos, cheguei às seguintes conclusões:

  • O BPMN é uma notação que surgiu, essencialmente, para fazer a ponte entre o analista de negócios e o analista de sistemas, entre o especialista de processos e o especialista em TI. Não para ser algo que saia executando diretamente. Isto é uma visão distorcida dele. E algumas ferramentas do mercado estão indo para este caminho.
    O problema de se fazer isto é que o diagrama BPMN em si não tem todas as informações para ser executado diretamente. Para resolver isto, acaba-se adicionando informações mais técnicas, mais focadas na execução do mesmo. Com isto o diagrama deixa de ser uma visão do processo feita por um especialista e acaba virando um diagrama para execução, normalmente fugindo do padrão da especificação e se enchendo de tags específicas para um determinado fabricante da engine de execução.
  • BPMN e BPEL tem diferenças semânticas de linguagem. Certas estruturas do BPMN não possuem equivalente em BPEL e vice-versa. Logo, fazer um "round-trip" entre eles é uma tarefa extremamente complexa. Na maioria dos casos, inviável (ao menos de uma forma direta, sem intervenção humana). Algumas ferramentas, como o Business Modeler da IBM, geram o BPEL a partir do BPMN. Mas, se não me engano, funciona meio que como uma exportação: ele gera um esqueleto de um BPEL e a partir daí você fica "por conta". O especialista em TI vai terminar o fluxo e colocá-lo em produção. Mas quando o processo alterar e precisar mexer no BPEL, como isto será feito? Altera-se o BPMN, exporta novamente para BPEL e termina o desenho? Ou alteram-se o BPMN e o BPEL, separadamente? Complicado, não? Dar manutenção em dois modelos que representam o mesmo processo e que ao mesmo tempo são distintos...
Em suma, ainda não sei como fica isto. Se alguém tiver alguma experiência prática para compartilhar, ou algum comentário, fique à vontade.

Ainda não vi nenhuma empresa utilizando BPMN + BPEL direto, em produção. Vi muitas teorias, mas queria ter visto ao menos um caso de sucesso.

2 comentários:

Leili disse...

Muito obrigada por compartilhar seus conhecimentos em BPMN. Seu blog virou uma referência para nossa equipe de mapeamento de processos. Valeu!

Carlos A C Grahl disse...

Poxa, muito obrigado mesmo! São emails como este seu que fazem valer a pena o esforço de manter um blog. Infelizmente, desde os acontecimentos de novembro do ano passado eu não consegui voltar ao meu ritmo normal. Estou tentando voltar agora, mas mesmo assim está bem devagar, infelizmente.

Mas fico realmente muito feliz em ver que este meu blog está ajudando outras pessoas. Muito obrigado mesmo! :-)