Chapter 2 Distributed Information Systems Architecture

Similar documents
Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Chapter 2 Distributed Information Systems Architecture

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Chapter 3 DB-Gateways

Architectural styles for software systems The client-server style

Outline n Introduction n Background o Distributed DBMS Architecture

Chapter 4 Remote Procedure Calls and Distributed Transactions

Chapter 5 Application Server Middleware

n Explore virtualization concepts n Become familiar with cloud concepts

Service Oriented Enterprise Architecture and Service Oriented Enterprise

Session Initiated Protocol (SIP) and Message-based Load Balancing (MBLB)

Chapter 11 Web-based Information Systems

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Chapter 8 Web Services Foundations

Τεχνολογία Λογισμικού

Goals of the Lecture UML Implementation Diagrams

1 Enterprise Modeler

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

Chapter 4 Threads. Operating Systems: Internals and Design Principles. Ninth Edition By William Stallings

Appendix D. Controller Implementation

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Data diverse software fault tolerance techniques

COSC 1P03. Ch 7 Recursion. Introduction to Data Structures 8.1

System and Software Architecture Description (SSAD)

TRANSACTION MANAGEMENT [CH 16]

Towards Efficient Selection of Web Services

Baan Tools User Management

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

BEA Tuxedo. Introducing the BEA Tuxedo System

Multi-Threading. Hyper-, Multi-, and Simultaneous Thread Execution

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Elementary Educational Computer

Data Warehousing. Paper

Outline. CSCI 4730 Operating Systems. Questions. What is an Operating System? Computer System Layers. Computer System Layers

Security and Communication. Ultimate. Because Intercom doesn t stop at the hardware level. Software Intercom Server for virtualised IT platforms

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

SCI Reflective Memory

Modeling a Software Architecture. Paolo Ciancarini

Review: The ACID properties

Panel for Adobe Premiere Pro CC Partner Solution

Keywords Software Architecture, Object-oriented metrics, Reliability, Reusability, Coupling evaluator, Cohesion, efficiency

GE FUNDAMENTALS OF COMPUTING AND PROGRAMMING UNIT III

Lazy Type Changes in Object-oriented Database. Shan Ming Woo and Barbara Liskov MIT Lab. for Computer Science December 1999

n Learn how resiliency strategies reduce risk n Discover automation strategies to reduce risk

Introduction to Network Technologies & Layered Architecture BUPT/QMUL

Avid Interplay Bundle

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

COP4020 Programming Languages. Compilers and Interpreters Prof. Robert van Engelen

Basic allocator mechanisms The course that gives CMU its Zip! Memory Management II: Dynamic Storage Allocation Mar 6, 2000.

VISUALSLX AN OPEN USER SHELL FOR HIGH-PERFORMANCE MODELING AND SIMULATION. Thomas Wiedemann

A Reservation-Based Extended Transaction Protocol

Customer Portal Quick Reference User Guide

Workflow Management Systems

Term Project Report. This component works to detect gesture from the patient as a sign of emergency message and send it to the emergency manager.

BEA Tuxedo. Creating CORBA Server Applications

Reliable Transmission. Spring 2018 CS 438 Staff - University of Illinois 1

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Single-Cycle Disadvantages & Advantages

CMSC Computer Architecture Lecture 3: ISA and Introduction to Microarchitecture. Prof. Yanjing Li University of Chicago

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design

Τεχνολογία Λογισμικού

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Adapter for Mainframe

WYSE Academic Challenge Sectional Computer Science 2005 SOLUTION SET

BEA WebLogic Collaborate

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control

Python Programming: An Introduction to Computer Science

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods.

CMSC Computer Architecture Lecture 10: Caches. Prof. Yanjing Li University of Chicago

Baan Finance Financial Statements

Isn t It Time You Got Faster, Quicker?

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

The CCITT Communication Protocol for Videophone Teleconferencing Equipment

Chapter 3 Classification of FFT Processor Algorithms

Quorum Based Data Replication in Grid Environment

