A collaboration task is a server-side component representing the machine supported interaction between two humans. The interaction pattern allows a human to create and start a task. On the receiving side, another human is enabled to claim and complete the task. When starting the task, input data can be included. Similarly, when completing the task output data can be included which is passed back to the starter of the task. The Web Service Description Language (WSDL) interface associated with the human task defines the type of input and output data to be used. A human task supports the definition of access rights with respect to creation and start (on the originating side) as well as with respect to claiming the task (on the receiving side). The following image illustrates the collaboration task concept:
The persons interact with the human task through two user interfaces. These user interfaces are usually embedded in applications, and they are presenting the input and output messages to the originator and the receiver.
The collaboration task sample delivers a human task and two user interfaces. The human task is managed through a task related API. The user interfaces are realized as Web applications and can be used to manage task instances and to submit and receive data.
In the scenario for this sample, the originator wants a co-worker to review documents. He passes a pointer to a document, e.g. a URL, together with some instructions to the human task manager. The human task manager creates a task instance for the co-worker. The receiver queries the human task manager for documents to review, does the review and sends the reviewed document back to the originator. Finally, the originator has to clean up the finished task instances.
This sample provides three enterprise applications: CollaborationTaskApp, CollaborationTaskOriginatorEAR, and CollaborationTaskReceiverEAR. The CollaborationTaskApp contains the SCA module with the human task, the CollaborationTaskOriginatorEAR contains the user interface of the originator, and the CollaborationTaskReceiverEAR contains the user interface of the receiver. Refer to the Run the Sample section on how to run the sample applications. The following image shows the structure of the collaboration task sample:
The single component of the CollaborationTaskApp is shown in the following assembly diagram:
The following image shows the interface of the human task:
In this example, the authorization scheme is such that "everybody" can create and start tasks and "everybody" can claim and complete a started task.