Modelo de Processo de Negócios e Notação (BPMN - Business Process Model and Notation) fornece um padrão para compreender todo o fluxo de processos (Fluxo de trabalho) de uma empresa em notações gráficas, garantindo o entendimento, participação e adequação de acordo nas necessidades do negócio. Atualmente o BPMN está em sua versão 2.0.2 e é mantido pela organização internacional OMG, ela também é responsável por manter outros padrões, como o UML.

As principais vantagens em utilizar o Cronapp BPM em seu projeto:

  • Seu uso é bem simples e possui rápida curva de aprendizado;

  • Todo o processo pode ser desenvolvido a partir de recursos visuais, com cliques e drag-and-drop (arrastar e soltar);

  • Utiliza um padrão já bem estabelecido no mercado e é suportado por diversos produtos;

  • O BPMN é mantido por uma instituição confiável e conhecida por manter vários outros padrões;

  • Possui um serviço confiável, com diagramas executáveis, fluxo de tarefas manuais, manipulação de eventos e de fácil entendimento por todos;

  • Possui uma aplicação standalone com um painel de gerenciamento onde é possível manipular todos os fluxos.


Figura 1 - Exemplo de modelagem BPMN usando o Editor de Fluxo de trabalho


Atualmente o Cronapp só dá suporte para criações através do motor BPM - ou seja, não é possível criar CMMN ou DMN dentro do Cronapp. No entanto, se o projeto possuir esse conteúdo e for importado, funcionará corretamente, desde que ele seja compatível com BPMN 2.0.

Para acessar todos os métodos, formatos e conteúdos esperados acesse a documentação oficial do Camunda.

Adicionar plugin

Siga os passos abaixo para instalar o Plugin Cronapp Workflow (BPM) em seu projeto Cronapp.


Figura 2 - Adicionando plugin Cronapp Workflow (BPM)


  1. Acesse no menu do sistema Plugin > Instalar Plugins.

  2. Pesquise por "BPM" no campo de busca.

  3. Selecione Cronapp Workflow (BPM), clique em Avançar e, em seguida, em Finalizar.


Se o botão Modo Avançado estiver habilitado, aparecerá a janela "Sumário de alterações no arquivo POM" informando as modificações necessárias para a instalação do plugin, clique em Salvar. Caso o botão esteja desabilitado, a instalação será feita sem a janela de notificação.

Após essa etapa, recomendamos Recompilar e Reabrir o projeto.


Recursos do plugin

O conteúdo criado no Cronapp BPM é armazenado em um banco de dados e, após a instalação do plugin, o Cronapp cria automaticamente uma nova conexão de banco de dados H2 com essa estrutura (Figura 2.1). Como o H2 é um banco de dados efémero (temporário), o desenvolvedor deve acessar a funcionalidade de Banco de dados (destaque 1 da figura 2.1), editar a nova conexão (2) e apontar para um banco de dados real (veja mais detalhes em Banco de dados).


Figura 2.1 - Banco de dados criado após a instalação do plugin


Também são adicionadas 5 novas categorias de Workflow no editor de Bloco de programação Servidor, permitindo a personalização dos seus fluxos de trabalho (Figura 2.2).

Acesse a documentação oficial do Camunda para obter mais informações sobre a API Workflow e os recursos executados pelos blocos.


Figura 2.2 - Blocos de programação do Workflow

Fluxo de trabalho

Após a instalação do plugin, seu projeto está pronto para criar uma aplicação utilizando o moto do Cronapp BPM.

Criar Fluxo de Trabalho

Siga os passos abaixo para criar um arquivo do tipo Fluxo de trabalho em tempo de desenvolvimento.



Figura 3.1 - Criando novo arquivo BPMN


  • Clique com o botão direito na pasta Fluxos de Trabalho (Localização: Fluxo de Trabalho/  ).

  • Selecione a opção Novo > Fluxo de Trabalho.

  • Informe o nome do arquivo na janela que abrir e clique em OK.

Editor BPMN

O Editor de Fluxo de trabalho cobre todos os elementos do BPMN 2.0 para processos de modelagem. A figura abaixo apresenta as áreas principais do editor.


Figura 3.2 - Área de edição do Fluxo de Trabalho


  1. Caixa de ferramentas: possui os elementos, as conexões e as ferramentas para manipulação.
  2. Área de edição: área para construção do diagrama de orquestração.
  3. Painel de propriedades: muda conforme o elemento selecionado, nesse painel é possível visualizar e editar atributos que se aplicam ao elemento atualmente selecionado.

Atalhos dos elementos

Ao selecionar um elemento na área de edição serão exibidos alguns ícones de atalhos para realizar configurações (Figura 3.3), esses ícones podem variar conforme o tipo de elemento selecionado.


Figura 3.3 - Ícones de atalho do elemento evento de início


  1. Ícones de elementos: esses ícones representam outros elementos da caixa de seleção e mudam conforme o elemento selecionado, mas sua ação é a mesma - ele cria uma conexão entre o elemento selecionado e o elemento do ícone escolhido.
  2. Adicionar comentário: cria uma caixa flutuante no elemento para que possa ser inserido comentários.
  3. Mudar tipo: abre uma caixa de opções para alterar o tipo do elemento.
  4. Remover: remove o elemento da área de edição.
  5. Conexões: adiciona uma conexão entre o elemento selecionado e outro elemento que esteja presente na área de edição.

Elementos e seus tipos

Abaixo listamos os elementos que compõem o BPMN 2.0.

