1 Reply Latest reply on Feb 25, 2011 3:14 AM by helal jean-noel

    Dynamic linking of application forms to jBPM process

    Prachi Tonapi Newbie

      I have following requirements in my application.


      1. I have complex form builder requirement, which will generate the forms dynamically. These dynamic forms should be integrated with workflow. Will JBPM support this?


      2. The content based routing in workflow might depend on the data captured through dynamic forms. How I can do it using jBPM. The process variables passed to step should be from dynamic forms.


      3. The worflow needs to be designed by Business Users. Jbpm provides web based front-end for business users.- can i integrate this with my application with look and feel getting aligned to my application?


      4. Can i decide the no. of parallel flows dynamically. I have predefined path (let's say activity X, human task - which will be done using application FORM). But at runtime (during process instance execution) user will define 5 or10 users need to carry out this task. Is this supportded?

        • 1. Dynamic linking of application forms to jBPM process
          helal jean-noel Newbie



          1 yes JBPM is a process engine and it's up to you to provide human interactions. Any MVC will be suitable here. Please take a look to the JPDL "start" and "task" nodes into the dev guide. There is a "form" attribute that you may use to let your app know what form to display each time a  wait state is reached. JBPM console do it with freemarker forms. I consider struts 2 is perfect for that. Same with any MVC lound client.


          2 again whatever the view framework/solution, you have to retrieve data from it and pass it to the pvm engine. I didn't eard about a successfull attempt to have this automated. I suspect this could be archived with BPMN2 spec and new editors comming (see the great plugin from Koen in the forum), but there is work to do.


          3 Yes you can let "managers" design the workflows: that the prime goal of JBPM (and almost all computer sciences formalisms form the 70'). But you should consider that process also implies data. You have two options a) to use process variable extensively and b) to have your own (separated or not) business database. This really depends on your requirements, personally i chosed b). For the signavio look & feel, i do not know.


          4) Yes see the JPDL foreach loop semantic. It is a fork with the number of branches dynamically set through a process variable. In the same way the join can be stop on a number condition. We did not use it yet , so take a look at JIRA first. Also : this is actually dynamic number of parallele branches in one process, make sure that you really need such a thing.


          best regards