3 Replies Latest reply on Dec 3, 2010 1:03 PM by objectiser

    WS-HumanTask and BPEL4People support

    jeffdelong

      Riftsaw should add support for human participant in a process. Most business processes include both services as well as human tasks. Most BPEL engines include support for both. There are two complementary specifications that add human task capabilties to BPEL. BPEL4People defines how to specifiy a human task as part of a BPEL process. WS-HumanTask specifies the management of human tasks (the various states they can be in as well as the interface to view / change the state of a human task).

       

      Along with supporting these specifications, Riftsaw should provide a version of the BPM Console that could be used by users to view / change the state of human tasks.

       

      While human task support is also being addressed as part of Drools Flow / jBPM5 BPMN2 process execution, and these efforts should be leveraged to the extent possible, this does not eliminate the need for this support in the context of BPEL. Support for both BPEL and BPMN2 process execution is another example of "Open Choice", i.e. allowing users to select the language / standards they want to use.

        • 1. Re: WS-HumanTask and BPEL4People support
          objectiser

          There is currently a jira for BPEL4People support: https://jira.jboss.org/browse/RIFTSAW-146

           

          There are two issues:

           

          1) Support for WS-HT

           

          The jBPM5 project has a service that implements the WS-HT task management lifecycle, but is currently only for embedded use - so needs a Web Service interface. Once this is available, then BPEL and BPMN2 processes would be able to share the same task manager.

           

          It is also feasible for a standard BPEL process to make use of a WS-HT service, as effectively it is just like any web service. So although possibly not as intended from a BPEL point of view, it would provide the means for combined system and human user orchestration through BPEL.

           

          2) BPEL4People is a more complicated issue

           

          This is because (a) it requires extensions to the core ODE engine implementation, and (b) would require changes to the BPEL editor to provide UI support.

           

           

          I'm in favour of supporting (1), we just need resources to implement the web service interface. However I am not sure of the cost/benefit of (2) given that option (1) would provide a solution.

           

          Regards

          Gary

          • 2. Re: WS-HumanTask and BPEL4People support
            jeffdelong

            Ok, let's focus on WS-HT support for now. What would this look like from:

             

            1) Architectural perspective - i.e. how would jBPM5 WS-HT component interact with Riftsaw? How would a Task Management UI interact with the WS-HT component? Is this interaction already provide by jBPM5 project?

             

            2) Process designer perspective - how is the human task service specified? How is human task assignment specified?

            • 3. Re: WS-HumanTask and BPEL4People support
              objectiser
              1) Architectural perspective - i.e. how would jBPM5 WS-HT component interact with Riftsaw? How would a Task Management UI interact with the WS-HT component? Is this interaction already provide by jBPM5 project?

               

              I believe the best way is that the WS-HT component is an independent component that would be used by RiftSaw, jBPM and any other web service that wished to perform user task based actions. This would also mean that the task UI would need to be independent, but still integrated in the BPEL and jBPM consoles.

               

              I believe at the moment it is an integral component of jBPM. So from the jBPM project perspective, nothing would change - they would still probably continue to use it via the embedded or Java based API, and see the tasks in the web console.

               

              2) Process designer perspective - how is the human task service specified? How is human task assignment specified?

               

               

              I would assume the service would be used like any other. The BPEL process would have access to its WSDL, and invoke operations on the service as necessary, which would include doing task assignments etc.

               

              Without BPEL4People, it probably means the BPEL process has to do more work - but once we have experience of writing BPEL processes that directly use a WS-HT service, that may provide a good reason to directly support BPEL4People.

               

              Prior to jBPM5's WS-HT component getting a Web Service interface, it may be worth finding another WS-HT task service that you could try with RiftSaw