Security of Bluetooth: An overview of Bluetooth Security

3.1 Overview of MySQL Programs. These programs are discussed further in Chapter 4, Database Administration. Client programs that access the server:

What does JFC stand for?

Outline. Research Definition. Motivation. Foundation of Reverse Engineering. Dynamic Analysis and Design Pattern Detection in Java Programs

Goals of this Lecture Activity Diagram Example

CMSC Computer Architecture Lecture 11: More Caches. Prof. Yanjing Li University of Chicago

BEA Tuxedo. Creating CORBA Client Applications

CA Top Secret r14 for z/os

1-2-3G Wireless. About NTT DoCoMo. Talk Outline. 4G Wireless (2010 ~ 2012) 4G is about Services

CORD Test Project in Okinawa Open Laboratory

. Written in factored form it is easy to see that the roots are 2, 2, i,

One advantage that SONAR has over any other music-sequencing product I ve worked

BEA WebLogic Server. Programming WebLogic Enterprise JavaBeans

DISTRIBUTED ALGORITHM FOR MULTI-AGENT ENVIRONMENT

COMP Parallel Computing. PRAM (1): The PRAM model and complexity measures

Transitioning to BGP

Loop Emulation Service Protocols over ATM. Enea LES-SIG-Bricks is a complete implementation of the Loop Emulation

BEA Tuxedo. Using the BEA Tuxedo System on Windows NT

Data Protection: Your Choice Is Simple PARTNER LOGO

Bayesian approach to reliability modelling for a probability of failure on demand parameter

Modern Systems Analysis and Design Seventh Edition

Extending The Sleuth Kit and its Underlying Model for Pooled Storage File System Forensic Analysis

% Sun Logo for. X3T10/95-229, Revision 0. April 18, 1998

Transcription:

Prof. Dr.-Ig. Stefa Deßloch AG Heterogee Iformatiossysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@iformatik.ui-kl.de Chapter 2 Distributed Iformatio Systems Architecture

Chapter Outlie (Distributed) trasactios (quick refresh) Layers of a iformatio system presetatio applicatio logic resource maagemet Desig strategies top-dow, bottom-up Architectures 1-tier, 2-tier, 3-tier, -tier Distributio alteratives Commuicatio sychroous, asychroous Prof.Dr.-Ig. Stefa Deßloch 2 Middleware for Heterogeeous ad Distributed Iformatio Systems

Trasactio Processig (TP) TP applicatio collectio of trasactio programs provides fuctios to automate a give busiess activity typically iteracts with a o-lie user (o-lie TP, OLTP) Trasactio program executes a umber of steps/operatios to implemet a busiess fuctio accesses shared data (e.g., usig a DBS) may commuicate with other programs/compoets example: order processig o the iteret 1. user submits order request usig a web browser 2. web server routes the request to a trasactio server 3. trasactio program is executed o the server to process the order (ivolves accessig catalog tables, isertig ito a order table ad billig a credit card) Trasactio (effects of) executig a trasactio program with expected properties/guaratees for its steps/operatios: ACID Prof.Dr.-Ig. Stefa Deßloch 3 Middleware for Heterogeeous ad Distributed Iformatio Systems

"ACID" Trasactios Atomicity TA is a atomic processig uit "all-or-othig" guaratee Cosistecy completed TA results i cosistet DB state itermediate states may be icosistet fial state has to satisfy DB itegrity costraits Isolatio cocurret TAs must ot ifluece each other Durability DB chages of a successfully completed TA are guarateed to "survive" system crash must ot cause loss of chages chages of completed TA ca oly be udoe by executig aother TA (compesatig TA) Prof.Dr.-Ig. Stefa Deßloch 4 Middleware for Heterogeeous ad Distributed Iformatio Systems