Piscina

Uma piscina serve para representar um processo ou participante. Uma piscina pode ter raias e o conteúdo dentro dessas raias representam as responsabilidades que um participante ou processo podem ter.


Figura 3.3.1 - Piscina e piscina com raia

Subprocesso

Um subprocesso é um conjunto de atividades de um processo maior, possuindo mais detalhes do que o processo. O elemento que caracteriza um subprocesso é um retângulo com bordas arredondadas e que varia conforme os seus tipos: subprocesso embutido (borda simples), atividade de chamada (bordas em negrito), subprocesso por evento (bordas pontilhadas) e transação (bordas duplas) (Figura 3.3.2).

O elemento subprocesso embutido é o padrão após arrastar um subprocesso, utilize o ícone da ferramenta (destaque 3 da figura 3.3) para alterar para outro tipo de subprocesso.


Figura 3.3.2 - Tipos de subprocesso


  • Subprocesso embutido: faz referência a um processo interno.
  • Atividade de chamada: faz referência a um processo externo.
  • Subprocesso por evento: subprocesso que ocorre através da ação de um evento.
  • Transação: agrupa várias atividades para uma transação.

Tarefa

Uma tarefa contém atividades que deverão ser realizadas pelo responsável dentro de um prazo. Essas tarefas podem ter várias definições (Figura 3.3.3) que são alternadas ao utilizar o ícone da ferramenta (destaque 3 da figura 3.3) .



Figura 3.3.3 - Tipos de tarefa


  • Tarefa: tarefa sem nenhuma definição.
  • Tarefa de enviar mensagem: envia uma mensagem para um participante ou processo através de um bloco de programação, por exemplo.
  • Tarefa de receber mensagem: espera o recebimento de uma mensagem de um participante ou processo - para isso, selecione um ID que corresponda a uma tarefa de enviar mensagem.
  • Tarefa de usuário: espera uma tarefa dentro do fluxo de trabalho ser realizada pelo usuário - podendo ser definido um responsável, um usuário candidato, um grupo candidato, uma data de vencimento, uma data de acompanhamento e a prioridade.
  • Tarefa manual: executa uma tarefa que não utiliza o fluxo de trabalho.
  • Tarefa de regra de negócio: executada automaticamente por uma decisão de negócio, sendo necessário selecionar a forma de implementação na aba geral do painel de propriedade.
  • Tarefa de serviço: invoca serviços através de um bloco de programação, por exemplo.
  • Tarefa de roteiro: executa uma sequência de comandos (script) automaticamente, sendo necessário definir o formato de script e se a execução será interna ou externa.


As tarefas Envio, Regra de Negócio e Tarefa de serviço suportam a execução de funções via bloco de programação. Veja mais detalhes no tópico Vincular blocos de programação.

Gateways

Gateways são pontos de desvio em um processo, permitem que decisões sejam tomadas baseando-se em eventos ou dados, além de separações e junções simultâneas. Os gateways possuem símbolos internos que determinam o seu tipo, através do ícone da ferramenta (destaque 3 da figura 3.3) é possível alterá-los.


Figura 3.3.4 - Tipos de gateway


  • Gateway exclusivo: define que o processo terá um único caminho através de uma condição previamente imposta.
  • Gateway paralelo: define que o processo ocorre simultaneamente, permitindo que ele seja separado em várias partes ou unido de várias partes em uma só.
  • Gateway inclusivo: combinação do gateway exclusivo com o gateway paralelo, no qual permite que um processo possa ter múltiplos caminhos através das condições previamente impostas.
  • Gateway complexo: controla condições complexas de junções e separações.
  • Gateway baseado em eventos: define que o processo possa fazer desvio baseado nos eventos.

Dados

No BPMN 2.0, os dados a serem manipulados podem vir de objetos ou de banco de dados, seus respectivos ícones são representados na figura abaixo.


Figura 3.3.5 - Tipos de dados

Eventos

Há três tipos básicos de eventos: o início, que possui uma borda simples, o intermediário, com uma borda dupla, e o fim, que possui bordas em negrito. Esses três tipos de eventos podem ter diversos outros eventos atrelados a eles, como tempo, condição, sinais, mensagens e entre outros.

Eventos de início

Indica o início de um processo ou subprocesso. Há cinco tipos de eventos de início: básico, por mensagem, por tempo, por condição e por sinal (Figura 3.3.6). Utilize o ícone da ferramenta (destaque 3 da figura 3.3) para alterar seu tipo.



Figura 3.3.6 - Eventos de início


  • Evento de início básico: é iniciado sem a definição de um fato específico que gere o seu início.
  • Evento de início por mensagem: o início do processo ocorre após o recebimento de uma mensagem - para isso, precisa ser selecionado um ID que corresponda a uma tarefa de enviar mensagem na aba geral do painel de propriedade.
  • Evento de início por tempo: define o tempo que dará início ao processo - para isso, precisa ser selecionado o tempo (dias, ciclos ou duração) na aba geral do painel de propriedade.
  • Evento de início por condição: o início do processo ocorre após uma condição lógica.
  • Evento de início por sinal: o início do processo ocorre após o recebimento de um sinal de outro processo.

Eventos intermediários

Os eventos intermediários ocorrem durante o processo. Esses eventos podem aguardar a ocorrência de fatos para que o processo continue ou gerar a ocorrência do fato para dar continuidade ao processo. Utilize o ícone da ferramenta (destaque 3 da figura 3.3) para alterar entre os tipos.


