cancel
Showing results for 
Search instead for 
Did you mean: 

Activiti integration with external Task Management system

trivedi
Champ in-the-making
Champ in-the-making
Hi,

Would it be possible to integrate Activiti with external Task management system? Currently, Activiti manages all the tasks with in its own DB [tables], but is there a way we can configure Activiti to use third party task management systems inside the business process?

Thanks,
Trivedi
5 REPLIES 5

frederikherema1
Star Contributor
Star Contributor
It should be possible, if you create eg. Service-tasks in your process that call the 3rd party task-managent tool through any interface. After the service-task, you could place a wait-state (receive task) which halts the process. When the task is finished in your task-mgmt app, you can just use the java API to signal the workflow this task belongs to (runtimeService.signal(processInstanceId)).

Another option whould be to write your own ActivitiBehaviour (instead of ServiceTask with JavaDelegate with receivetask after it) that combines the call to the task management app and halts the process, just like a receive task whould…

yangyang_qian
Champ in-the-making
Champ in-the-making
We're doing something similar in our environment … we lack Activiti savvy Smiley Surprisedops: , so instead of building our own customized ActivitiBehavior, we are instead using UserTasks assigned to a dummy target (like "system") and then using TaskListeners to perform the custom task assignment behavior (e.g. reaching out to an external task management system).

To move onto the next node, a   taskService.complete(id, <optional outcome variable>)  is sent from the external system

Note that for this to work, we had to store the TaskId and BusinessKey / ProcessInstanceId needed by the external system so that the correct UserTask is signaled on the Activiti side.

I don't know if this is a valid way of doing it, but it seems to be working, kind of …

trivedi
Champ in-the-making
Champ in-the-making
Thank you for sharing your ideas, i will consider provided options and get back you which one is more feasible to our requirements.

Thanks,
Trivedi

trivedi
Champ in-the-making
Champ in-the-making
Hi yangyang.qian,

Could you please tell me, if possible, which third party task management application you used with Activiti? Please let me know only if it can be shared.

Thanks,
Trivedi

yangyang_qian
Champ in-the-making
Champ in-the-making
It's an old in-house task management system that we developed for a previous iteration of our service-request tracking tool. We are currently trying to upgrade the engine portion of the tool … we decided to retain the previous request tracking tool's non-engine components … which I guess landed us in the same position as if we had decided to integrate a vendor-bought third-party tool with Activiti.

Sorry, I know our scenario doesn't exactly mesh with your particular use-case, but I do believe our strategy for how we are handling signaling the Activiti engine is valid (though maybe a bit non-standard  :? )