Commuicatio betwee TA Program ad DBS Trasactio Program DBS BOT.. Op i.. EOT 2PC phase 1 phase 2 Guaratee that chages ca be rolled back Execute DML operatio (check immediate costraits) (check deferred costraits) Guaratee recoverability of all chages Release resources (locks) Ackowledge TA success Prof.Dr.-Ig. Stefa Deßloch 5 Middleware for Heterogeeous ad Distributed Iformatio Systems

Distributed Trasactios Distributed Iformatio System cosists of (possibly autoomous) subsystems joitly workig i a coordiated maer may ivolve multiple resource maagers (e.g., DBS) Require global (multi-phase) commit protocol to guaratee atomicity of global TA hadled by a coordiator ivolvig multiple agets (participats) requiremets for commit protocol miimal effort (#messages, #log etries) miimal respose delay (parallelism) robustess agaist failure expected failure partial failure (coectio loss, ) trasactio failure system failure (crash) hardware failure failure detectio (e.g., usig timeout) C 1 coordiator A 1 A 2 A agets (subtrasactios) Prof.Dr.-Ig. Stefa Deßloch 6 Middleware for Heterogeeous ad Distributed Iformatio Systems

Two-phase Commit Prepare-Phase, Commit/Abort-Phase Requires sequece of state trasitios, to be safely stored i the trasactio log Coordiator View Aget View INITIAL WAIT FAILED received or TIMEOUT ð Log Write: Abort Sed: ABORT ABORTING all ACK messages received ð Log Write: Ed BEGIN TERMINATED EOT ð Log Write: Begi Sed: PREPARE READY received by all ð Log Write: Commit Sed: COMMIT COMMITTING all ACK messages received ð Log Write: Ed ABORT or TIMEOUT ð Log Write: Aborted received PREPARE ð Sed: FAILED ABORTED PREPARED rec. ABORT ð Log Write: Aborted Sed: ACK received PREPARE ð Log Write: Prepared Sed: READY rec. COMMIT ð Log Write: Comitted Sed: ACK COMMITTED Prof.Dr.-Ig. Stefa Deßloch 7 Middleware for Heterogeeous ad Distributed Iformatio Systems

Hierarchical 2PC Executio of trasactio may form a process tree iitiator at the root edges represet process liks for request/respose Hierarchical 2PC, with each ode actig as a aget/participat for its caller coordiator for its subtree Preparatio Phase PREPARE READY P 1 PREPARE FAILED P 2 P 5 PREPARE PREPARE PREPARE PREPARE READY READY READY FAILED P 3 P 4 P 6 P 7 Prof.Dr.-Ig. Stefa Deßloch 8 Middleware for Heterogeeous ad Distributed Iformatio Systems

Layers of a Iformatio System Separatio of fuctioality ito three coceptual layers presetatio iteracts with cliet preset iformatio accept requests graphical user iterface, or module that formats/trasforms data, or applicatio logic programs that implemet the services offered by the IS ofte retrieves/modifies data resource maagemet maages the data sources of the IS DBMSs file system ay "exteral" system I a IS implemetatio, these layers might ot be clearly distiguishable cliet presetatio layer applicatio logic layer resource maagemet layer iformatio system Prof.Dr.-Ig. Stefa Deßloch 9 Middleware for Heterogeeous ad Distributed Iformatio Systems

Top-Dow Iformatio System Desig Steps 1) defie access chaels ad cliet platforms 2) defie presetatio formats ad protocols 3) defie fuctioality (applicatio logic) ecessary to deliver the cotet ad formats 4) defie the data sources ad data orgaizatio eeded Desig ivolves specificatio of system distributio across differet computig odes distributio possible at every layer Homogeous eviromet, tightly-coupled compoets Pro: focus o high-level goals, addresses both fuctioal ad o-fuctioal requiremets Co: ca oly be applied if IS is developed from scratch Prof.Dr.-Ig. Stefa Deßloch 10 Middleware for Heterogeeous ad Distributed Iformatio Systems

