Revisado, liberar apenas na release 1.5.9.

 

 Atividade Comum

É a atividade workflow comum do Fluig. É a unidade básica da separação de um processo workflow em atividades . Deverá ser executado por um usuário para que a solicitação workflow para dar andamento a solicitação workflow.

 

 Atividade usuário

Bastante semelhante a atividade comum poderá mais restritiva. Essa notação determina que obrigatoriamente um usuário deverá executar esta tarefa e que ela é controlada e registrada pelo Fluig.

 

 Atividade de serviço

Está atividade permite consultar dados de um serviço externo e passar para o processo dados provindos de tais serviços. Nas propriedades da atividade é possível selecionar um serviço cadastrado no fluig e editar um script javascript que fará acesso aos métodos e dados desse serviço. Fazendo uso das apis hAPI, e hForms é possível passar os dados obtidos na consulta do serviço para dentro do fluig.

Existem dois modelos de utilização da atividade serviço: Execução Imediata e Execução Posterior.

 

  • Execução Posterior

 

Neste caso a execução do script de serviço será assíncrona e o serviço se comportará como uma atividade automática. É possível configurar o número de tentativas e a mensagem de sucesso caso a execução do script seja concluída sem erros. Ao enviar uma solicitação para a atividade de serviço configurada como posterior ela ficará parada na atividade de serviço e executará o script pelo número de vezes consecutivas configuradas no parâmetro tentativas ou até que o script não retorne um erro. Caso o número de tentativas seja concluído sem que haja uma execução do script com sucesso a atividade será movimentada para o evento intermediário de captura de erro que por sua vez movimentará a atividade para o fluxo indicado, caso contrário a atividade de serviço será concluída e seguirá o seu fluxo de saída normal.

 

A atividade de serviço pode apenas ter um fluxo de saída e deve ter um evento intermediário de captura de erro anexado a mesma para o caso de ocorrer algum problema. É importante ressaltar que a atividade posterior a captura de erro não será atribuída automaticamente a quem enviou a solicitação para a atividade de serviços, portanto o operador deve modelar o processo informando qual usuário será o responsável pela atividade de erro para que não haja uma atribuição automática para o primeiro usuário da lista.

Em tarefas de serviço com tipo de execução Imediata é obrigatório o uso do evento anexo de captura de erro. Bem como um fluxo de saída deste evento permitindo que o processo seja desviado caso o script de integração não tenha sido executado com sucesso em todas as tentativas.

 

O script da atividade de serviço com execução posterior pode receber como parâmetro a quantidade de tentativas e a mensagem de erro da última execução que podem ser utilizados dentro do script. O script em si ficaria como a seguir:

function servicetask9(attempt, message) {
	log.info("Exemplo servicetask");
	var a = hAPI.getCardValue("campo_no_formulario");
	if (a == "1") {
		return true;
	} else {
		throw "Exemplo de Erro";
	}
}

 

Tanto a mensagem de sucesso quanto as mensagens de erro serão gravadas no histórico como complementos e apresentados aos usuários que visualizarem aquela solicitação. Este tipo de integração é melhor utilizado para integração com serviços possivelmente indisponíveis ou externos e que necessariamente devem ser assíncronos a utilização do usuário, possibilitando uma manobra de erro caso a integração não seja concluída com sucesso por qualquer razão.

 


  • Execução Imediata

 

O código gerado de script específico desta atividade será executado após evento afterStateEntry relacionado deste processo e será processado no momento que solicitação entrar na atividade de serviço.

 

Exemplo de código gerado para iniciar o trabalho de integração com serviço:

try {
	var Service = ServiceManager.getService('rm');
	var serviceHelper = Service.getBean();
	var serviceLocator = serviceHelper.instantiate('classe.locator');
} catch(erro) { 
	log.error(erro);
}

O tipo de execução Imediata é atualmente depreciado e não tem seu uso recomendado.


 Atividade de Envio de mensagem

Esta atividade permite o envio de uma mensagem de email para um endereço externo ao endereço a ferramenta fluig. É possível configurar o tipo e email (texto ou html) o assunto e o texto do email em tempo de modelagem. 

 

 Atividade manual

Atividade manul representa uma atividade externa ao sistema que não necessariamente precisa ser executada por um usuário usando a tela de movimentação de processos. Um exemplo prático seria o usuário buscar um documento que acabou de ser impresso. Essa notação deve ser usada em casos em que essas atividades externas ao sistema precisam ser colocadas no diagrama de processos para fins de documentação de processo.

 

 

 Atividade de negócio.

O Objetivo desse tipo de atividade é consultar regras de negócio que não estejam internalizados no Fluig. Essa consulta se dará por meio de um script javascript consultando um serviço pré-cadastrado no fluig. O comportamento interno desta atividade será o mesmo comportamento da atividade  de serviço.

 

 

 Atividade de script

Essa atividade faz a execução de um script ao ser executada. Em tempo de modelagem esse script deverá ser desenvolvido em linguagem javascript e poderá fazer uso de todas as apis de infra-estrutura que o fluig oferece como a hApi e hForm.

 

 Atividade de negócio.

O Objetivo desse tipo de atividade é consultar regras de negócio que não estejam internalizados no Fluig. Essa consulta se dará por meio de um script javascript consultando um serviço pré-cadastrado no fluig. O comportamento interno desta atividade será o mesmo comportamento da atividade  de serviço.

 

 Subprocesso

Permite selecionar outro processo previamente exportado para o servidor do fluig como subprocesso.

Abaixo, os atributos do Subprocesso.

AtributoDescrição
CódigoCódigo da atividade.
NomeNome da atividade.
DescriçãoDescrição da atividade.
SubprocessoProcesso que será iniciado ao iniciar esta atividade.
Transfere AnexosTransfere anexos do processo pai ao processo filho (o inverso não ocorre).
Cancelamento conjunto com solicitação principalCancela todos os subprocessos iniciados pela solicitação caso ela seja cancelada.

Hoje, os anexos de workflow de um subprocesso não são transferidos ao pai a menos que haja alguma customização para tal, porém os anexos do pai podem ser transferidos ao filho através do atributo Transfere Anexos.