The Architecture of Transaction Processing Systems

Slides:



Advertisements
Similar presentations
ICS 434 Advanced Database Systems
Advertisements

Database System Concepts and Architecture
Database Architectures and the Web
8.
Technical Architectures
Distributed Database Management Systems
1. Introducing Java Computing  What is Java Computing?  Why Java Computing?  Enterprise Java Computing  Java and Internet Web Server.
Chapter 13 Physical Architecture Layer Design
Middleware Technologies compiled by: Thomas M. Cosley.
Distributed Information Systems - The Client server model
12 Chapter 12 Client/Server Systems Hachim Haddouti.
12 Chapter 12 Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 Client-Server Processing, Parallel Database Processing,
Chapter 9: The Client/Server Database Environment
J2EE Java 2 Enterprise Edition. Relevant Topics in The Java Tutorial Topic Web Page JDBC orial/jdbc
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
2 Systems Architecture, Fifth Edition Chapter Goals Describe client/server and multi-tier application architecture and discuss their advantages compared.
12-1 © Prentice Hall, 2004 Chapter 12: Design Elements Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
CS6320 – J2EE L. Grewe MOTIVATION: E-commerce and Enterprise Computing Models Four models for e-commerce and enterprise computing: Four models for e-commerce.
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Lecture The Client/Server Database Environment
Client-Server Processing and Distributed Databases
Client/Server Computing. Information processing is distributed among several workstations and servers on a network, with each function being assigned.
Overview SAP Basis Functions. SAP Technical Overview Learning Objectives What the Basis system is How does SAP handle a transaction request Differentiating.
The Client/Server Database Environment
CSIT 320 (Blum)1 Client-Server Interaction Based on Appendix 1 in Computer Networks and Internets, Comer.
Chapter 2 Database System Concepts and Architecture
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Chapter 3 Database Architectures and the Web Pearson Education © 2009.
Database Architectures and the Web
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
HTTP client wide area network (Internet) HTTP proxy HTTP server HTTP gateway firewall HTTP tunnel Copyright Springer Verlag Berlin Heidelberg 2004.
Database Architectures and the Web Session 5
Introduction to distributed systems Dr. S. Indran 23 January 2004.
CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 21, 2005.
Client Server Technologies Middleware Technologies Ganesh Panchanathan Alex Verstak.
9/5/2012ISC329 Isabelle Bichindaritz1 Web Database Environment.
第十四章 J2EE 入门 Introduction What is J2EE ?
Database Application Security Models Database Application Security Models 1.
Enterprise Java Beans Java for the Enterprise Server-based platform for Enterprise Applications Designed for “medium-to-large scale business, enterprise-wide.
Slide 1 Physical Architecture Layer Design Chapter 13.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Introduction  Client/Server technology is seen by many as the solution to the difficulty of linking together the various departments of corporation.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
1 Introduction to Middleware. 2 Outline What is middleware? Purpose and origin Why use it? What Middleware does? Technical details Middleware services.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
1 Welcome to CSC 301 Web Programming Charles Frank.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
Databases JDBC (Java Database Connectivity) –Thin clients – servlet,JavaServer Pages (JSP) –Thick clients – RMI to remote databases –most recommended way.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
3-Tier Architecture Chandrasekaran Rajagopalan Cs /01/99.
Assignment of JAVA id : BSSE-F10-M-10-JAVA1 Overview of J2EE/Session 2/Slide 1 of 38.
WebFlow High-Level Programming Environment and Visual Authoring Toolkit for HPDC (desktop access to remote resources) Tomasz Haupt Northeast Parallel Architectures.
JDBC Chapter 1 JDBC Introduction
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
ISC321 Database Systems I Chapter 2: Overview of Database Languages and Architectures Fall 2015 Dr. Abdullah Almutairi.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
Internet and Distributed Application Services
Chapter 2 Database System Concepts and Architecture
The Client/Server Database Environment
Server Concepts Dr. Charles W. Kann.
The Client/Server Database Environment
Chapter 9: The Client/Server Database Environment
#01 Client/Server Computing
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
#01 Client/Server Computing
Presentation transcript:

The Architecture of Transaction Processing Systems

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

TP Monitor Services Communication services ACID properties 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

TP Monitor Services Routing and load balancing Threading 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

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

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

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

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

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

Architectures for Transaction Processing on the Internet Many high throughput applications require a three- or four-tiered 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

Architecture of a Web Transaction Processing System Web Server Database Server Application 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

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

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