Figura 3.3.7 - Eventos intermediário


  • Evento intermediário básico: assim como o evento de início básico, esse evento não é específico, mas indica que será iniciado um evento.
  • Evento intermediário por captura de mensagem: irá aguardar a mensagem apropriada chegar.
  • Evento intermediário por lançamento de mensagem: enviará uma mensagem para um serviço externo.
  • Evento intermediário por captura de tempo: cronometra a execução, iniciando assim que a ocorrência chegar e disparando um alarme assim que o tempo acaba.
  • Evento intermediário por lançamento de escalonamento: envia o escalonamento apropriado que pode ser capturado por outro tipo de evento de escalonamento.
  • Evento intermediário por captura de condição: indica que a execução permanecerá nesse evento enquanto sua condição não estiver em conforme com a que foi definida - caso ela for, sua execução seguirá adiante.
  • Evento intermediário por captura de link: ele recebe o caminho para qual a execução seguirá.
  • Evento intermediário por lançamento de link: ele envia o caminho para qual a execução seguirá.
  • Evento intermediário por lançamento de compensação: usada para acionar uma compensação.
  • Evento intermediário de sinal: irá aguardar enquanto não receber o sinal apropriado.
  • Evento intermediário por lançamento de sinal: envia um evento com o sinal apropriado para um evento de captura.


O Eventos intermediários por lançamento de mensagem suporta a execução de funções via bloco de programação. Veja mais detalhes no tópico Vincular blocos de programação.

Eventos de finalização

Indica a finalização do processo ou subprocesso. Os eventos de finalização podem ser por mensagem, por escalonamento, por erro, por compensação, por terminação e por sinal. Utilize o ícone da ferramenta (destaque 3 da figura 3.3) para alterar entre os tipos.


Figura 3.3.8 - Eventos de finalização


  • Evento de finalização básica: indicação simples de que o processo foi finalizado.
  • Evento de finalização por erro: indica que finalizou com erro e uma mensagem será enviada para um subprocesso.
  • Evento de finalização por terminação: indica que ao finalizar todas as partes do processo serão encerradas.
  • Evento de finalização por mensagem: indica que ao finalizar enviará uma mensagem para outro participante.
  • Evento de finalização por compensação: indica que ao finalizar será iniciado o tratamento de compensações, no qual será desfeito todas as ações ocorridas no processo.
  • Evento de finalização por escalonamento: indica que ao finalizar enviará uma mensagem de escalonamento para eventos de catch.
  • Evento de finalização por sinal: indica que ao finalizar será enviado um sinal para outros processos.


Painel de propriedades

A área de propriedades (destaque 3 da figura 3.2) pode mudar conforme o elemento selecionado. Algumas propriedades são específicas de um elemento e outras são comuns a todos.

Geral

Na aba geral é apresentado as seguintes propriedades:

CampoFunção
IDO identificador do elemento é gerado automaticamente, mas que pode ser editado.
Nome(Opcional) Campo para adicionar um nome ao elemento.
Versão da tag(Opcional) Campo para adicionar um nome para ser a versão da tag.
ExecutávelAo habilitar, permite que o processo seja executado em outro fluxo.
Prioridade da tarefa(Opcional) Campo para informar a prioridade (valor numérico) da tarefa, que por padrão tem como valor igual a 0.
Prioridade do processo(Opcional) Campo para informar a prioridade do processo, que por padrão tem como valor igual a 0.
Grupos de inicialização(Opcional) Campo para adicionar grupos que podem realizar a inicialização do elemento ou processo.
Usuários candidatos de inicialização(Opcional) Campo para adicionar usuários que podem realizar a inicialização do elemento ou processo.
Histórico de Time to Live(Opcional) Campo para informar o tempo de vida do histórico (valor numérico), contado em dias.
Inicializável(Opcional) Especifica se o processo é iniciável na Lista de Tarefas ou não
Documentação do elemento(Opcional) Campo para descrever o elemento.

Vincular bloco de programação

Para conseguir selecionar um bloco de programação no BPMN, primeiro é necessário habilitar o bloco em suas configurações e, em seguida, seleciona a função no Fluxo de trabalho.

No editor de Bloco de programação servidor, abra a janela de Propriedades do Bloco de Programação, selecione a propriedade Exibir no Bpmn (destaque 1 da figura 3.4.1) e clique em Salvar. Essa opção só está disponível nos blocos de programação do tipo Servidor.



Figura 3.4.1 - Ativando opção de exibição no Bpmn


No fluxo de trabalho, você pode vincular a execução da função do Bloco de programação em alguns elementos específicos, por exemplo, uma tarefa de serviço, como mostrado abaixo.


Figura 3.4.2 - Implementação de Expressão para vincular um Blockly


1. Arraste e selecione uma Tarefa, em seguida, clique no ícone da ferramenta.
2. Selecione a opção Tarefa de Serviço.
3. Selecione a opção "Expressão" da propriedade Implementação na aba lateral Geral.


Figura 3.4.3 - Selecionando o bloco a ser vinculado


4. Clique no botão Editar da propriedade Expressão na aba lateral Geral
5. Na janela de seleção do bloco de programação, clique no botão "...".
6. Selecione a função do bloco de programação que será executado na tarefa.


Após selecionar a opção "Expressão" no campo Implementação (3 da figura 3.4.2), os elementos que permitem a seleção de funções de blocos de programação irão exibir o botão "Editar" no campo Expressão (4 da figura 3.4.3).

Listeners

