[jBPM] - Seeking guidance with Jbpm 5.3+ Clustering
by Anindya Saha
Anindya Saha [https://community.jboss.org/people/anindyas79] created the discussion
"Seeking guidance with Jbpm 5.3+ Clustering"
To view the discussion, visit: https://community.jboss.org/message/752604#752604
--------------------------------------------------------------
Hello Experts
We have been evaluating jBPM 5.2/5.3 for one of our large prestigious clients.They are planning to migrate one of their complex workflow processes built on one of the leading bpmn solution to jBPM 5.3, and we as architects are helping them in proposing suitable architecture and design.
After much studying and analysis we feel confident that an application jBPM + Drools will be able to be a successful replacement of the existing workflow process. However, we are lacking confidence in one arena i.e. scalability and cluster-deployment. We are planning to deploy jbpm on multiple Jboss instances and balance the load to the Jboss instances using an Apache Http server. To test clusterability we designed a simple process as below. A process which has two human tasks assigned to users john and mary and then a script task.
https://community.jboss.org/servlet/JiveServlet/showImage/2-752604-19175/... https://community.jboss.org/servlet/JiveServlet/downloadImage/2-752604-19...
Let us assume that there are two nodes N1 and N2. So when the user requests to create a task the request reached node N1. The process is created with a new session in node N1.We create the session using JPAKnowledgeService.+newStatefulKnowledgeSession+ The process moves to Johns tasklist. Now lets say if user John logs in, he is directed to node N2 via load balancer he can see the task and he can complete that. Since the session in node N2 is different than that of N1 when the process was created we have to call JPAKnowledgeService.+loadStatefulKnowledgeSession+. Once John completes the task it moves to mary. Now let’s say if user Mary logs in, she is directed to node N1 via load balancer she can see the task and she can complete that. But after completion the task is not moving to script task. Also in the processinstanceinfo table does not get emptied. The problem is happening in case of zigzag direction of the request to different nodes. However, if the apache httpd delegates all the subsequent requests after the process is started to only Node N1 or only Node N2 then the entire chain gets completed.
Start (N1) -> John (N2) -> Mary (N1) does not work
Start (N1) -> John (N2) -> Mary (N2) works
Any suggestion or help in this regard would be really appreciated. Any pointers or links to who have actually implemented clustering would help us a lot.
Thanks
Anindya
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/752604#752604]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 8 months
[jBPM] - Process deployment questions
by Franck cdsosi
Franck cdsosi [https://community.jboss.org/people/cdsosi] created the discussion
"Process deployment questions"
To view the discussion, visit: https://community.jboss.org/message/752538#752538
--------------------------------------------------------------
Hi community,
I have several questions on process deployment in jBPM 5.
What are the different options for deploying a process for using it with JAS 7 within jBPM console for instance?
1- First option is drools-guvnor obsvously
2- This also can be done manualkly as https://community.jboss.org/people/tsurdilovic Tihomir told me in a previous post ( https://community.jboss.org/message/751628#751628#751628 https://community.jboss.org/message/751628#751628) :
"You don't really need guvnor for deployment. You could create the .pkg yourself using drools-ant tasks and push it to your own servers for example and let the client applications consume it. You could also if you are using the jBPM Console place your process definitions and artifacts like process image, task forms, dependency jars (such as service node impls for example) on the console classpath and it will be able to see them"
Is there any documentation on that 2nd solution or fas or anything else. I really want to understand how things are working and I must say that it is not the case :(
Where do you put the pkg once made? Actually I can find where the pkg files are located on server side.
3- I have install 5.3.0 Full package demo one more time and put some bpmn2 processes in ...\jbpm-installer\sample\evaluation\src\main\resources
I thought I would have to put them in drools-guvnor and then build binary package so that to make them available in jBPM console but I did not and open the jBPM console directly and all my processes were available, is there anything parameterized in the demo so that jBPM console automatically scans ...\jbpm-installer\sample\evaluation\src\main\resources directory? I can't see anything specifying that?
The jbpm.console.directory is empty in ...\jbpm-installer\jboss-as-7.0.2.Final\standalone\deployments\jbpm-gwt-console-server\WEB-INF\classes\jbpm.console.properties from the jbpm-gwt-console-server.war... Can anyone explain to me that?
4- Another question delaing with deplyment : If I want to create a new Service Task with custom code Java Code with Domain Specific Service Task running on server, how do i make it available for process runtime engine. Do I need to make a jar and then what is the location to drop it so that it can be used at runtime?
Many exemples provided in user documentation seems to be eclipse oriented, I need to make things working remotly and I can find my way through documentation.
a- in file drools.session.conf from jbpm-gwt-console-server.war you specify which conf file to use (e.g. drools.workItemHandlers = CustomWorkItemHandlers.conf), correct?
b- in file CustomWorkItemHandlers.conf from jbpm-gwt-console-server.war you specify which class to instanciate (e.g. "Log": new org.jbpm.process.instance.impl.demo.SystemOutWorkItemHandler()), correct?
=> this class is located in ...\jbpm-installer\jboss-as-7.0.2.Final\standalone\deployments\jbpm-gwt-console-server\WEB-INF\lib\jbpm-flow-5.3.0.Final.jar
Do I need to put the jar in the jbpm-installer\jboss-as-7.0.2.Final\standalone\deployments\jbpm-gwt-console-server\WEB-INF\lib directory and then re-package it as a war (jbpm-gwt-console-server.war). Is this the case does JAS needs to be re-started or is there another place for JAS so that modifications can be updated without needind JAS restart?
Is there a step by step documentation /post / article describing how I can make a personal Service Task running on server side.
I must say that this makes a huge amount of questions but any help would be appreciated !!
Kind Regards
Franck
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/752538#752538]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 8 months
[jBPM] - Process Parameters through REST API?
by Franck cdsosi
Franck cdsosi [https://community.jboss.org/people/cdsosi] created the discussion
"Process Parameters through REST API?"
To view the discussion, visit: https://community.jboss.org/message/751738#751738
--------------------------------------------------------------
Hi,
I have been seraching for quite a long time but can't get around with problem. Maybe some of you have a solution, I hope so actually !
I desgin and deploy a process which has some process variables. I want to start that process and of course set (initialize) the values to so that they can be used when the process starts.
I have to say that there is no kind of human task or form in my process.
Is it possible to do that simple action through the REST API.
I try to add the parameters in the post request of .../gwt-console-server/rs/process/definition/{id}/new_instance but with no success => I thought this particular REST API would have parsed the parameters and their values in the body and then try to match some of them with process variables but it seems that it is not the case or maybe I did in a bad way.
Anyone one can help ?
Thanks
Regards
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/751738#751738]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
13 years, 8 months