The Architecture of Transaction Processing Systems 1 Transaction

  • Slides: 26
Download presentation
The Architecture of Transaction Processing Systems 1

The Architecture of Transaction Processing Systems 1

Transaction Processing in a Distributed System • Decreased cost of hardware and communication make

Transaction Processing in a Distributed System • Decreased cost of hardware and communication make it possible to distribute components of transaction processing system – Dumb terminal replaced by computers • Client/server organization generally used 2

Two-Tiered Model of TPS database server machine client machines application services • • •

Two-Tiered Model of TPS database server machine client machines application services • • • presentation services DBMS application services communication 3

Three-Tiered Model of TPS client machines application server machine database server machine • •

Three-Tiered Model of TPS client machines application server machine database server machine • • • presentation server application server DBMS presentation server communication 4

Application Server • Sets transaction boundaries • Acts as a workflow controller: implements user

Application Server • Sets transaction boundaries • Acts as a workflow controller: implements user request as a sequence of tasks – e. g. , registration = (check prerequisites, add student to course, bill student) • Acts as a router – Distributed transactions involve multiple servers – routes each task to a server • Since workflows might be time consuming and application server serves multiple clients, application server is often multi-threaded 5

Transaction Server • Stored procedures off-loaded to separate (transaction) servers to reduce load on

Transaction Server • Stored procedures off-loaded to separate (transaction) servers to reduce load on DBMS • Transaction server located close to DBMS – Application server located close to clients • Transaction server does bulk of data processing. – Transaction server might exist as a server class • Application server uses any available transaction server to execute a particular stored procedure; might do load balancing 6

Three-Tiered Model of TPS client machines applic. server trans. server machines database server machine

Three-Tiered Model of TPS client machines applic. server trans. server machines database server machine • • • present. server applic. server trans. server DBMS present. server communication 7

Levels of Abstraction • Presentation server implements the abstraction of the user interface •

Levels of Abstraction • Presentation server implements the abstraction of the user interface • Application server implements the abstraction of a user request • Stored procedures (or transaction server) implement the abstraction of individual sub-tasks • Database server implements the abstraction of the relational model 8

Interconnection of Servers in Three-Tiered Model presentation server • • presentation server application server

Interconnection of Servers in Three-Tiered Model presentation server • • presentation server application server • • transaction server database server presentation server • • • presentation server application server transaction server database server 9

Heterogeneous vs. Homogeneous TPSs • Homogeneous systems are composed of HW and SW modules

Heterogeneous vs. Homogeneous TPSs • Homogeneous systems are composed of HW and SW modules of a single vendor – Modules communicate through proprietary (often unpublished) interfaces • Hence, other vendor products cannot be included – Referred to as TP-Lite systems • Heterogeneous systems are composed of HW and SW modules of different vendors – Modules communicate through standard, published interfaces – Referred to as TP-Heavy systems 10

Heterogeneous Systems • Evolved from: – Need to integrate legacy modules produced by different

Heterogeneous Systems • Evolved from: – Need to integrate legacy modules produced by different vendors – Need to take advantage of products of many vendors • Middleware is the software that integrates the components of a heterogeneous system and provides utility services – For example, supports communication (TCP/IP), security (Kerberos), global ACID properties, translation (JDBC) 11

Transaction Manager • Middleware to support global atomicity of distributed transactions – Application invokes

Transaction Manager • Middleware to support global atomicity of distributed transactions – Application invokes manager when transaction is initiated – Manager is informed each time a new server joins the transaction – Application invokes manager when transaction completes – Manager coordinates atomic commit protocol among servers to ensure global atomicity 12

Transaction Manager (Two-Tiered Model) • • • Transaction manager atomic commit protocol begin /

Transaction Manager (Two-Tiered Model) • • • Transaction manager atomic commit protocol begin / commit database server machines (local ACID properties) DBMS • • • present. applic. services service invocations DBMS client machines 13

TP Monitor • A TP Monitor is a collection of middleware components that is

