Veja aqui a primeira parte do passo a passo para colocar a mão na massa e automatizar um fluxo de trabalho simples numa plataforma BPMS Open Source completa.
O objetivo destes exercícios será partir de processos muito simples a situações mais complexas para cobrir todos os elementos dos standards de BPM na Guia de Referência para Modelar Processos, Casos e Decisões em BPMN, CMMN e DMN. Este trabalho é resultado de feedback das pessoas que receberam a guia impressa em eventos que participei ou se cadastraram no meu blog para receber pelos Correios.
Este exercício prático poderá auxiliar você a repensar seus processos, se aprofundar mais técnicamente nos standards de BPM e acelerar a Transformação Digital na sua organização com a diminuição da fragmentação do trabalho para um contexto de medição de entrega plena de resultados, menores custos, mais velocidade aos processos e, consequentemente, proporcionar melhores experiências para os usuários (clientes ou beneficiários).
Enunciado do exercício
Nesta primeira parte, vamos atender alguns itens do enunciado a seguir. Os outros itens serão endereçados nos próximos posts.
* Este slide é parte do material de capacitação da Projeler ministrado por mim em turmas abertas e fechadas (in company).
Arquitetura da solução
Utilizaremos os componentes a seguir para atingirmos os objetivos de cobertura de todos elementos das Técnicas BPMN, CMMN e DMN e das Tecnologias de BPM.
Baixar o Camunda Modeler
Acesse Download Camunda Modeler e faça o download da sua plataforma de preferência: Mac OS, Windows ou Linux ou acesse a última distribuição.
Agora é só descompactar o arquivo e executar a ferramenta e verificar a versão instalada.
Modelar o “caminho feliz” processo
O caminho feliz (happy path) ou também chamado de STP – Straight Through Processing é o caminho da configuração padrão de instância, sem retrabalhos e exceções com o mínimo de intervenção humana para tramitar de ponta a ponta (do evento que inicia a instância à entrega de resultado do processo).
Para mais informações, acesse este assunto a partir do slide 90 da apresentação Transformação Digital de Procesoss, Casos e Decisões em PDF.
Use a opção File / New File / BPMN Diagram e crie o diagrama publicar-noticia.bpmn a seguir:
Após modelar o processo de negócio, você já pode fazer uma primeira simulação simples.
Para mais informações de como instalar o plugin, acesse Simulação de processo com BPMN.
Mapeamento de propriedades para execução
Clique na aba lateral “Properties Panel” para apresentar as propriedades de cada contexto do processo.
Clique em qualquer lugar em branco fora dos eventos e e tarefas para inserir as propriedades do processo, conforme imagem a seguir:
As propriedades da seção General serão necessárias para atribuir um identificador único ao processo de negócio, apresentar um rótulo descritivo nas interfaces do Tasklist e Cockpit.
Clique no evento e altere as propriedades conforme imagem a seguir:
Na aba General, altere o Id da tarefa para StartEvent_SolicitacaoDePublicacaoDeNoticiaRecebida ou utilize o plugin que renomeia os elementos automaticamente.
Informe nomeUsuarioInicioInstancia no campo Initiator da seção Details para criar a variável com o nome do usuário que iniciou a instância de processo. Esta variável será utilizada via expressões para atribuir tarefas a este mesmo usuário que iniciou a instância.
Formulários das tarefas humanas gerados automaticamente
Para testes de protótipo do processo, utilizaremos as propriedades dos campos do formulários para Generated Task Forms que fará a geração de formulários simples a partir do mapeamento de dados.
Mantendo o contexto no evento de início, selecione a aba Forms e adicione [+] dois campos na seção Form Fields conforme imagens a seguir:
Campo Título da Notícia
Campo Texto da Notícia
Adicione estes mesmos campos para as outras três tarefas humanas: Revisar a notícia, Publicar a notícia no site e Informar notícia publicada. Você poderá fazer isso pela aba de propriedades ou copiar/colar parte do XML para as outras tarefas.
<bpmn:extensionElements> <camunda:formData> <camunda:formField id="tituloNoticia" label="Título" type="string"> <camunda:validation> <camunda:constraint name="required" /> </camunda:validation> </camunda:formField> <camunda:formField id="textoNoticia" label="Texto" type="string"> <camunda:validation> <camunda:constraint name="required" /> </camunda:validation> </camunda:formField> </camunda:formData> </bpmn:extensionElements>
Na tarefa ‘Revisar a notícia’ altere o Id para UserTask_RevisarANoticia e informe o grupo candidato (Candidate Groups) como ‘revisor’.
Na tarefa ‘Publicar notícia no site’ altere o Id para UserTask_PublicarANoticiaNoSite e informe o grupo candidato (Candidate Groups) como ‘ti’.
Na tarefa ‘Informar notícia publicada’ altere o Id para UserTask_InformarNoticiaPublicada e informe o usuário responsável (Assignee) com a expressão ‘${nomeUsuarioInicioInstancia}’ que fará a substituição em tempo de execução pelo conteúdo da variável do usuário que iniciou a instância (instantiator).
Em todas as tarefas de usuário, adicione a expressão ${tituloNoticia} ao rótulo das tarefas para ser apresentado o conteúdo do título da notícia na lista de tarefas.
Se preferir, use as teclas Shift+Enter para quebrar o texto em uma nova linha.
Na primeira tarefa, adicione uma descrição: ‘O usuário com o papel de revisor deverá dar a sua decisão e o parecer sobre a notícia.’
* O indicador em amarelo do canto da tarefa com uma letra ‘D’ é o resultado do plugin que pode ser instalado a partir do repositório do GitHub.
Agora salve o diagrama.
Implantar o diagrama
Na barra de ícones, selecione ‘Deploy Current Diagram’ para fazer a implantação do processo no servidor do motor de processos.
Na modal de diálogo informe ‘publicar-noticia’ no campo ‘Deployment Name’ e clique no botão ‘Deploy’.
Pronto, o seu diagrama já está disponível para ser executado.
Execução do fluxo de trabalho
No post anterior Como instalar a plataforma Camunda BPM com a tradução para o Português Brasileiro você terá as informações para criar o ambiente de execução que será utilizado.
Habilitar a distribuição de novas versões do projeto no Tomcat
Antes de iniciar o servidor Tomcat, altere o arquivo ${CAMUNDA_HOME}/server/apache-tomcat-9.0.5/conf/tomcat-users.xml adicionando as linhas a seguir:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="admin123" roles="manager-gui, manager-script"/>
Iniciar o servidor
Se você estiver em Windows, execute start-camunda.bat
Se você estiver em Linux ou MacOSX, execute start-camunda.sh
Rodar o fluxo de trabalho (workflow)
Abra o seu navegador preferido e acesse o Camunda Tasklist com o usuário ‘demo’ / senha ‘demo’.
Na opção de menu no canto superior direito, clique em ‘Iniciar processo’ e selecione o processo ‘Publicar notícia’.
Preencha os campos um título e texto de exemplo e clique no botão ‘Iniciar’.
BPMN 2.0 agora é um padrão ISO A OMG dá um grande passo para a BPMN se tornar um padrão de fato como notação e modelo para representar e executar de processos de negócio. A versão 2.0.2 da Business Process Model and Notation (BPMN) foi publicada como um padrão ISO / IEC 19510:2013.
Clique no filtro ‘All Tasks (1)’ para selecionar a tarefa ‘Revisar a notícia BPMN 2.0 agora é um padrão ISO’
Como a tarefa foi assinalada para o grupo ‘revisor’ você terá que se apropriar desta tarefa clicando em ‘Assumir’.
Perceba que agora a tarefa está disponível para edição e pode ser completada.
Clique no [x] ao lado do nome do usuário e assuma novamente.
Clique na aba ‘Histórico’ para perceber que todas as operações com a tarefa são auditadas.
Clique na aba ‘Diagrama’ para ver o contexto da tarefa na instância de processo.
Clique na aba ‘Descrição’ para ter acesso as informações sobre a tarefa.
Retorne para a aba ‘Formulário’ e clique no botão ‘Completar’.
O fluxo de trabalho agora está na tarefa seguinte.
Clique novamente em ‘Assumir’ e clique no botão ‘Completar’ na aba ‘Formulário’.
Perceba que a próxima tarefa aparece agora no filtro My Tasks (1). Você poderá alterar este filtro para ‘Minhas Tarefas’ clicando no lápis ao lado.
Perceba que esta tarefa, ao invés de ser assinalada para o grupo de usuários (papel), ela foi assinalada automaticamente para o usuário que iniciou a instância (solicitante).
Inspecionar a instância de processo
Clique no ícone da casa no canto superior direito e troque a visualização para o Camunda Cockpit.
No meu superior, clique em ‘Processos’ para vermos os processos e volume de instâncias.
Ao clicar no processo “Publicar notícia’ veremos as instâncias em execução.
Clique na Id correspondente a uma instância.
Podemos perceber o ponto onde a instância está parada, a variável com o nome do usuário que iniciou a instância e o conteúdo das variáveis de formulários neste ponto.
Na versão Camunda BPM Platform Enterprise Edition é possível analisar dados históricos das instâncias e o Mapa de Calor (Heat Map).
Espero que você tenha gostado deste primeiro post Modelagem e Automação de Fluxos de Trabalho e Decisões – Exercícios Práticos com a Plataforma Camunda BPM – Parte 1. Pudemos conhecer um pouco mais sobre como modelar, implantar, executar e inspecionar uma instância de um processo muito simples.
No próximo post Modelagem e Automação de Fluxos de Trabalho e Decisões – Exercícios Práticos com a Plataforma Camunda BPM – Parte 2 vou apresentar como desenvolver formulários mais elaborados para as tarefas humanas, utilizar o Git e o Maven no Eclipse para controle de versões e implantação da aplicação com um pacote de distribuição e começar o fluxo de entregas contínuas BizDevOps, ou apenas DevOps.