JBPM e aplicações que gravam dados

Olá amigos,
Estou trabalhando num workflow, e estou estudando usar o JBPM. Estou com um entrave: no decorrer do processo há informações que precisam ser salvas em banco. Como dizer isso ao Token.signal()? Como passar dados para os handlers tratarem? No metodo execute() do ActionHandler como passar os dados que precisam gravados em banco?
Abraço a todos.

Sávio Barros

[quote=saviobarr]Olá amigos,
Estou trabalhando num workflow, e estou estudando usar o JBPM. Estou com um entrave: no decorrer do processo há informações que precisam ser salvas em banco. Como dizer isso ao Token.signal()? Como passar dados para os handlers tratarem? No metodo execute() do ActionHandler como passar os dados que precisam gravados em banco?
Abraço a todos.

Sávio Barros[/quote]

Você pode usar variaveis de contexto:

executionContext.getContextInstance().getVariable

use o setvariable para setar. É assim que estamos aqui.

[]'s

[quote=lavh][quote=saviobarr]Olá amigos,
Estou trabalhando num workflow, e estou estudando usar o JBPM. Estou com um entrave: no decorrer do processo há informações que precisam ser salvas em banco. Como dizer isso ao Token.signal()? Como passar dados para os handlers tratarem? No metodo execute() do ActionHandler como passar os dados que precisam gravados em banco?
Abraço a todos.

Sávio Barros[/quote]

Você pode usar variaveis de contexto:

executionContext.getContextInstance().getVariable

use o setvariable para setar. É assim que estamos aqui.

[]'s[/quote]
Huumm legal, mas onde essas variáveis deverão ser setadas? Imagine que eu tenha uma tela swing e vários inputs. Como passar esses inputs para o metodo execute do ActionHandler?
Obrigado.

Sávio Barros

[quote=saviobarr][quote=lavh][quote=saviobarr]Olá amigos,
Estou trabalhando num workflow, e estou estudando usar o JBPM. Estou com um entrave: no decorrer do processo há informações que precisam ser salvas em banco. Como dizer isso ao Token.signal()? Como passar dados para os handlers tratarem? No metodo execute() do ActionHandler como passar os dados que precisam gravados em banco?
Abraço a todos.

Sávio Barros[/quote]

Você pode usar variaveis de contexto:

executionContext.getContextInstance().getVariable

use o setvariable para setar. É assim que estamos aqui.

[]'s[/quote]
Huumm legal, mas onde essas variáveis deverão ser setadas? Imagine que eu tenha uma tela swing e vários inputs. Como passar esses inputs para o metodo execute do ActionHandler?
Obrigado.

Sávio Barros[/quote]

Então,

para iniciar o fluxo, voce tera que dar um new ProcessInstance. Isso será em uma classe sua de negócios, ainda fora do jbpm, dai nessa sua classe, você setta essas variaveis e depois manda um signal, dai dentro do handler você terá essas variaveis.

[]'s

lavh, muito obrigado. Vi como passar essas variáveis dentro de um Map na hora de criar o processo.
Pergunta de amador: é certo passar no map uma entity já populada (com dados da tela do sistema) para a engine do JBPM fazer a persistência?

[]´s

Sávio Barros

[quote=saviobarr]lavh, muito obrigado. Vi como passar essas variáveis dentro de um Map na hora de criar o processo.
Pergunta de amador: é certo passar no map uma entity já populada (com dados da tela do sistema) para a engine do JBPM fazer a persistência?

[]´s

Sávio Barros[/quote]

acredito que sim Sávio.

na verdade ainda não sei muito bem o que é certo ou errado em um fluxo de workflow. Ultimamente eu tenho lido o seguinte site sobre o assunto: http://www.workflowpatterns.com/ , que dá dicas de patterns para workflow.

Não sei como você está fazendo seu fluxo, mas no meu caso aqui, eu pego os dados da tela, passo para o meu fluxo assim como você fez, e depois de trabalhar neles eu persisto, dentro de um serviço do fluxo mesmo.

Aproveitando o embalo…

Acabei de entrar num projeto que utiliza JBPM, mas estou com extrema dificuldade de achar material para que eu possa estuda-lo.
Será que os amigos teriam algo para me ajudar?

Abraço!

Oi,
Na revista Mundo Java número 25 tem um material que dá alguma noção. E também no site do jbpm: http://www.jboss.org/jbossjbpm/
Em breve no meu blog vou postar sobre JBPM, dificuldades, dúvidas que tive e como resolver etc.
Meu blog é: http://saviobarr.wordpress.com

[]´s

Sávio

Ótimo, cara…

Eu até encontrei algum material sobre JBPM, mas algo muito teorico.
Muita definição de nó, transições, etc, mas não encontrei um mão na massa, como incorporar o workflow no projeto, como faze-lo funcionar.
To meio perdido mesmo. Vou dar uma olhada no seu blog…

Abraço!

Só pra deixar claro: no blog ainda não tem um “mão na massa”. Vou preparar um e postar em breve.
Abraços

Sávio

A principal dificuldade que eu vejo no jBPM é na parte conceitual.

Se você não entender bem o conceito de serviços, você corre o risco de transformar o jBPM em um Maker melhorado, e começar a fazer fluxogramas para implementar um if por exemplo.

Eu acho importante, na verdade fundamental, antes de começar a usar jBPM entender corretamente o conceito de serviços e componentes, para que você possa fazer fluxos que façam realmente sentido!