TP Monitor • A TP Monitor is a collection of middleware components that is useful in building hetereogeneous transaction processing systems – Includes transaction manager – Application independent services not usually provided by an operating system • Layer of software between operating system and application • Produces the abstraction of a (global) transaction 14

Layered Structure of a Transaction Processing System Application level transactional API TP Monitor Operating

Layered Structure of a Transaction Processing System Application level transactional API TP Monitor Operating System Physical Computer System 15

TP Monitor Services • Communication services – Built on message passing facility of OS

TP Monitor Services • Communication services – Built on message passing facility of OS – Transactional peer-to-peer and/or remote procedure call • ACID properties – Local isolation for a (non-db) server might be provided by a lock manager • Implements locks that an application can explicitly associate with instances of any resource – Local atomicity for a (non-db) server might be provided by a log manager • Implements a log that can be explicitly used by an application to store data that can be used to roll back changes to a resource – Global isolation and atomicity are provided by transaction manager 16

TP Monitor Services • Routing and load balancing – TP monitor can use load

TP Monitor Services • Routing and load balancing – TP monitor can use load balancing to route a request to the least loaded member of a server class • Threading – Threads can be thought of as low cost processes – Useful in servers (e. g. , application server) that might be maintaining sessions for a large number of clients – TP monitor provides threads if OS does not 17

TP Monitor Services • Recoverable queues • Security services – Encryption, authentication, and authorization

TP Monitor Services • Recoverable queues • Security services – Encryption, authentication, and authorization • Miscellaneous servers – File server – Clock server 18

Transaction Processing on the Internet • The growth of the Internet has stimulated the

Transaction Processing on the Internet • The growth of the Internet has stimulated the development of many Internet services involving transaction processing – Often with throughput requirements of thousands of transactions per second 19

C 2 B and B 2 B Services • C 2 B (Customer-to-Business) services

C 2 B and B 2 B Services • C 2 B (Customer-to-Business) services – Usually involve people interacting with the system through their browsers • B 2 B (Business-to-Business) services – Usually fully automated – Programs on one business’s Web site communicates with programs on another business’s Web site 20

Front-End and Back-End Services • Front-end services refers to the interface a service offers

Front-End and Back-End Services • Front-end services refers to the interface a service offers to customers and businesses – How it is described to users – How it is invoked • Back-end services refers to how that service is actually implemented 21

Architectures for Transaction Processing on the Internet • Browser plays the role of presentation

Architectures for Transaction Processing on the Internet • Browser plays the role of presentation server and application server – Java applet on browser implements the transaction and accesses database using JDBC • Browser plays the role of presentation server, and servlet program on server plays the role of application server – Servlet program implements the transaction and accesses database using JDBC 22

Architectures for Transaction Processing on the Internet • Many high throughput applications require a

Architectures for Transaction Processing on the Internet • Many high throughput applications require a three- or fourtiered architecture – After getting inputs from browser, the servlet program initiates the transaction on the application server, which is not connected to the Internet • Application server might be separated from the Web server by a firewall – From the TP system’s viewpoint, the browser and servlet program together are acting as the presentation server 23

Architecture of a Web Transaction Processing System Web Server Application Server Database Server Interacts

Architecture of a Web Transaction Processing System Web Server Application Server Database Server Interacts with client Executes the application Hosts the database Java servlet receives messages and calls program on application server The application might be a transaction program that implements the business rules of the Web service 24

Web Application Server • A Web application server is a set of tools and

Web Application Server • A Web application server is a set of tools and modules for building and executing transaction processing systems for the Web – Including the application server tier of the system • Name is confusing because application server is the name usually given to the middle tier in an transaction processing system 25

Web Application Servers (continued) • Most Web application servers support the J 2 EE

Web Application Servers (continued) • Most Web application servers support the J 2 EE (Java 2 Enterprise Edition) standards – Or Microsoft. NET • J 2 EE One language, many platforms • A standard implemented by many vendors • . NET One platform, many languages • A set of products of Microsoft 26