BPM

Construção Processo BPM

3949 views 24/01/2018 14/08/2020 marcio-poffo 8

Processo BPM é a forma mais completa de construir processos. Nesse modelo é possível construir fluxos com tomada de decisões que geram variação no caminho do processo. Sempre que você precisar construir um processo em que dependendo da opção de um usuário, a tarefa seguinte varia, este é o modelo a ser utilizado.

Ao criar um novo processo BPM, a tela seguinte será exibida

Na parte superior está a paleta os controles gerais do processo.

Na parte esquerda está a paleta de elementos de fluxo e ajustes que podem ser utilizados no processo.

E na parte esquerda tem a paleta propriedades dos elementos adicionados ao fluxo.

Paleta Controles Gerais

A paleta controle possui as seguintes opções:

Salvar: permite salvar o processo. As alterações feitas não serão percebidas pelos usuários caso esse processo já esteja em operação.

Publicar: permite publicar o processo. Essa ação faz com que as alterações sejam publicadas no processo em operação. Caso possuir alterações, estas serão salvas automaticamente antes de publicar. A nova publicação só terá efeito para novas solicitações. As solicitações desse processo que já estiverem em andamento funcionarão conforme versão do processo no momento da solicitação.

Para todo processo publicado é preciso definir quem poderá iniciar solicitações do processo.

Desfazer/Refazer: permite desfazer ou refazer uma alteração feita no processo.

Exportar: permite exportar o processo para um arquivo o qual pode ser importado posteriormente. Pode ser utilizado como backup ou até para duplicar um processo.

Propriedades: permite definir o nome e a descrição do processo além do tipo de execução (Formulários ECM/Interface WEB).

Categoria: Define uma categoria para o processo.

Proprietário: O usuário definido como proprietário, não precisa de permissão para editar o processo.

No caso de optar por Formulários ECM, deverá ser informado o nome do formulário e a versão desejada. Esse formulário será utilizado em todas as tarefas.

Para mais informações de como construir formulários ECM, acesso o link.

Se optar por tipo de execução Interface WEB, deve-se informar a URL do formulário para consulta e para as tarefas.

As URLs devem ser acessíveis a partir de qualquer lugar e deve ser https por questões de segurança. Nas propriedades do processo se configura a URL de consulta, que deve permitir visualizar o formulário apenas para leitura. Essa URL permitirá ao solicitante ou por quem participou do processo, acessar o formulário, esteja o processo em andamento, ou encerrado. O formulário deve disponibilizar apenas informações que podem estar visíveis a todos e não deve permitir operações  CRUD.

Diferente do formulário ECM, a URL é definida em cada tarefa. É através da URL que se permite disponibilizar informações para o formulário. Por exemplo em qual etapa está. Um exemplo seriam as URLs abaixo para o solicitante e aprovador.

  • Etapa solicitação: https://www.meusite.com.br/forms/banco-de-horas.html?etapa=solicitacao
  • Etapa aprovação: https://www.meusite.com.br/forms/banco-de-horas.html?etapa=aprovacao

Poderia ainda usar um formulário diferente para cada etapa.

  • Etapa solicitação: https://www.meusite.com.br/forms/banco-de-horas-solicitacao.html
  • Etapa aprovação: https://www.meusite.com.br/forms/banco-de-horas-aprovacao.html

Variáveis do processo: permite visualizar as variáveis do processo e configurar a visibilidade dos dados em detalhes do processo, tela de consulta e aplicativo.

Variáveis do processo

Os campos marcamos como visível, serão exibidos na tela “Tarefas e solicitações”, limitado em 3 campos.
Detalhes do processo

Zoom: permite aumentar ou diminuir o zoom do processo para se ter uma visão maior ou menor do processo.

Tamanho da grade: permite definir o tamanho da grade do editor BPM. É através dos “pontinhos” na grade que os elementos são movidos no editor. Então se o tamanho da grade estiver muito grande, os elementos da grade ao serem movidos, darão um “passo” maior no editor. Enquanto que se a grade estiver pequena, permite fazer um ajuste dos elementos do editor de forma mais “fina”.

Paleta Elementos de Fluxo e Ajustes

