CORBA Object Transaction Service Telcordia Contact: Paolo Missier paolo@research.telcordia.com +1 (973) 829 4644 March 29th, 1999 Telcordia Technologies Proprietary – Internal Use Only This document contains proprietary information that shall be distributed, routed or made available only An SAIC Company within Telcordia Technologies, except with written permission of Telcordia Technologies. Transactional Support for Distributed Objects � Goals of Distributed Transaction Processing in CORBA: – Ensure data integrity across multiple heterogeneous sources – Compatibility with existing CORBA services – No extensions to the CORBA core (IDL, ORB) – Interoperability with existing TP Monitors (CICS, Tuxedo, etc.) Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 2 1
Basic ACID Transactional Model: quick review � Atomicity – Either all or none of the transaction’s operations are performed – If a transaction is interrupted by a failure, its partial results must be undone � Consistency – Consistent database state: integrity constraints are not violated – Upon conclusion, transactions leave the database in a consistent state – Consistency degrees are defined to specify the acceptable behavior of concurrent transactions � Isolation – Serializability: the effect of concurrent transaction execution must be the same as that of some serial order – An incomplete transaction cannot reveal its partial results � Durability Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 3 The need for (Distributed) Transactions: � Canonical example: transactional credit-debit application � Other uses of DTP: keeping replicas synchronized – alternative: use replica managers – may use Corba to handle cached data with write-through propagation to the storage Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 4 2
Resource Managers � RMs provide ACID operations on a set of data � “any subsystem that implements transactional data can be a RM” [Gray] � Examples: DBMS , transactional file systems, transactional queue managers Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 5 Transactional Applications � Transaction execution spans several app servers and Resource Managers Application Application Servers Servers Transaction Application Manager Resource Resource Managers Managers Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 6 3
The Transaction Manager � Monitors the transaction progress � Connects clients to servers � Coordinates commit and rollback operations � Manages failures (system recovery) Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 7 The X/Open DTP Model � Portable Interfaces: XA and TX – TX defines the 2-Phase Commit Protocol Transaction Begin Manager Commit Abort TX Prepare Application Commit Join Abort Requests XA Resource Managers Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 8 4
The 2-Phase Commit Protocol � Prepare: Invoke each RMs involved in the transaction, asking for a vote � Decide: – if all RMs vote Yes: � write the commit record in the transaction log � Commit: send the commit decision to each RM � Complete: When all the RMs acknowledge the commit message, write the end- of-transaction record in the log, and deallocate the transaction. – if at least one RM votes No: � Abort: send the abort decision to each RM � Complete: When all the RMs acknowledge the abort message, write the end-of- transaction record in the log, and deallocate the transaction. Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 9 X/Open’s DTP Reference Model for DTP - summary � XA and TX: Protocols for Distributed Transactions � Main entities involved in TP: – The application (AP) – The Resource Manager (RM) – The Transaction Manager (TM) � Procedural interfaces: – XA between TM and RM – TX between AP and TM � Limitations: – Interfaces are defined at the programming language level (C, COBOL) – The model does not indicate how invocations are propagated across process/address spaces Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 10 5
Transaction Processing Monitors � Built as a Transactional layer on top of the Basic OS (TPOS) – TRPC � Enforce transactional properties of client/server interactions � Provide load balancing, execution monitoring and control � Intrusive (performance overhead) Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 11 Known Limitations of TP Monitors � Its presence is not transparent to applications and servers � Not amenable to distributed object-oriented computing � General lack of Java support – Tuxedo provides a Java-based gateway (JOLT) � Expensive, requires substantial management Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 12 6
CORBA OTS = DTP + Distributed object computing Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 13 Relation with the X/Open Ref. Model � Two main improvements: – The procedural XA and TX interfaces are replaced with a set of CORBA IDL interfaces � Resource [10.3.7], Current [10.3.1] – All inter-component communication (i.e., TM, RMs, AP) occur via CORBA calls on instances of implementations for these interfaces � OTS is fully compatible with X/open-compliant software – tTransactions can be imported from and exported to [10.4.11] XA- compliant RMs and TX-compliant TMs � OTS defines [optional] support for Nested Transactions Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 14 7
OTS Functional Goals � Co-existence with legacy transactional environments � Support for nested transactions (optional) � Model Interoperability: – interoperability with the X/Open DTP model – Object access to existing Resource Managers � Network interoperability: – multiple TSs and/or multiple ORBs � Support for TP Monitors – clients, servers, and TSs may run in separate processes – TS must be usable in a TP Monitor Environment Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 15 OTS Design Goals � Low implementation cost: – Minimal impact on the existing ORB – Reuse of existing Transaction Managers – Low maintenance, simpler than typical TPM � Portability – Applications (across OTS implementations) – OTS implementations (across ORBs) � No impact on IDL for existing interfaces – Implementation of the same IDL can be transactional or non-transactional Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 16 8
OTS Performance Goals � Achieve performance benchmarks similar to X/Open DTP for: – number of network messages – number of disk accesses – amount of data logged � Note that X/Open is procedural, not OO. � Actual benchmarking of Inprise’s ITS in progress in our group – ITS performance for Oracle-based transactions against native Oracle distributed transaction facility Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 17 Approaches to OTS implementation: Inprise’s ITS � Fully integrated with the ORB � No need for a separate TS on each node � Scalable together with the underlying ORB � Entirely Java-based � RMs can be Corba servers Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 18 9
Approaches to OTS implementation: IONA’s OTM � The ORBs interfaces with a back-end TP Monitor � TS provides interface to specific TPM => users locked into choice of TPM � TS cannot be discovered dynamically => TPM required at each node � Calls to TPM are not IIOP � High maintenance Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 19 Approaches to OTS implementation: BEA’s M3 � Existing TP Monitor (Tuxedo) + ORB � The TP Framework provides: – Object state management (activation, deactivation) and lifecycle – Transaction management: interface with M3 transaction manager – System events notification to clients � Clear distinction among: – Development: framework-based – Deployment � OTS, Security, LifeCycle � Fault Management, Routing, Load Balancing – Operations: management tools � Advantage: tight integration with TPM. Useful framework � Disadvantage: tight integration with TPM. Rigid framework Telcordia Technologies Proprietary - Internal use only. See proprietary restrictions on title page. CORBA OTS – 20 10
Recommend
More recommend