Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

It needs to be clear to users the level of atomic operations supported by the CPS

Decision

...

The CPS will not use an external transaction manager. Where the underlying DBMS provides transactions, these will be exposed by the SPI and used by the CPS core library.

The CPS core library will expose a simple session concept to co-deployed modules. This will enable fine grained control of the order of changes. This will help ensure that complex validation (e.g. WHEN clause) succeeds.

For REST users, the session concept will not be exposed. Where documents representing several operations are input, the CPS will follow the order of the input document, and fail fast. Any failures will be abandoned (if the underlying DBMS supports transactions) and a failure response will be returned to the REST user.

Details (REST interfaces)


Details (Java

...

interfaces, co-deployed)

The co-deployed application will have explicit control of the transaction

...