Adiciona "ouvintes" para o elemento ou o processo. Os listeners podem ser uma classe Java, uma expressão, um script ou uma expressão delegada.

Entrada/saída

Permite criar parâmetros de entrada e saída. Cada parâmetro necessita de um nome, definição de tipo (Texto, Lista, Mapa ou Script) e valor.

Extensões

Nesta aba é possível adicionar novas propriedades, informando a chave e seu valor.

Glossário

Nesse tópico, reveremos algumas palavras chaves e seus conceitos.

  • Instância de Processo: uma instância de processo ocorre durante a inicialização do processo. Caso outro usuário inicialize o mesmo processo, uma nova instância será criada e o processo terá duas instâncias em execução.
  • Chave de negócio: uma forma de identificação para instância de processos, inserida no momento de iniciar uma nova instância de processo.
  • Proprietário, Responsável e Candidato:
    • Proprietário é o usuário que cria o fluxo de trabalho.
    • Responsável é o usuário (ou grupo de usuários) encarregado da tarefa.
    • Candidato é o usuário (ou grupo de usuários) que pode assumir a responsabilidade caso o usuário/grupo responsável atual não seja mais o encarregado.
  • Estado de delegação: Informa o estado atual da tarefa.
  • Variáveis: função básica que mantém os dados durante o processo em execução.

Variáveis

O BPM trabalha com o conceito das variáveis no processo, que tem como função básica adicionar dados ao processo em execução.

Uma variável consiste basicamente em um nome e um valor.

Escopos de variáveis

Todas as entidades que podem ter variáveis e são chamadas de escopos de variáveis. Estas são execuções, que incluem instâncias de processo e tarefas.

Em geral, as variáveis são acessíveis nos seguintes casos:

  • Instanciando processos.
  • Entregando mensagens.
  • Transições do ciclo de vida da tarefa, como conclusão ou resolução.
  • Configurando / obtendo variáveis de fora.
  • Definindo / obtendo variáveis.
  • Expressões no modelo de processo.
  • Scripts no modelo de processo.
  • Consultas variáveis (históricas).

Tipos suportados

O mecanismo do processo suporta os seguintes tipos de valores variáveis (Figura 4).



Figura 4 - Tipos de variáveis aceitos


Dependendo do valor real de uma variável, um tipo diferente é atribuído. Entre os tipos disponíveis, existem nove tipos de valores primitivos:

  • boolean: Instâncias de java.lang.Boolean
  • bytes: Instâncias de byte[]
  • short: Instâncias de java.lang.Short
  • integer: Instâncias de java.lang.Integer
  • long: Instâncias de java.lang.Long
  • double: Instâncias de java.lang.Double
  • date: Instâncias de java.util.Date
  • string: Instâncias de java.lang.String
  • nullnull referências

Variável de processo

Uma variável que você pode definir o valor dela ao modelar o processo.

Variável de execução

Variável que é criada na execução, por exemplo, ao executar um bloco o seu resultado irá para uma variável de execução.

Variável de tarefa

Por exemplo, ao criar uma tarefa com uma caixa de entrada para o usuário inserir o número de uma nota fiscal, ao digitar, esse número vira uma variável de tarefa.

Painel de Gerenciamento

Após instalar o plugin Workflow, seu projeto web terá acesso a uma aplicação standalone que contém um painel completo para o gerenciamento do fluxo do BPMN. Essa aplicação permite administrar usuários, gerenciar e executar as tarefas com base no perfil dos usuários, alterar e manipular o fluxo e possui um dashboard das tarefas.

Por ser uma aplicação standalone, você não poderá realizar nenhuma modificação ou personalização na estrutura/layout do Painel de Gerenciamento. Porém, todos os recursos disponíveis nessa aplicação podem ser replicados e adaptados em seu projeto Cronapp através da API Workflow, disponível nos blocos de programação Servidor (Figura 2.2).


Figura 5 - Página inicial da aplicação do BPM

Acesso a aplicação

Para acessar a interface web do Cronapp BPM, insira "/app/" após o domínio da sua aplicação. Vale reforçar que é necessário incluir a "/" ao final do endereço.

Exemplo: https://<meu domínio>/app/

A função de bloco de programação da figura abaixo pode ser utilizada para abrir a aplicação standalone do Cronapp BPM. Utilize o bloco Abrir URL e configure o parâmetro URL de destino concatenando o bloco Obter URL Base mais o texto "/app/".


Figura 5.1 - Exemplo de função para abrir a aplicação BPM


Para voltar para a página inicial da aplicação Cronapp, clique no ícone do usuário (1 da Figura 5.2) para abrir a opção Voltar para a aplicação.


Figura 5.2 - Retorno a aplicação cronapp


Por padrão, o painel de gerenciamento possui 3 subaplicações: Painel de controle, Lista de tarefas e Administrar (Figura 5.2). O Administrador pode definir quem pode visualizar e/ou acessar as aplicações Painel de controle e Lista de tarefa.

Painel de Controle

Ao acessar o painel de controle, sua interface (Figura 5.3) irá apresentar o número de instâncias de processos em execução, incidentes em aberto, tarefas humanas em aberto, a quantidade total de definições de processo e a quantidade total de implementações. A barra de navegação do painel de controle apresenta as seguintes funcionalidades para o painel de controle: Processos, Tarefas, Implantações e Nova definição de processo.