Bottom-up Iformatio System Desig Steps 1) defie access chaels ad cliet platforms 2) examie existig resources ad their fuctioality (RM layer) 3) wrap existig resources, itegrate them ito cosistet iterface (AL layer) 4) adapt output of AL for cliet (P layer) Desig focuses o itegratio/reuse of existig (legacy) systems/applicatios fuctioality of compoets is already (pre-)defied modificatio or re-implemetatio is ofte ot a choice drive by characteristics of lower layers start with high-level goals, the determie how it ca be achieved usig existig compoets ofte starts with thorough aalysis of existig applicatios ad systems to determie which high-level objectives ca be achieved results i loosely-coupled systems compoets ca mostly be used stad-aloe uderlyig systems ofte remai autoomous Not a advatage, but a ecessity Prof.Dr.-Ig. Stefa Deßloch 11 Middleware for Heterogeeous ad Distributed Iformatio Systems

Iformatio Systems Architecture Layers defie a logical separatio of fuctioality Implemetig a IS Tier decide how to combie/distribute the layers ito so-called tiers modularizes the IS architecture may implemet a (part of a) sigle layer, or multiple layers provides well-defied iterfaces for accessig its fuctioality tier ode Goig from N to N+1 tiers i geeral adds flexibility, fuctioality, distributio ad scalability optios itroduces performace, complexity, maagemet, tuig issues Prof.Dr.-Ig. Stefa Deßloch 12 Middleware for Heterogeeous ad Distributed Iformatio Systems

1-Tier Architecture All layers are combied i a sigle tier Predomiat o maiframe-based computer architectures cliet is usually a "dumb termial" focus o efficiet utilizatio of CPU, system resources "Moolithic" system o etry poits (APIs) from outside, other tha the chael to the dumb termials have to be treated as black boxes itegratio requires "scree scrapig" program that simulates user, parses the "screes" produced by the system the prototype of a legacy system Advatages optimizes performace by mergig the layers as ecessary cliet developmet, deploymet, maiteace is ot a issue Disadvatages difficult ad expesive to maitai further icreased by lack of documetatio ad qualified programmers Prof.Dr.-Ig. Stefa Deßloch 13 Middleware for Heterogeeous ad Distributed Iformatio Systems

2-Tier Architecture Pushed by emergece of PC, workstatios (replacig dumb termials) presetatio layer is moved to the PC exploit the processig power of PC free up resources for applicatio logic/resource maagemet layers possibility to tailor presetatio layer for differet purposes e.g., ed-user presetatio vs. admiistrator presetatio modules typically realized as cliet/server system oe (popular) approach: cliet correspods to presetatio layer, server icludes the applicatio logic ad resource maagemet layers aother approach (more traditioal C/S): cliet icludes presetatio ad applicatio logic layer, server provides resource maagemet services where does the cliet ed ad the server begi? thi cliet/fat server vs. fat cliet/thi server presetatio fat cliet applicatio logic fat server resource mgmt. cliet server Prof.Dr.-Ig. Stefa Deßloch 14 Middleware for Heterogeeous ad Distributed Iformatio Systems

Properties of 2-Tier Architecture Pro Co emphasis o "services" provided by server, requested/cosumed by cliet defiitio of applicatio programmig iterfaces (APIs) as published server iterfaces portability, stability multiple types of cliets ca utilize the same server API server ca support multiple cliets at the same time sufficiet scalability for departmetal applicatios scalability is ofte limited (esp. for thi cliets) requires to move to very powerful server machies especially fat cliets require icreased software maiteace/deploymet o cliet side cliet is ofte tured ito a itegratio egie iteractig with multiple types of servers extra applicatio layer appears i thi cliets Prof.Dr.-Ig. Stefa Deßloch 15 Middleware for Heterogeeous ad Distributed Iformatio Systems

