In general, the E2E xUML Runtime supports implicit and explicit commit of transactions.
- Fast-running ACID transactions are supported by the concept of xUML Runtime sessions.
- Long-running transactions are supported via BPMN 2 or persistent state concepts.
- As a part of other transaction concepts, SAP tRFC is supported.
Fast-running ACID Transactions
The E2E xUML Runtime works with the concept of sessions. Sessions are equivalent to units of work, that can be committed or rolled back depending on the status at the end of the session.
The following action types are affected on commit / roll back:
Action Type | Example |
---|---|
database access | insertion or deletion of database records |
persistent state handling | creation of a persistent state object, sending of a persistent state signal, sending of conversation signals |
JMS activities | sending or receiving of JMS messages with acknowledge mode transacted |
POP3 activities | deletion of mails from POP3 server |
- SOAP services,
- timer services
- schedulers
- HTTP services
- SAP RFC services
- JMS services
- Java services
If an exception occurred during session execution and if this exception is not being caught, the session gets implicitly rolled back. The xUML Runtime will then rollback all not committed transactions.
However, for all other actions not mentioned in the table above, the session concept does not apply, e.g. file manipulations, external service calls, system adapter calls, and more.
Long-running Transactions
For long-running business processes, the E2E xUML Runtime supports parts of the BPMN 2 compensation semantics . If processes are defined via state machines, the UML concept of history states is supported.
Concerning both concepts it is important to regard that in practice they should be integrated into an overall concept of error handling to make sense at all (e.g. annulation processes).
Other Transaction Concepts
Some backend systems have their own transaction concept, e.g. SAP tRFC. SAP tRFC has been implemented into the E2E xUML Runtime by the use of a state machine. The correctness of this implementation has been verified by SAP during a certification process.