Figura 5.3 - Painel de Gerenciamento


  1. Processos: redireciona para a tela com todos os processos implementados.
  2. Tarefas: redireciona para a tela com o resumo de todas as tarefas existentes.
  3. Implantações: redireciona para a tela que apresenta uma visão geral das implantações.
  4. Nova definição de processo: abre a janela do BPMN.
  5. Nome do usuário: apresenta as opções para voltar ao painel de gerenciamento e para aplicação.
    • Meu perfil: redireciona para a tela inicial do painel de gerenciamento.
    • Voltar para a aplicação: redireciona para a página home da aplicação Cronapp.
  6. Home: apresenta as opções para as outras subaplicações do BPM.
    • Admin: redireciona para a aplicação Admin.
    • Tasklist: redireciona para a aplicação Lista de Tarefas.
  7. Agora mesmo: apresenta gráficos informando a quantidade total de instâncias em execução (o gráfico será dividido por setores quando tiver diferentes processos), a quantidade total de incidentes ocorridos e a quantidade total de tarefas existentes (o gráfico será dividido por setores quando tiver atividades atribuídas e não atribuídas).
  8. Definições de processos: informa a quantidade total de processos existentes e ao clicar nessa quantidade, redireciona para a tela com todos os processos implementadas.
  9. Implantaçõesinforma a quantidade total de implementações realizadas e ao clicar nessa quantidade, redireciona para a tela com que apresenta uma visão em geral das implantações.

Processos

A opção Processos na barra de navegação apresentará todos os processos implementados em dois formatos: Lista e Visualizações.

Aba Lista

Exibe uma lista com as definições de processos implementadas, possui as seguintes colunas:

  • Estado: informa o estado dos processos, no qual pontos verdes e pontos vermelhos indicam respectivamente trabalhos em execução e trabalhos com falha. Nesse nível de observação, um ponto vermelho significa que há pelo menos uma instância de processo ou uma instância de subprocesso que possui um incidente não resolvido e esse incidente pode ser localizado clicando no nome do processo na coluna "Nome".
  • Incidentes: informa a quantidade total de incidentes que ocorreram até o momento para o respectivo processo ou subprocesso. É possível ordenar conforme a quantidade, de forma crescente e decrescente.
  • Execução de instâncias: Informa a quantidade total de instâncias executadas até o momento para o respectivo processo ou subprocesso. É possível ordenar conforme sua quantidade, de forma crescente e decrescente.
  • Nome: informa o nome do processo ou subprocesso. Clique para acessar a página Tempo de execução, com mais informações sobre o processo.


Figura 5.3.1 - Definições de processo implantada

Aba Visualizações

Ao clicar em Visualizações será exibido o modelo visual dos processos listados, informando o número de instâncias em execução caso o processo ou subprocesso não contenha falhas ou informando o número de incidente caso o processo esteja com falhas.


Figura 5.3.2 - Definição de processo implantada

Tempo de execução

Ao clicar no Nome do processo enquanto está em formato de lista (Figura 5.3.1) ou no modo visual (Figura 5.3.2), você será redirecionado para a página de tempo de execução do processo, no qual fornece mais informações sobre o processo e seu status.


Figura 5.3.3 - Tempo de execução do processo


Menu esquerdo:

  • Versão da definição: informa a versão atual do processo que é gerada automaticamente em forma sequencial a cada modificação. Quando há mais de uma versão, será criado uma caixa de seleção nesse campo para permitir escolher a versão a ser visualizada na tela.
  • Versão da tag: informa a versão atual da tag, gerado manualmente quando é criado ou editado um processo ou subprocesso.
  • ID da definição: informa o ID do processo, gerado automaticamente, mas que pode ser alterado quando o mesmo for editado.
  • Chave da definição: informa a chave do processo, é gerada automaticamente assim que é criado o processo ou subprocesso.
  • Nome da definição: informa o nome do processo ou subprocesso, definido no momento de criação ou edição.
  • Tempo de vida do histórico: informa o tempo (em dias) do histórico.
  • ID da implantação: informa o ID da implantação correspondente do processo.
  • Instâncias em execução: informa a quantidade de instâncias em execução na versão atual e a quantidade de instâncias em execução em todas as versões.


Opção superior:

  • Estatísticas de atividade da instância: quando ligado, apresenta algumas informações na tela quando a atividade está em execução.


Abas inferiores:

  • Instâncias do processo: todas as instâncias em execução são listadas em uma tabela, informando o horário de início, o estado e a chave. Além disso, é possível adicionar critérios para realizar uma pesquisa de acordo com a chave, o ID da instância, a data de início e a variável.
  • Incidentes: todos os incidentes que ocorreram nesse processo são listados, informando o momento que ocorreu, a mensagem exibida e um botão para resolver o incidente.
  • Definições do processo chamado: exibe os processos filhos chamados, informando os nomes dos subprocessos. Ao clicar no nome, exibirá o processo na visualização.
  • Definições de trabalho: exibe as definições de trabalho que estão vinculadas ao processo, informando o nome da atividade, o tipo de trabalho, a configuração e o estado. Além disso, também é possível definir a prioridade dos trabalhos.


Menu direito:

  1. Ícone da lixeira: exclui a versão selecionada na versão de definição.
  2. Ícone de configuração: altera a prioridade da tarefa vinculada ao processo.
  3. Ícone de edição: abre o ambiente para edição do processo.

Edição do processo

Ao clicar no ícone de edição (destaque 3 da figura 5.3.3), será aberto o Editor de Fluxo de trabalho para permitir a modificação do fluxo em tempo de execução. Para entender melhor acesse, o tópico Área de Edição.


