180 likes | 276 Views
TRANSACTION CONTROL EXPRESSIONS (TCEs). Ravi Sandhu. Transactions Transaction sagas Transaction control expressions (TCEs) Transient versus persistent objects Automated transaction sagas. OUTLINE. TRANSACTIONS. USERS. TRANSACTIONS. DATABASE. Data abstraction and internal consistency.
E N D
TRANSACTION CONTROL EXPRESSIONS (TCEs) Ravi Sandhu
Transactions Transaction sagas Transaction control expressions (TCEs) Transient versus persistent objects Automated transaction sagas OUTLINE
TRANSACTIONS USERS TRANSACTIONS DATABASE Data abstraction and internal consistency
Abstract operations credit, debit Serializability interleaved execution is equivalent to a serial execution Failure atomicity either all or none of the actions of a transaction actually take effect TRANSACTIONS
1. A clerk prepares the voucher 2. The voucher is approved by a supervisor 3. A clerk issues the check TRANSACTION SAGAS
prepare • clerk; approve • supervisor; issue • clerk; prepare • Alice; approve • supervisor; issue • clerk; prepare • Alice; approve • Bob; issue • clerk; prepare • Alice; approve • Bob; issue • Carl; TRANSACTION CONTROL EXPRESSIONS (TCEs)
Dynamic separation of duties Hierarchical roles Substitution of attribution TCEs
Purchasing Clerk Receiving Clerk HIERARCHICAL ROLES Supervisor Clerk
prepare • clerk; 3: approve • supervisor; issue • clerk; prepare • clerk; 3: approve • supervisor=1, manager=2; issue • clerk; VOTING
prepare • clerk; if value > 1000 then 3: approve • supervisor else 1: approve • supervisor; issue • clerk; VALUE BASED APPROVAL
publish • scientist; approve • security-officer & approve • patent-officer; release • librarian; MULTIPLE APPROVAL
requisition • project-manager ; prepare • clerk; agree • project-manager ; approve • purchasing-manager; issue • clerk; ANCHORS
1. A clerk prepares the voucher and assigns an account 2. The voucher and account are approved by a supervisor 3. A clerk issues the check debiting the account as a side effect Voucher -- transient object Account -- persistent object TRANSIENT vs PERSISTENT OBJECTS
Transactions are executed on persistent objects only as a side-effect of executing transactions on transient objects TRANSIENT vs PERSISTENT OBJECTS
TRANSIENT vs PERSISTENT OBJECTS USERS TRANSACTIONS TRANSIENT OBJECTS PERSISTENT OBJECTS Limited separation of duties Strict separation of duties Distributed audit trail Data abstraction and internal consistency
open • supervisor; {credit • clerk + debit • clerk}; close • supervisor; open • Alice; {credit • clerk + debit • clerk} ; close • supervisor; open • Alice; {credit • clerk + debit • clerk} ; close • Bob; TCEs FOR PERSISTENT OBJECTS
1. A clerk program prepares the voucher and assigns an account 2. The voucher and account are approved by a supervisor program 3. A clerk program issues the check debiting the account as a side effect AUTOMATED TRANSACTION SAGAS
Transactions Transaction sagas Transaction control expressions (TCEs) Transient versus persistent objects Automated transaction sagas SUMMARY