Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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

 

Deck of Cards
idatividade-servico
Card
idexec-posterior
labelExecução Automatizada
  • Execução Automatizada

 

Neste caso a execução do script de serviço será assíncrona e script será executado sem a necessidade de uma interação do usuário para que isso aconteça. É 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.

Nota

Em tarefas de serviço com tipo de execução Automatizada é 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:

Bloco de código
languagejs
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.

 

Card
idexec-imediata
labelExecução Manual

  • Execução Manual

 

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:

Bloco de código
languagejavascript
try {
	var Service = ServiceManager.getService('rm');
	var serviceHelper = Service.getBean();
	var serviceLocator = serviceHelper.instantiate('classe.locator');
} catch(erro) { 
	log.error(erro);
}
Nota

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

...