Figura 5.3.4 - Definições de trabalho

Tarefas

A aba Tarefa na barra de navegação possibilita a visualização de tarefas abertas e atribuídas por tipo e grupo.

  • Tipo: nesta categoria você pode ver quantas tarefas abertas existem por tipo para um usuário, um ou mais grupos, não atribuído e o total.
  • Grupo: esta categoria mostra como todas as tarefas abertas e atribuídas a um grupo são distribuídas entre os grupos individuais.


Figura 5.3.5 - Atribuições por tipo e grupo

Implantações

A visualização de implantação do Cockpit mostra uma visão geral de todas as implantações, seus recursos e o conteúdo desses recursos. Ele permite a exclusão de implantações existentes, a reimplantação de recursos antigos e a criação de novas implantações. O conteúdo dos recursos nas implantações pode ser exibido. Também é possível baixar recursos únicos dessa exibição.



Figura 5.3.6 - Visualização de implantação


  1. Horário de implantação: ordena por horário crescente ou decrescente os processos listados.
  2. Implantar: uma nova implantação será criada, contendo um nome e um arquivo *.bpmn.
  3. Campo Adicionar critérios: filtra os processos pelas seguintes categorias: Identidade, Nome, Hora, fonte, Pesquisa Indefinida, Tenant ID e Sem Tenant ID.
  4. Copiar link para a localização atual: copia a URL do filtro utilizado ao campo Adicionar critérios.
  5. Excluir Implantações: exclui a implantação possibilitando as seguintes opções:
    • Cascata: selecionando esta opção ao excluir, todas as instâncias, incluindo históricos de casos relacionados a essa implantação, também serão excluídos;
    • Pular Listeners personalizados: selecionando esta opção ao excluir, os Listeners construtores serão notificados sobre a finalização do evento;
    • Pular o mapeamento de entradas e saídas: selecionando esta opção ao excluir, o mapeamento será ignorado durante a remoção da implantação.
  6. Reimplantar Implantação: todos os recursos do processo selecionado serão reimplantados criando uma versão.
  7. Download: faz download do arquivo *.bpmn referente ao processo selecionado;
  8. Reimplantar: todos os recursos do processo selecionado serão reimplantados criando uma versão. Mesma função do Reimplantar implantação.

Nova definição de processo

Nessa aba é possível definir novos processos dentro da própria aplicação, para entender melhor como criar o fluxo dos processos acesse o tópico Área de Edição.


Figura 5.3.7 - Nova definição de processo

Atenção ao criar e editar Fluxos por essa aba em tempo de execução, pois não será possível abrir a janela de seleção de blocos de programação para vincular uma função, como ocorre ao criar em tempo desenvolvimento no Cronapp IDE. Ver mais detalhes no tópico Vincular bloco de programação.

Lista de tarefas

A lista de tarefas é acessível a partir da tela inicial do Painel de Gerenciamento e apresenta uma visão geral das tarefas pendentes.


Figura 5.4 - Janela principal da Lista de Tarefas


  1. Atalhosabre um modal apresentando uma lista de atalhos utilizados para a tela.
  2. Nova tarefa: abre um modal para criação de uma tarefa.
  3. Iniciar um processoabre um modal apresentados os processos para serem inicializados.
  4. Nome do usuário: apresenta as opções para voltar ao painel de gerenciamento e para aplicação:
    • Meu perfil: redireciona para a tela do painel de gerenciamento;
    • Voltar para a aplicação: redireciona para a página home da aplicação Cronapp.
  5. Home: apresenta as opções para as outras aplicações do BPM:
    • Admin: redireciona para a aplicação Admin;
    • Tasklist: redireciona para a aplicação Lista de Tarefas.
  6. Área para criar filtro: cria / mostra filtros existentes para aquele usuário.
  7. Área de tarefas listadas: apresenta as tarefas relacionadas ao filtro selecionado, como também um campo de pesquisa e ordenação para filtrar as tarefas por outras opções.

  8. Área de visualização da tarefa: apresenta os detalhes da tarefa selecionada.

Criar filtro

Ao clicar em Criar filtro +, um modal será aberto para criar e personalizar seu filtro.


Figura 5.4.1 - Modal de criação de filtro


Acordeão do modal do filtro:

  • Geral: essa aba possui campos de identificação e personalização. 
    • Nome do filtro.
    • Cor: utilizado para distinguir dos demais filtros.
    • Descrição do filtro.
    • Prioridade: quanto menor o número, maior a prioridade.
    • Atualização automática: define um intervalo de atualização padrão de 10 segundos.
  • Critério: são definidos os critérios do filtro. Ao adicionar um critério, são exibidos 2 campos.

    • Chave: uma caixa de seleção com diversas opções de filtro. Chaves marcadas com * aceita expressões como valor (ex.: ${currentUser()}).

    • Valor da chave. 

  • Permissões: nessa aba é possível definir quais usuários ou quais grupos podem ter acesso a esse filtro.
    • Acessível para todos os usuários: ao marcar, o filtro ficará disponível para todos e não será possível selecionar usuários ou grupos.
    • Grupo / Usuário: botão de alternância para selecionar um Grupo ou Usuário.
    • Identificador: ID do grupo ou do usuário. 
  • Variáveis: nessa aba é possível inserir variáveis para serem mostradas na área de tarefas listadas, no entanto, essas variáveis não irão influenciar nessas tarefas listadas. Para adicionar uma variável, precisa adicionar o nome (que é o nome da variável real, seja ela de execução, processo ou tarefa) e o rótulo (que é um nome fantasia para ser mostrado nas tarefas listadas do filtro).


