transaction processing systems - cornell university · transaction processing systems • business...
TRANSCRIPT
![Page 1: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/1.jpg)
Transaction Processing Systems
• Business Transaction
• Interaction in real world• Usually between enterprise and person
• Or maybe between enerprises
• Transaction Program
• Performs function on (shared) database
• Online Transaction Processing System
• Runs collection of transaction programs
• Our notion of “Information System”
![Page 2: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/2.jpg)
The ACID Properties
• Atomicity
• All (commit) or nothing (abort)
• Consistency
• Map good states to good states
• Isolation
• Concurrent transactions serializable
• Durability
• Committed transactions are not lost
Difficult in centralized database
Especially difficult in distributed system
![Page 3: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/3.jpg)
Atomicity
• All (commit) or nothing (abort)
• Example: transfer money between two bank accounts
• Some actions (“launch the missile”) are not recoverable
• Compensating transactions?
![Page 4: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/4.jpg)
Consistency
• Each transaction takes valid states to valid states:
• Satisfy integrity constraints
• Sometimes the only notion of “valid” state is “a state that could have been produced by executing a sequence of transactions
![Page 5: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/5.jpg)
Isolation
• Each transaction behaves as if it were executed in isolation at some instant in time
• AKA serializability
• Consistency + Isolation implies the data remains consistent even when multiple transaction programs execute concurrently
![Page 6: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/6.jpg)
Durability
• The effect of a committed transaction will not be lost
• So data must be on stable storage before commit
• Usually done with a log (or journal) that must be forced before commit
• Crash recovery using the log
![Page 7: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/7.jpg)
Resource Manager
• How ACID transactions are implemented
• Allocate resources to program executing a transaction
• e.g. a locked record is a resource
• Reclaim resources in appropriate state on commit or abort
This is the meaning of “Resource Management Layer” in [ACKM04]
![Page 8: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/8.jpg)
Three Layers of an Info System
client
presentation layer
resource management layer
application logic layer
info
rmat
ion
syst
em
![Page 9: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/9.jpg)
Presentation Layer
• Controls how the information system presents information to external entities and accepts it from them.
• External entities are users (UI) or other information systems (API)
client
presentation layer
resource management layer
application logic layer
info
rmat
ion
syst
em
![Page 10: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/10.jpg)
Application Logic Layer
• The program
• Business process
• Business logic
• Business rules
client
presentation layer
resource management layer
application logic layer
info
rmat
ion
syst
em
![Page 11: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/11.jpg)
Resource Management Layer
• The data layer as discussed above
client
presentation layer
resource management layer
application logic layer
info
rmat
ion
syst
em
![Page 12: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/12.jpg)
Top Down Design
presentation layer
resource management layer
application logic layer
client
info
rmat
ion
syst
em
1. define access channelsand client platforms
2. define presentation formats and protocols forthe selected clients andprotocols
3. define the functionalitynecessary to deliver thecontents and formats neededat the presentation layer
4. define the data sourcesand data organization neededto implement the applicationlogic
top-down design
![Page 13: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/13.jpg)
Top Down Architecture
top-down design
PL-A PL-BPL-C
AL-AAL-B
AL-D
AL-C
RM-1 RM-2
top-down architecture
RM-1 RM-2
AL-A AL-D
AL-C AL-B
PL-APL-B
PL-C
Copyright Springer Verlag Berlin Heidelberg 2004
![Page 14: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/14.jpg)
Bottom Up Design
presentation layer
resource management layer
application logic layer
client
info
rmat
ion
syst
em
1. define access channelsand client platforms
2. examine existing resourcesand the functionalitythey offer
3. wrap existing resourcesand integrate their functionalityinto a consistent interface
4. adapt the output of the application logic so that itcan be used with the requiredaccess channels and clientprotocols
bottom-up design
![Page 15: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/15.jpg)
Bottom Up Architecturebottom-up design
PL-A PL-BPL-C
AL-AAL-B
AL-D
AL-C
bottom-up architecture
AL-A AL-D
AL-C AL-B
PL-APL-B
PL-C
wrapper wrapper wrapper
wrapper
wrapper
wrapper
legacysystem
legacysystem
legacysystem
Cop
yrig
ht S
prin
ger
Ver
lag
Ber
lin H
eide
lber
g 20
04
![Page 16: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/16.jpg)
1-Tier Architecture
client
presentation layer
resource management layer
application logic layer
info
rmat
ion
syst
em
![Page 17: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/17.jpg)
1-Tier - Remarks
• System is necessarily monolithic
• May be highly efficient
• No stable service interface API
• That’s what screen scrapers are for
• Problem of Legacy Systems
![Page 18: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/18.jpg)
2-Tier Architecture
clientpresentation
layer
resource management layer
application logic layer
info
rmat
ion
syst
em
serv
er
![Page 19: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/19.jpg)
2-Tier - Advantages
• Added flexibility in presentation layer
• e.g. multiple specialized presentation layers add no complexity to application
• Encouraged stable, published APIs
• So clients could be developed
![Page 20: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/20.jpg)
Server Organization: 2-Tier
resource management layer
serviceinterface
serviceinterface
serviceinterface
serviceinterface
server’s API
serviceserviceserviceservice
![Page 21: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/21.jpg)
2-Tier - Disadvantages
• A single server doesn’t scale
• Integration of multiple services must be done at client
![Page 22: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/22.jpg)
Integration by Client
client
presentation layer 1
resource management layer
application logic layer
serv
er 1
resource management layer
application logic layer
serv
er 2
presentation layer 2
application logic
![Page 23: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/23.jpg)
3-Tier Architecture
clientpresentation
layer
resource management layer
application logic layer
info
rmat
ion
syst
em
middleware
![Page 24: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/24.jpg)
3-Tier - Advantages
• Scalability at application layer
• Multiple application servers
• Application Integration
• Do it in the middle tier
• Encourage stable, published APIs for resource management layer
![Page 25: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/25.jpg)
App Integration in Middle Tier
resource management
layer
clientpresentation
layer
application logic layer
middlewareintegration logic
2-tier
1-tier
wrapperwrapper
client client
wrapper
3-tier
![Page 26: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/26.jpg)
Inductively, N-Tier Architecture
resource management
layer
clientpresentation
layer
application logic layer
middlewareintegration logic
2-tier
1-tier
wrapperwrapper
client client
wrapper
3-tier
3-Tier 4-Tier 5-Tier
![Page 27: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/27.jpg)
LAN
middlewareapplication
logic
N-Tier in the Enterprise. . .remote
clients
INTERNET
FIREWALL
LAN
Webserver cluster
LAN,gateways
LAN
internalclients
resource management
layer databaseserver
LAN
middlewareapplication
logic
additional resource management layers
LAN
Wrappersand
gateways
fileserver
application
![Page 28: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/28.jpg)
Communication
• 1-way messaging
• synchronous RPC
• asynchronous RPC
![Page 29: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/29.jpg)
1-Way Messaging
request
(no response)
invokingexecution thread
invokedexecution thread
![Page 30: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/30.jpg)
Synchronous RPC
request
response
invokingexecution thread
invokedexecution thread
bloc
king
pe
riod
![Page 31: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/31.jpg)
![Page 32: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/32.jpg)
Synchronous RPC Issues
• Forcing caller to wait may reduce parallelism and waste resources
• Connection management issues
• Round-trip time issues
![Page 33: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/33.jpg)
Asynchronous RPC
put
put
invokingexecution thread
invokedexecution thread
queue
fetch
fetch
queue
thre
ad r
emains
active
![Page 34: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/34.jpg)
Asynchronous RPC
• Tolerates application (but not queue) failures
• Advantages for application integration
• Advantages for connection management
• Message-Oriented Middleware (MOM) and Message Brokers
![Page 35: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/35.jpg)
Types of Middleware
• RPC-based systems
• TP Monitors
• Object Brokers
• Object Monitors
• Message-Oriented Middleware (MOM)
• Message Brokers
![Page 36: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/36.jpg)
RPC Systems
• The foundation for most of the others
• We’ll cover in some depth
• Requires support infrastructure
• Interace Definition Language (IDL) compilers, stub generators
• directory services for binding
• etc.
![Page 37: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/37.jpg)
TP Monitors
• Most established form of middleware
• TP-Lite
• A 2-Tier architecture
• Allow application logic as stored procedures in a database
• TP-Heavy
• 3-Tier architecture
• Implements transactional RPC
• Coordinator for distributed transactions
![Page 38: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/38.jpg)
Objects
• Object Broker (OMG CORBA)
• Like an object-oriented RPC system
• Object Monitor
• Like an object-oriented TP Monitor
![Page 39: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person](https://reader034.vdocuments.us/reader034/viewer/2022051606/60189fd665cc1271340a624d/html5/thumbnails/39.jpg)
Queues
• Message-Oriented Middleware
• Queues (and transactional queues) to support asynchronous messaging
• Message Broker
• All of the above
• Ability to run application logic for message routing