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...
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.


















