Criação de processo de workflow dinamico

4 respostas
thiagocg

Olá pessoal!
Estou iniciando um novo projeto que consiste em uma ferramenta de workflow, e me deparei com uma solicitação do cliente que me gerou uma duvida, vcs sabem se existe algum framework que possibilite a criação de fluxos dinamicamente em tempo de execução?

Deixa eu explicar melhor, o cliente deseja criar ou alterar uma rotina de fluxo dinamicamente sem a necessidade de programação atraves do sistema usando uma notação gráfica para isso.

Alguem teve alguma experiencia ou leu alguma coisa que possa me indicar?

Inicialmente estou estudando sobre processos de workflow, ainda não parti para nenhuma implementação, estou estudando apenas o “negócio”, então qualquer sugestão é bem vinda tb!

Desde já agradeço por toda a ajuda.

[]'s

4 Respostas

Alexandre_Saudate

thiagocg:
Olá pessoal!
Estou iniciando um novo projeto que consiste em uma ferramenta de workflow, e me deparei com uma solicitação do cliente que me gerou uma duvida, vcs sabem se existe algum framework que possibilite a criação de fluxos dinamicamente em tempo de execução?

Deixa eu explicar melhor, o cliente deseja criar ou alterar uma rotina de fluxo dinamicamente sem a necessidade de programação atraves do sistema usando uma notação gráfica para isso.

Alguem teve alguma experiencia ou leu alguma coisa que possa me indicar?

Inicialmente estou estudando sobre processos de workflow, ainda não parti para nenhuma implementação, estou estudando apenas o “negócio”, então qualquer sugestão é bem vinda tb!

Desde já agradeço por toda a ajuda.

[]'s

O jBPM (do qual, aliás, sou autor de um artigo publicado na Java Magazine ed. 71. Dê uma olhada, se quiser entender um pouco mais a respeito =) ). Você pode gerar um XML para ele fazer parse, tudo em tempo de execução. Vou gerar um exemplo e daqui a pouco, posto aqui.

[]´s

Alexandre_Saudate

Pronto.

O exemplo é o seguinte, suponha o XML:

<?xml version="1.0" encoding="UTF-8"?>

<process-definition 
  xmlns="urn:jbpm.org:jpdl-3.2"
  name="simple">
   <start-state name="start">
      <transition name="to_state" to="first">
         <action name="action" class="com.sample.action.MessageActionHandler">
            <message>Going to the first state!</message>
         </action>
      </transition>
   </start-state>
   <state name="first">
      <transition name="to_end" to="end">
         <action name="action" class="com.sample.action.MessageActionHandler">
            <message>About to finish!</message>
         </action>
      </transition>
   </state>
   <end-state name="end"></end-state>
</process-definition>

Isto é um processo jBPM, definido em notação jPDL, que é um XML. Passado como parâmetro para o método:

public ProcessDefinition getDefinition(String process) {
ProcessDefinition def = ProcessDefinition.parseXmlString(process);
return def;
}

Você terá parseado seu XML para uma definição de processo. A partir dessa definição, você pode gerar instâncias de processos, que serão usadas por cada cliente do mesmo. Para conseguir a instância, você usa um código assim:

ProcessInstance instance = new ProcessInstance(processDefinition);

A partir da instância, você pode ir usando o método signal(); para ir prosseguindo pelos estados do workflow (isso quando o workflow é simples; para workflows envolvendo tarefas, por exemplo, a coisa é um pouco mais complicada). Mas enfim, isso demonstra o fato de que é perfeitamente possível gerar instâncias de workflows dinâmicas com o jBPM.

[]´s

thiagocg

Olá asaudate, obrigado pela resposta.

Então como reportei estou iniciando neste projeto, creio que partirei meus estudos para o jbpm então, ainda porque tenho um outro sistema que foi desenvolvido usando o seam e que deve tb interagir com este workflow.

Eu compro regularmente a java magazine, vou verificar se tenho esta em casa.

Vou dar uma estudada no jpbm e conforme forem aparecendo as duvidas vou postando e se puder me dar uma ajuda ficarei grato.

[]'s

J

asaudate:
thiagocg:
Olá pessoal!
Estou iniciando um novo projeto que consiste em uma ferramenta de workflow, e me deparei com uma solicitação do cliente que me gerou uma duvida, vcs sabem se existe algum framework que possibilite a criação de fluxos dinamicamente em tempo de execução?

Deixa eu explicar melhor, o cliente deseja criar ou alterar uma rotina de fluxo dinamicamente sem a necessidade de programação atraves do sistema usando uma notação gráfica para isso.

Alguem teve alguma experiencia ou leu alguma coisa que possa me indicar?

Inicialmente estou estudando sobre processos de workflow, ainda não parti para nenhuma implementação, estou estudando apenas o “negócio”, então qualquer sugestão é bem vinda tb!

Desde já agradeço por toda a ajuda.

[]'s

O jBPM (do qual, aliás, sou autor de um artigo publicado na Java Magazine ed. 71. Dê uma olhada, se quiser entender um pouco mais a respeito =) ). Você pode gerar um XML para ele fazer parse, tudo em tempo de execução. Vou gerar um exemplo e daqui a pouco, posto aqui.

[]´s

Bom Dia,

Cara, estou precisando fazer uma aplicacao de workflow, eu li sua materia na javamagazzine, mto boa, parabéns!!!
Eu queria saber se consigo colocar o plugin do jboss tools no eclipse helios, se vc tem algum tutorial pra esse eclipse com a nova versao do jboss tools.

Mto obrigado.

Criado 2 de junho de 2010
Ultima resposta 27 de set. de 2010
Respostas 4
Participantes 3