3-Tier Architecture Usually based o a clear separatio betwee the three layers cliet tier implemets presetatio layer middle tier realizes applicatio logic employs middleware resource maagemet layer composed of a (set of) servers (e.g., DBS) Addresses scalability applicatio layer ca be distributed across odes (i a cluster) Portability of applicatio logic Supports itegratio of multiple resource maagers Disadvatages icreased commuicatio middleware cliet presetatio layer applicatio logic layer resource maagemet layer iformatio system Prof.Dr.-Ig. Stefa Deßloch 16 Middleware for Heterogeeous ad Distributed Iformatio Systems

N-Tier Architecture Further geeralizes 3-tier architecture Resource layer may iclude 1-, 2-, 3-, N-tiered systems focus o likig, itegratio of differet systems Presetatio layer may be realized i separate tiers especially importat for supportig iteret coectivity cliet usig browser server-side presetatio doe by web server, dyamic HTML geeratio (HTML filter) usually results i 4-tier architecture presetatio layer middleware cliet web browser web server HTML filter applicatio logic layer resource maagemet layer iformatio system Prof.Dr.-Ig. Stefa Deßloch 17 Middleware for Heterogeeous ad Distributed Iformatio Systems

Distributed IS Why distributio? ecoomic reasos e.g., reduced hardware cost orgaizatioal reasos local support of org. structures itegratio of existig (legacy) data sources or applicatio systems local autoomy techical reasos Cliet view icrease performace (locality of processig, exploit parallelism) high availability ad reliability (replicatio) scalability distributio trasparecy sigle system image Differet realizatio alteratives ofte used i combiatio cliet Distributio? DB1 DB2 DB3 presetatio applicatio logic resource maagemet distributed data sources Prof.Dr.-Ig. Stefa Deßloch 18 Middleware for Heterogeeous ad Distributed Iformatio Systems

Alterative 1 cliet Trasactio as the uit of distributio Pros Cos trasactio routig request is routed to the ode resposible for processig (XOR) oly local trasactio processig (withi a ode) o cooperatio amog odes/dbms! simple solutio, easy to support works i heterogeeous eviromets (e.g., with HTTP) iflexible, limited scope trasactios restricted to sigle ode (i.e., o distributed trasactios) T1 DBS1 T? xor T2 DBS2 presetatio applicatio logic T3 resource maagemet DBS3 DB1 DB2 DB3 Prof.Dr.-Ig. Stefa Deßloch 19 Middleware for Heterogeeous ad Distributed Iformatio Systems

Alterative 2 Applicatio program/compoet as the uit of distributio Pros Cos ivocatio of (remote) program compoets through RPC/RMI-based mechaisms RPC, CORBA/EJB-RMI, Stored Procedures, "programmed" distributio middleware ca help to achieve locatio trasparecy each program (compoet) accesses local DB oly distributed trasactio processig coordiated by TP-moitor/applicatio server supported by (local) applicatio server ad DBMSs locality of processig (low commuicatio overhead) supports applicatio reuse, heterogeeous data sources iflexibility regardig data access operatios potetial programmig model complexity (distributio, error hadlig, ) DB access operatio caot reach across multiple odes distributed TA T1 DBS1 cliet P T2 DBS2 DB1 DB2 DB3 presetatio T3 applicatio logic resource maagemet DBS3 Prof.Dr.-Ig. Stefa Deßloch 20 Middleware for Heterogeeous ad Distributed Iformatio Systems

Alterative 3 DB operatio as the uit of distributio Pros Cos Applicatio ca access remote data sources fuctio request shippig, data access services (proprietary) DBMS cliet software DB-gateways Programmer aware of multiple databases multiple schemas each DB operatio restricted to a sigle DB/schema Distributed trasactio processig similar to alterative 2 high flexibility for data access potetially icreased commuicatio overhead programmig model complexity multiple DBs, schemas heterogeeity of data sources, access APis, distributed TA DBS1 cliet P T DBS2 DB1 DB2 DB3 presetatio applicatio logic resource maagemet DBS3 Prof.Dr.-Ig. Stefa Deßloch 21 Middleware for Heterogeeous ad Distributed Iformatio Systems