Após salvar, o filtro será apresentado na lista de filtros (destaque 6 da figura 5.4).

Tarefas listadas

Nessa área são visualizadas todas as tarefas para o filtro selecionando, exibindo os de menor prioridade primeiro. É possível ordenar as listas de tarefas utilizando um ou mais classificadores. Por padrão, todo filtro inicia com o classificador data de criação (Criado), porém, ao adicionar uma segunda classificação, é possível excluí-la clicando no botão x antes do nome (destaque 1 da figura 5.4.2). Clique na seta na frente da classificação para definir se a ordem será ascendente (^) ou descendente (v) (Figura 5.4.2).


Figura 5.4.2 - Adicionar classificação


Abaixo dos classificadores, encontra-se o campo de pesquisa, onde é possível adicionar filtros para as tarefas listadas. Ao clicar no campo, uma lista de filtros é exibida, basta selecionar o tipo e informar o dado a ser aplicado no filtro (Figura 5.2.3). O campo também apresenta a quantidade de tarefas listadas (1 da Figura 5.4.3), um botão para copiar os filtros adicionais (2) e outro para salvar os filtros (3), permitindo selecioná-los facilmente depois. Vale ressaltar que a ordem de aplicação dos filtros influencia na busca das tarefas, então se existirem filtros como responsável e data de vencimento, a busca irá priorizar o responsável e depois aplicar o filtro de data de vencimento.


Figura 5.4.3 - Aplicando filtros no campo de busca


Opções de tipos de filtro:

  • Variável de processo: informe o nome da variável de processo e o seu valor.
  • Variável de tarefa: informe o nome da variável de tarefa e o seu valor.
  • Variável de caso: informe o nome da variável de caso e o seu valor.
  • ID da instância de processo.
  • Chave de negócio da instância de processo.
  • ID da definição do processo.
  • Nome da definição do processo.
  • ID da execução.
  • ID da instância de caso.

  • Chave de negócio da instância de caso.

  • ID do caso.

  • Chave do caso.

  • Nome do caso.

  • ID da execução do caso.
  • Responsável: responsável pela tarefa.
  • Proprietário: proprietário da tarefa.
  • Grupo candidato.

  • Usuário candidato.

  • Usuário envolvido.

  • Chave de definição de tarefas.

  • Nome: nome da tarefa.

  • Descrição: textos/comentários presentes nos campos de descrição da tarefa.

  • Prioridade: valor de prioridade.

  • Data de vencimento.

  • Data de acompanhamento.

  • Data de criação.

  • Estado de delegação.

  • ID do ocupante: ID de um usuário.

  • Sem ID do ocupante: filtra tarefa que não fora assumida.

Visualização da tarefa

Nessa parte é possível ver os detalhes da tarefa, realizar algumas configurações e completar a tarefa.


Figura 5.4.4 - Visualização da tarefa


  • Comentar +: adiciona um comentário, a tarefa que será visualizada no histórico juntamente com a data e o nome do usuário.
  • Definir data de acompanhamento: adiciona uma data e hora para criar lembretes a fim de realizar o seu monitoramento.
  • Definir data de vencimento: adiciona uma data e hora para o deadline da tarefa.
  • Adicionar grupos: adiciona e remove grupos de usuários para ser responsável pela tarefa.
  • Assumir: adicione e remove um usuário responsável pela tarefa.
  • Subaba Formulário: exibe o formulário com a tarefa selecionada. Pode ser gerado através da aba Formulário (área de propriedade ao usar o elemento Tarefas de Usuários), formulário externo (outra aplicação), formulário HTML incorporado ou formulário genérico, gerado assim que uma nova tarefa for criada.
  • Subaba Histórico: exibe informações detalhadas do histórico de atribuições, atualizações para a data de vencimento e datas de acompanhamento, além de permitir atribuir tarefas e visualizar os comentários inseridos.
  • Subaba Diagrama: mostra o diagrama da definição do processo, destacando a posição atual do fluxo.
  • Subaba Descrição: exibe a descrição da tarefa do usuário, definida no momento de criação do processo e/ou da tarefa.

Atalhos

Ao clicar em Atalhos na barra de navegação, um modal será exibido com informações de teclas de atalho que podem ser utilizadas nessa janela e quais são suas ações.


Figura 5.4.5 - Lista de atalhos

Nova Tarefa

Ao clicar no item Nova Tarefa na barra de navegação, um modal será exibido com os campos para adicionar uma nova tarefa.


Figura 5.4.6 - Adicionar nova tarefa


  • Nome: adiciona um título para a tarefa.
  • Responsável: indica o usuário que será responsável pela tarefa.
  • Descrição: campo para escrever mais detalhes sobre a tarefa.


Observação

As tarefas criadas nessa janela não serão vinculadas automaticamente ao processo, essa ação deve ser feita manualmente.

Iniciar um Processo

Ao clicar em Iniciar um Processo na barra de navegação, um modal será exibido com a lista de processos que podem ser inicializados.


Figura 5.4.7 - Iniciar um processo


Após selecionar um processo, serão exibidos campos para incluir a Chave de negócios e Variáveis.


Figura 5.4.8 - Campos para atribuir chaves de negócios e variáveis

Administrar