Início: elemento que determina o início do fluxo. Todo processo deve possuir apenas um início.

Fim: elemento que determina o encerramento do processo. Um processo pode possuir vários pontos de encerramento.

Tarefa: elemento que determina uma tarefa. Esta pode ser um formulário ECM ou uma Interface WEB.

Decisão: elemento que determina um ponto de decisão no fluxo. Pode ser uma decisão “de usuário” ou com “variável de processo”.

Possui ainda o elemento seta que não é acessível pela paleta. Ele estará disponível diretamente nos elementos adicionados ao fluxo.

Alguns elementos possuem propriedades para serem configuradas. São a tarefa, decisão e a seta.

Ajustes: na paleta ainda possuem as opções de ajuste dos elementos trazer para cima e para baixo, zoom e organizar automaticamente.

Detalhamos cada opção da paleta a seguir:

Elemento Tarefa

Uma tarefa pode ser de dois tipos de “executores”. Formulário ECM e formulário WEB. Cada tipo será detalhado mais abaixo.

Toda tarefa precisa de um responsável, que será quem deverá tratar a tarefa. Na paleta de propriedades, essa configuração está na área “Mecanismo de atribuição”. Ao clicar em configurar, será apresentado a seguinte tela para configuração. Detalhes sobre as opções veja nesse link.

Formulário ECM

É uma tarefa que usa formulários do editor de formulários ECM. Esse formulário pode ser construído facilmente pelo cliente sem ter a necessidade de conhecimento de programação. Para ver detalhes sobre a construção de formulários ECM para workflow acesso o link.

Conforme imagem acima, ao adicionar uma tarefa no fluxo e selecioná-la, no lado direito serão mostradas as propriedades do elemento.

Na opção Formulários ECM, na aba Execução serão apresentadas as opções Configurar campos e Aplicativo Workflow

Na opção configurar campos é possível determinar, para a tarefa em questão, que campos do formulário estarão visíveis, somente leitura, ou ainda que são obrigatórios para a etapa.

Cada etapa pode possuir uma configuração diferente dos campos.

A opção Aplicativo Workflow faz com que a tarefa seja enviada para o aplicativo por onde o responsável pela tarefa será notificado e poderá responder. As informações que são apresentadas no aplicativo são definidas nas configurações do formulário.

Formulário WEB

É uma tarefa onde o cliente tem liberdade para construir a tela externamente com a tecnologia WEB que desejar. Este formulário pode estar hospedado em qualquer lugar. Pode estar na intranet do cliente ou em algum site na nuvem. A premissa é estar disponível para acesso na extranet. Caso contrário o fluxo só funcionará na intranet onde estiver disponibilizado o formulário.

Para configurar uma etapa com formulário WEB, basta informar a URL para acesso ao formulário e indicar a forma de abertura do formulário.

Pode ser aberto dentro do próprio cockpit, ou então na plataforma onde possui um espaço maior.

Ao optar por utilizar esse tipo de formulário, os dados do processo passam a ser de responsabilidade do formulário. Ou seja, o formulário do cliente que irá manter os dados em banco de dados próprio. O workflow disponibilizará para o formulário um identificador único (processInstanceId), para que a interface tenha condições de apontar para o registro referente a esse processo na sua base.

Para detalhes de como obter o identificador único do processo no formulário WEB e outros detalhes da integração do formulário com o workflow, acesse a documentação da API do workflow.

Elemento decisão (gateway)

Este elemento permite adicionar um ponto de decisão no processo. Esta decisão pode ser o que chamamos de tipo “Usuário” ou “Expressão”.

Usuário: o tipo usuário indica que o usuário poderá optar em um campo padrão do formulário por qual caminho ele quer seguir.

Por padrão o elemento decisão é do tipo usuário. Para configurá-lo basta clicar sobre o elemento e acessar as configurações na paleta de propriedades.

Informe o título, e depois informe o tipo.

Note na imagem acima que a decisão “Ação” tem 3 possíveis saídas (Aprovar, Reprovar e Revisar), que vão para tarefas diferentes. No exemplo acima, na tarefa solicitação, o usuário terá um campo padrão do workflow (chamado Enviar para) para informar a ação. Esse campo disponibilizará as ações conforme as possíveis saídas da decisão que está logo após a tarefa.