Alterative 4 Distributio cotrolled by DBMS/ middleware (e.g., federated DBMS) Pros Cos sigle logical DB ad DB-schema for applicatio programmer distributed trasactio processig see alteratives 2 ad 3 DB-operatio may spa across multiple data sources high flexibility for data access simple, powerful programmig model query laguage, itegrated schema potetially icreased commuicatio overhead schema itegratio required distributed TA DBS1 cliet P T DBS2 DB1 DB2 DB3 presetatio applicatio logic resource maagemet DBS3 Prof.Dr.-Ig. Stefa Deßloch 22 Middleware for Heterogeeous ad Distributed Iformatio Systems

Commuicatio i a Iformatio System Blockig ad o-blockig iteractios "sychroous" ad "asychroous" are accepted syoyms for blockig / oblockig i our cotext formal defiitio of sychroous ivolves additioal aspects (trasmissio time), which we are igorig here iteractios is sychroous/blockig, if the ivolved parties must wait for iteractio to coclude before doig aythig else asychroous/o-blockig, otherwise Prof.Dr.-Ig. Stefa Deßloch 23 Middleware for Heterogeeous ad Distributed Iformatio Systems

Sychroous or Blockig Calls Thread of executio at the requestor side must wait util respose comes back Advatage: Easier to uderstad for the programmer state of callig thread will ot chage before respose comes back code for ivokig a service ad processig the respose are ext to each other Disadvatage: Callig thread must wait, eve if a respose is ot eeded (right away) for further processig steps waste of time, resources blockig process may be swapped out of memory ruig out of available coectios tight couplig of compoets/tiers fault tolerace: both parties must be olie, work properly for the etire duratio of call system maiteace: server maiteace forces cliet dowtime ivokig executio thread request blockig period ivoked executio thread respose Prof.Dr.-Ig. Stefa Deßloch 24 Middleware for Heterogeeous ad Distributed Iformatio Systems

Asychroous or No-Blockig Calls Thread of executio at requestor side is ot blocked ca cotiue workig to perform other tasks check for a respose message at a later poit, if eeded Message queues itermediate storage for messages util receiver is ready to retrieve them more detail: chapters o message-orieted middleware Ca be used i request-respose iteractios requester "actively waits" hadle load peaks Supports other types of iteractio iformatio dissemiatio, publish/subscribe ivokig executio thread put thread remais active fetch queue queue ivoked executio thread fetch put Prof.Dr.-Ig. Stefa Deßloch 25 Middleware for Heterogeeous ad Distributed Iformatio Systems

Middleware Middleware supports the developmet, deploymet, ad executio of complex iformatio systems facilitates iteractio betwee ad itegratio of applicatios across multiple distributed, heterogeeous platforms ad data sources Wide rage of middleware, at every IS layer itegratig databases o a LAN itegratig complete 3-tier systems withi a compay likig busiess parters across compay boudaries Prof.Dr.-Ig. Stefa Deßloch 26 Middleware for Heterogeeous ad Distributed Iformatio Systems

Two major aspects Middleware as a programmig abstractio hide complexities of buildig IS distributio commuicatio data access, persistece error/failure hadlig trasactio support Middleware as ifrastructure realizes complex software ifrastructure that implemets programmig abstractios developmet deploymet code geeratio, applicatio "assembly" rutime executio Prof.Dr.-Ig. Stefa Deßloch 27 Middleware for Heterogeeous ad Distributed Iformatio Systems

Summary Distributed Trasactios for achievig global atomicity 2PC, hierarchical 2PC fudametal cocept i distributed IS Logical layers of a iformatio system presetatio, applicatio logic, resource maagemet Desig strategies ideally top-dow, but usually bottom-up (out of ecessity) Architectures 1-tier, 2-tier, 3-tier, -tier flexibility, distributio optios vs. performace, complexity, maageability Distributio alteratives uits of distributio, pros ad cos Commuicatio sychroous, asychroous Prof.Dr.-Ig. Stefa Deßloch 28 Middleware for Heterogeeous ad Distributed Iformatio Systems