Top Banner
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”
39

Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person

Sep 29, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
Page 32: Transaction Processing Systems - Cornell University · Transaction Processing Systems • Business Transaction • Interaction in real world • Usually between enterprise and person

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

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

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

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

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

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

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

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