Expressão: esse tipo de decisão, indica que a decisão será “definida” por uma expressão. Ou seja, poderão ser adicionadas fórmulas que se basearão em valores de variáveis do processo para decidir para qual caminho seguir.

Esse recurso permite por exemplo, que seja adicionado ao formulário um campo com uma lista de valores, e a decisão é calculada automaticamente conforme o valor que o usuário selecionou na lista. Desta forma não fica explicito para o usuário para qual caminho o processo seguirá. Pode ser utilizado expressões de comparação  maior/menor ou igual/diferente.

Imagine que no processo de solicitação de férias, se o usuário solicitar mais que 20 dias de férias, o fluxo vá para o coordenador, senão vai direto para o RH.

Para esse tipo de processo, configure o elemento decisão com tipo “Expressão”, e em cada seta configure a expressão que determina aquele caminho.

Para configurar a expressão, após configurar a decisão, vá com o mouse sobre a seta e clique na engrenagem verde.

Habilitará as configurações na paleta de propriedades. Na paleta você poderá configurar o título da seta e a expressão.

Modelos de expressão:

  • dias_ferias > 20
  • dias_ferias <= 20
  • dias_ferias = 10
  • dias_ferias != 10
  • solicitou_abono = “Sim”
  • solicitou_abono != “Sim”

Obs.: as variáveis são os nomes dos atributos definidos no formulário. A expressão não valida se for informado o título do campo. Deve haver um “espaço” entre a variável e a expressão, assim como entre a expressão e o valor comparado. Observe também que no caso de variáveis do tipo “texto”, o valor deve estar entre aspas como é o exemplo do abono que pode ser “Sim” ou “Não”.

Elemento seta

A seta determina a direção para do fluxo. A seta pode apontar para qualquer elemento, exceto o elemento de início de onde a seta só pode sair. A seta também tem a propriedade título, que determina o título do campo ação que será apresentado ao usuário na tarefa de origem da seta.

As propriedades da seta são acessadas indo com o mouse sobre e seta e clicando no ícone verde de engrenagem. Detalhes das propriedades já foram abordados no tópico “Expressão”.

A seta pode ser quebrada permitindo uma melhor organização do fluxo. Para fazer isso basta clicar em qualquer lugar da linha. Cada clique dado, adicionará uma quebra na seta para permitir melhor desenhar o caminho.

A seta acima possue duas quebras (as bolinhas azuis). Para mover basta clicar sobre a quebra e arrastar. Ao ir com o mouse sobre a quebra, um ícone verde com um “X” é habilitado. Esse ícone permite excluir a quebra. Essa ação não elimina a linha.

Recomenda-se não aproximar muito um elemento do outro para manter uma legibilidade mais clara do fluxo. Setas muito curtas fazem os ícones ficaram reduzidos o que também pode dificultar a manutenção do fluxo.

Ajuste trazer para cima e trazer para baixo

Como o nome já diz, essas funções permite mover um elemento para cima ou para baixo quando houverem no processos elementos sobrepostos. Como já recomendado anteriormente, não é indicado manter elementos muito próximo uns dos outros, menos ainda sobrepostos. Porém eventualmente pode ser necessário e esse recurso ajuda a organizar esses elementos.

Ajuste zoom

Quando o fluxo tiver muitas tarefas que fazem não ser possível visualizar todos os elementos em uma só tela, o zoom pode ser utilizado para se ter uma visão de todo o processo. O zoom pode ser aumentado ou reduzido conforme a necessidade.

Ajuste organizar automaticamente

Esse ajuste dá uma alternativa padrão de organização dos elementos no fluxo. É recomendado que o processo seja salvo antes de se aplicar esse recurso, pois a sugestão de organização automática data pelo editor pode não ser a melhor alternativa de organização.

Agora conhecemos todos os elementos e configurações para construir um processo BPM. Existem ainda outros recursos que podem ser utilizados. Abordaremos esses recursos em outros tópicos.

Este artigo foi útil para você?