Hi,
It’s my first process in BPM, so I have a doubt.
I am using DB connectors on human tasks, but it appears a message saying “the task should be a service to be comppatible with BPMN2”. Can I use connectors on human tasks? or, Must I separate it in two tasks, one human and another service?
Thanks.
I think you are mixing two things here, the implementation of BPM in Bonita, and the BPMN2 standard to which Bonita may be considered a (sub|super (you choose) )set.
The message is not a hard error but only a recommendation to change your process to meet BPMN2 standards. You can have connectors on all tasks that I’m aware of and indeed I’ve used a few.
This really comes down to fine detailing on your process design…which is a challenge I must admit.
Not sure if this helps but if others can pitch in their thoughts…
regards
Hi,
I will complete the already good answer from Sean McP.
The concept of Connector is specific to Bonita, but it is very similar to Service in BPMN 2 world.
In BPMN 2 specification, you can call a Service only on a Service Task. In Bonita, we are providing the possibility to call a Connector on Human AND Service task for the sake of flexibility.
If you try to export in BPMN2, you will loose the connectors that are set on Human Task.
From a modeling point of view, some BPM guys thinks that it should be always separated, some others not.
Personally, I think that it depends on the size of the process and the goal of the Connector. If it is important in the logic of the process you might use two tasks, if it is a connector which is used only for notification purpose you can use it on the same task.
if by using two tasks the process becomes too complex, it means that it is time to use Call Activities
I hope that my answer provides more thoughts on how and when to use Connectors .
Regards,
One other thing to consider is the transaction structure. Connectors themselves are not transactional, but there is a transaction for getting the output data of the connector. If you include a connector in a human task, this adds two extra transactions to the task (see the [http://documentation.bonitasoft.com/execution-sequence-states-and-transactions][documentation] for more information). For your first process this maybe doesn’t matter yet, but when you reach the stage of preparing for production, you might want to think about rollback etc, and what you want to happen if connector execution fails.