A página Administrar é acessível a partir da tela inicial do Painel de Gerenciamento, nela é possível configurar usuários, grupos, autorizações e sistema por meio dos serviços de identidade e autorizações do mecanismo. Além disso, você pode conectar o serviço Administrar ao seu sistema LDAP, ou seja, os usuários e grupos cadastrados através da aplicação padrão do Cronapp poderão ser utilizados automaticamente pelo sistema Cronapp BPM.


Figura 5.5 - Painel Administrar

Usuários

Para criar ou editar usuários, você deverá acessar a tela de Usuários da aplicação Cronapp (Figura 5.5.1). Ao configurar um usuário, é possível vinculá-lo a um ou mais Grupos.


Figura 5.5.1 - Página de Usuário na aplicação Cronapp

Lista de Usuários

O link Lista de Usuário no painel Administrar direciona para a página de gerenciamento dos usuários, clique em editar para abrir a página Meu Perfil do usuário selecionado.


Figura 5.5.2 - Lista de Usuário do Painel de controle

Meu Perfil

O link Meu Perfil no painel Administrar direciona para a página de edição do Perfil o usuário (Figura 5.5.3), para ter acesso a todos os dados do usuário, acesse a página de usuários da aplicação Cronapp. Os links ID e Editar na lista de usuários (Figura 5.5.2) também direcionam para essa página.


Figura 5.5.3 - Informações do Perfil


Na aba Grupos é possível visualizar os grupos associados e adicionar novos (Figura 5.5.4).


Figura 5.5.4 - Lista de grupos do usuário

Grupos

A aplicação do BPM obtém os grupos da aplicação Cronapp. Para criar ou editar grupos, você deverá acessar a tela de Grupos da aplicação Cronapp (Figura 5.5.5).

Para mais detalhes sobre o sistema de Grupos do Cronapp, acesse a documentação Permissão de segurança.


Figura 5.5.5 - Página de Grupos na aplicação Cronapp


Lista de Grupos

O link Lista de Grupo no painel Administrar direciona para a página que exibe os Grupos do sistema. 


Figura 5.5.6 - Lista de Grupos


Informação do Grupo

Os links ID e Editar na lista de Grupos (Figura 5.5.6) direcionam para a subaba Informação com detalhes do Grupo selecionado, já a subaba Usuários exibem os usuários vinculado ao grupo selecionado (Figura 5.5.7).

Não é possível editar os dados na subaba Informação e Usuários, para isso, acesse a página de Grupos da aplicação Cronapp.


Figura 5.5.7 - Informação do Grupo


Autorizações

O link Gerenciar autorizações no painel Administrar direciona para a página com o controle de acesso aos recursos da aplicação. O serviço de autorização possibilita que os usuários acessem dados em diferentes níveis, sendo possível configurar, por exemplo, quais abas da sua aplicação ele poderá acessar.

Mas lembre-se que o BPM está incorporado a uma aplicação Cronapp, que possui seu próprio controle de permissões de usuários.


Segundo a documentação oficial do Camunda, a autorização é necessária apenas se partes não confiáveis interagirem diretamente com a API do mecanismo de processo. 


No menu lateral (Figura 6.6) é possível selecionar quais grupos e usuários poderão ou não ter acesso a determinadas permissões:

  • Aplicação: acesso à lista de tarefas e ao painel de controle (ou ambos).
  • Autorização: criar, ler, atualizar e apagar autorizações.
  • Definição de processo: concede ou nega autorização para ler, atualizar, apagar, criar instância, atualizar instância, deletar instância, migrar instância, ler tarefa, atualizar tarefa, atribuir tarefa, trabalhar tarefa, ler histórico e deletar histórico.
  • Filtro: ler atualizar e apagar os filtros pré-definidos.
  • Grupo: criar, ler, atualizar e apagar os grupos.
  • Implantação: criar, ler ou apagar as implantações.
  • Instância do processo: criar, ler, atualizar ou apagar as instâncias do processo.
  • Membro do Grupo: podem criar e apagar membros do grupo.
  • Painel de controle: podem ler, criar instância, ler histórico e deletar histórico.
  • Tarefa: criar, ler, atualizar, apagar, atribuir tarefa ou trabalhar em tarefas.
  • Usuário: criar, ler, atualizar ou apagar os usuários.



Figura 5.5.8 - Gerenciar Autorizações


Ao criar ou editar uma autorização, serão exibidos os seguintes campos:

  1. Tipos: possui as opções Global, Permitir e Negar.
  2. Usuário ou grupo: clique para selecionar usuário ou grupo.
  3. ID do usuário ou grupo: informe o ID do usuário ou grupo de acordo com a definição do item 2.
  4. Permissões selecionadas.
  5. Excluir permissões selecionadas.
  6. Caixa de seleção de permissões: lista as permissões disponíveis para o tipo autorização. Ex.: Ler, Criar Instância, Ler Histórico e Apagar. 
  7. ID do recurso: informe o ID do recurso que será bloqueado ou autorizado.
  8. Salvar.
  9. Cancelar.

Sistema

Os links Geral e Métricas de Execução no painel Administrar direcionam para páginas com informações sobre o andamento da aplicação BPM.

A subaba Geral contém informações a respeito do funcionamento do Mecanismo de processo


Figura 5.5.9 - Aba Geral


A subaba Métricas de Execução exibe um número aproximado de Instância do fluxo de nós (FNI), que é a quantidade de instâncias em andamento, processado pelo mecanismo no intervalo de tempo selecionado.


Figura 5.5.10 - Aba Métricas de Execução

Nesta Página