Como funciona e configura o motor workflow
Como funciona e configura o motor workflow
A quem se destina
Este documento destina-se aos administradores do sistema (TI).
Objetivo
Este procedimento tem como objetivo detalhar a funcionalidade e como configurar a execução do motor de workflow.
Definições
Abaixo encontram-se as definições das nomenclaturas técnicas utilizadas na página:
Automáticas: São as tarefas que independem de ações de um usuário, por exemplo: Alterar situação do SAC, Enviar e-mail para o cliente, Encerrar procedimento (workflow), Alterar situação do Cliente, etc.
Concluídas: São as tarefas que foram executadas, tanto pelo usuário quanto pelo motor de tarefas automáticas (acima). Através das tarefas em situação "concluídas" e dependências configuradas no workflow, novas tarefas serão disparadas .
Motor de workflow: É o executável (.exe) que ficará "lendo" as tarefas concluídas e disparando novas tarefas/procedimentos.
Gatilhos: São as seleções dinâmicas utilizadas para efetuar o disparo automático de workflow. O motor de workflow de disparo de procedimentos pesquisa registros que correspondem às regras das seleções dinâmicas ativas, e caso combinem, o fluxo/tarefa é disparado(a) para este registro.
1 - Configuração
Executável
Estrutura do arquivo .bat
Agendamento
Criar agendamento
Executável
Arquivo .bat para execução dos motores workflow.
Estrutura do arquivo .bat
O executável dos motores de workflow precisam de alguns parâmetros para sua execução, que são:
Código da Empresa
Login do motor
Senha do motor
Intervalo (em segundos, de quanto em quanto tempo o motor será executado automaticamente).
Limite de execução: Horário limite de execução do motor
Debug: S ou N (grava ou não passo-a-passo da execução nas tabelas de log)
Tipo de Banco de dados: SQL ou ORA (SQL Server ou Oracle). Tipo de banco onde o motor irá se conectar
Observe imagem abaixo:
Agendamento
Para que o motor do workflow seja executado automaticamente, se faz necessário um prévio agendamento configurado no Agendador de tarefas/Task Scheduler do servidor de motores, segue mais informações abaixo:
Criar agendamento
Para criar agendamentos, clique com o botão direito na tela de agendamentos, e em seguida, clique em "Criar nova tarefa..." conforme imagem abaixo:
Na aba "Geral" informar um nome para a tarefa a ser agendada. A descrição é opcional. Marcar as opções:
Executar estando o usuário conectado ou não
Não armazenar a senha. A tarefa terá acesso somente aos recursos do computador local.
Executar com privilégios mais altos.
Na aba "Disparadores", clicar no botão "Novo":
Informar as configurações conforme imagem abaixo:
Na aba "Ações", clicar em "Novo":
Na tela de Ações, no campo "Ação" selecionar "iniciar um programa" e no campo "Programa/script", selecionar o arquivo .bat a ser disparado.
Após configurar esta parte, clicar em OK. As abas "Condições" e "Configurações" devem ser mantidas como estão. A partir da data configurada no Agendamento da tarefa, este .bat será executado diariamente no horário especificado automaticamente.
2 - Parâmetros isoCRM
Além dos parâmetros acima, que deverão ser passados na chamada do executável, também será necessário a configuração de um parâmetro de serviços (parametrização dentro do sistema isoCRM) para sua execução, como segue:
Parâmetro: ISOMOTORWF
Detalhe: AUTOMATICAS
Valor: S/N
Identifica se esta instância de execução do motor de workflow irá executar ou não as tarefas automáticas (mudar situação do SAC, enviar e-mail para o cliente, etc).
Detalhe: CONCLUIDAS
Valor: S/N
Identifica se esta instância de execução do motor de workflow irá executar ou não as tarefas concluídas/tarefas respondidas pelo usuário/responsável (disparará novas tarefas conforme tarefas concluídas encontradas).
Detalhe: SAC
Valor: S/N
Identifica se esta instância de execução do motor de workflow irá disparar ou não os Procedimentos de workflow do SAC (validando os gatilhos da Seleção Dinâmica com os atendimentos).
Detalhe: PEDIDO
Valor: S/N
Identifica se esta instância de execução do motor de workflow irá disparar ou não os Procedimentos de workflow do Pedido (validando os gatilhos da Seleção Dinâmica com os Pedidos).
Observação: Para executar o motor de workflow de Clientes (apisomotorclientesnew.exe), deve-se seguir os mesmos parâmetros na chamada do executável. Mas este motor tem apenas uma instância para ser executada, já que somente fará o disparo de procedimentos vinculados ao cadastro de Clientes e tarefas sem dependências.
Como visto na definição acima, está sendo mencionado "instância de execução do motor de workflow". Isso significa que o mesmo executável (motor de workflow) pode ser executado várias vezes em paralelo. A variação deve ocorrer nas informação de Login e senha nos parâmetros do executável (um login e senha para cada instância sendo executada), e na definição do Parâmetro ISOMOTORWF (cada conjunto para cada login/usuário de motor do workflow). Pode-se ter uma instância para executar somente as automáticas, outra instância somente para as concluídas, etc. Ou pode-se ter apenas uma instância para executar todas as variações (neste caso, as tarefas serão executadas conforme a ordem acima: primeiro as AUTOMATICAS, depois as CONCLUIDAS, depois SAC e por último o PEDIDO).
Exemplos parametrização ISOMOTORWF
Exemplificando as instâncias acima, caso deseje ter uma instância específica para executar as tarefas AUTOMATICAS, o usuário de tarefas automáticas deve estar vinculado ao parâmetro ISOMOTORWF da seguinte forma:
Parâmetro: ISOMOTORWF
Detalhe: AUTOMATICAS
Valor: S
Detalhe: CONCLUIDAS
Valor: N
Detalhe: SAC
Valor: N
Detalhe: PEDIDO
Valor: N
Para uma instância executar somente tarefas CONCLUIDAS, o usuário de tarefas concluídas deve estar vinculado ao parâmetro ISOMOTORWF da seguinte forma:
Parâmetro: ISOMOTORWF
Detalhe: AUTOMATICAS
Valor: N
Detalhe: CONCLUIDAS
Valor: S
Detalhe: SAC
Valor: N
Detalhe: PEDIDO
Valor: N
Para instâncias de disparar procedimentos de SAC e Pedido, deve-se seguir o mesmo padrão, deixando o detalhe desejado como S, e os demais como N.