Usando PAPI para criar e recuperar instância de processos no ALBPM/OracleBPM

O PAPI (Process API) é uma API do ALBPM/OracleBPM que permite que se possa interagir diretamente com a engine de execução de processos da ferramenta, e dentre outras coisas é possível: criar instâncias, recuperar instâncias, realizar buscas, abortar instâncias, enviar notificações, auditar uma instância, etc.

Ou seja, é muito importante sabermos que essa API existe e principalmente sabermos como usá-la. Existem duas maneiras de usá-la: externa e internamente. Externamente isso pode ser feito usando o PAPI-WS, que são serviços expostos pelo próprio ALBPM para que se possa usar o PAPI, porém um pouco limitado. Outra opção é usando a JAVA API, que é mais completa. Dentro do ALBPM usamos diretamente a Java API através do Catálogo de API’s da ferramenta.

Criando e Recuperando Instâncias de Processos

Fiz um exemplo de código bem simples no ALBPM para poder apresentar como criar instâncias e recuperar instâncias de processos. Seguem os dois exemplos com os respectivos comentários:

Criando Instâncias
Para criar instâncias é muito simples, basta usarmos o método create da API ProcessInstance, passando como parâmetros o ID do processo (sempre com “/” na frente), os argumentos de incialização (caso existam), e o nome do método de inicialização, que pode ser visto através da opção “argument mapping” do evento de inicialização. Segue o código:

 Java |  copiar código |? 
1
2
String processCreateResult = create(processId : "/Teste", arguments : null, argumentsSetName : "BeginIn");
3

Recuperando Instâncias
Para recuperar instâncias também é muito simples, mas devemos ter atenção com a autenticação no DirectoryService onde o projeto correspondente a instância a ser recuperada está deployado.

Esse passo é necessário, pois para recuperar instâncias é usada outra API, no caso a API ProcessService e para tal precisamos autenticar no DirectoryService antes de tentar recuperar a instância de fato.

Para autenticação no DirectoryService, usamos o método connectTo da API ProcessService, e esse método espera 3 parâmetros: A URL do DirectoryService (pode-se usar as constantes como no exemplo abaixo), o usuário e a senha. O usuário e a senha devem possuir a role onde a atividade de criação da instância está associada.

 Java |  copiar código |? 
1
2
(ProcessService).connectTo(url : Fuego.Server.directoryURL, user : "tester", password : "tester");
3
businessProcess = (ProcessService).getProcess(process : "/Teste");
4

Agora para visualizar o resultado, basta o seguinte código:

 Java |  copiar código |? 
1
2
logMessage("-------------------------------------------------------------------");
3
logMessage("Instância do Processo Criado: "+processCreateResult);
4
logMessage("Referência da Instância Recuperada: "+businessProcess);
5
logMessage("-------------------------------------------------------------------");
6

BPM

Se você gostou desse tópico, por favor considere deixar um comentário ou se inscreva no feed e tenha no futuro todos os tópicos entregues diretamente no seu agregador.

Comentários

3 Respostas para “Usando PAPI para criar e recuperar instância de processos no ALBPM/OracleBPM”

Deixe seu Comentário

(obrigatório)

(obrigatório)