I recommend you to use Work Items (Service Tasks in BPMN2) to handle the Web Services Calls. Using a Work Item you can parametrize the retries times. A failure calling a web service, at least in my perspective should be used to raise an error event.. because it's not a business error.. it's just a network/server error.
And what about receiving web service call? or actually listening to it - do you recommend to use message event?
You usually call an external web service. For that workitems are recommended. What do you mean with receiving a web service call? can you share an use case for that? What do you mean with listening to a web service call?
Message Events are for external events that can be generated. If you have a JMS message queue listening for new messages you can use the message event node to be able to signal de process on each message arrival.
Meaning that I need someone to call my workflow from external program. I thought that he will send to me the call - and have to be able to accept it.
If you want you can expose, using a facade, the engine APIs through web services. You can also use Drools Server in order to expose your sessions through REST and SOAP interfaces.
I recommend you to use Work Items (Service Tasks in BPMN2
I saw only log or email
which one can be used for Web Service?
Hi there, as you may notice Log and Email are both in a separate list called Service Tasks right?
That list can be extended and you can add any Service Task that you want, one could be your Web Service Call. Log and Email are both examples about how to do that, but you can include your custom code.
Take a look at the docs for more information:
Notice that in the information a new WorkItem/ServiceTask is created called Notification.
Hope it helps!
Hi, Could you please describe how to add a component(Ex: Web service) to the "Service Tasks" list.
It could be great to have generic WS Work Items. In that case we should configure on the Work Item:
- Which WSDL use
- The operation invoked and how to create the message from the process variable.
Also, other integration options could be supported, for instance JMS
Any plan of implementing stuff like that?
After registering work item handler at the time process,How would it know when to call work item handler?
I mean if there are three nodes in the process and i want to invoke the work item handler after second node, how would i configure it?
I am grateful if you reply asap....
The WorkItemHandler will be associated to one of your activities in the process. so if you have three nodes you can have three different work items associated to each activity.
Please look at the documentation
Thanks for your reply...
What about the scalability of JBPM? Is it proven to perform well under high load?
we are planning to use JBPM in our application which is very critical. Can i run this JBPM app in multiple servers? If How will they share the session data and process instances....
Through the database