Transaction Support in a Sub-Process

Discussions about modeling, execution and management of process/application data.
Forum rules
Make sure every topic contains information about your LSPS version and if relevant also your server OS, client OS, database name and version, and application server name and version.
cbmeeks
 
Posts: 59
Joined: Wed Aug 07, 2013 11:28 pm

Transaction Support in a Sub-Process

Fri Sep 25, 2015 7:38 pm

Let's say I have a workflow that contains several tasks.

One of those task is a Sub-Process (or, it could be a Reusable Sub-Process) and within it, it creates persisted database records across three individual processes.

For example:

Code: Select all
Workflow
    A -> B -> C


"C" is a Sub-Process that is defined as:

Code: Select all
C
    UPDATE_CUSTOMERS  ->  UPDATE_ORDERS  ->  UPDATE_HISTORY


Now, if I mark "C" as "Transaction" in the Subprocess properties (under the Name v2.7) and one of the update tasks fail, does it automatically roll-back the other two updates? At the database layer?

Or, is this a different type of transaction object.

In our Spring apps we would mark each service as @Transactional so that when calling three different updates on three different tables would be wrapped into ONE database transaction.

Basically an "all or nothing" approach.

I cannot find details of that transaction setting in the documentation.

Thanks!

Radovan Cervenka
 
Posts: 48
Joined: Mon Feb 27, 2012 2:47 pm

Re: Transaction Support in a Sub-Process

Mon Sep 28, 2015 2:18 pm

Setting a sub-process as transaction, does not influence execution of process. The only reason is to allow cancelling sub-process with Cancel End Event and its possible catching at boundary of transaction sub-process; see here for details. We thought about supporting some transaction protocol, e.g., WS-Transaction, but we saw it quite complicated with really questionable real utilization. Instead, we plan to add compensations for activities in transactions, to better support "business transactions" and their rollback.

A useful information about transactions in BPMN process execution can be found here.

Return to Data modeling

Who is online

Users browsing this forum: No registered users and 1 guest