12-12-2012, 01:14 PM
Advanced Transaction Processing
Advanced Transaction.ppt (Size: 389 KB / Downloads: 118)
Transaction Processing Monitors
TP monitors initially developed as multithreaded servers to support large numbers of terminals from a single process.
Provide infrastructure for building and administering complex transaction processing systems with a large number of clients and multiple servers.
Provide services such as:
Presentation facilities to simplify creating user interfaces
Persistent queuing of client requests and server responses
Routing of client messages to servers
Coordination of two-phase commit when transactions access multiple servers.
Some commercial TP monitors: CICS from IBM, Pathway from Tandem, Top End from NCR, and Encina from Transarc
TP Monitor Architectures
Process per client model - instead of individual login session per terminal, server process communicates with the terminal, handles authentication, and executes actions.
Memory requirements are high
Multitasking- high CPU overhead for context switching between processes
Single process model - all remote terminals connect to a single server process.
Used in client-server environments
Server process is multi-threaded; low cost for thread switching
No protection between applications
Not suited for parallel or distributed databases
Detailed Structure of a TP Monitor
Queue manager handles incoming messages
Some queue managers provide persistent or durable message queueing contents of queue are safe even if systems fails.
Durable queueing of outgoing messages is important
application server writes message to durable queue as part of a transaction
once the transaction commits, the TP monitor guarantees message is eventually delevered, regardless of crashes.
ACID properties are thus provided even for messages sent outside the database
Many TP monitors provide locking, logging and recovery services, to enable application servers to implement ACID properties by themselves.
Application Coordination Using TP Monitors
A TP monitor treats each subsystem as a resource manager that provides transactional access to some set of resources.
The interface between the TP monitor and the resource manager is defined by a set of transaction primitives
The resource manager interface is defined by the X/Open Distributed Transaction Processing standard.
TP monitor systems provide a transactional remote procedure call (transactional RPC) interface to their service
Transactional RPC provides calls to enclose a series of RPC calls within a transaction.
Updates performed by an RPC are carried out within the scope of the transaction, and can be rolled back if there is any failure.