Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Middleware for Heterogeneous and Distributed Information Systems



Similar documents
Tier Architectures. Kathleen Durant CS 3200

Distribution transparency. Degree of transparency. Openness of distributed systems

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Chapter 2: Enterprise Applications from a Middleware Perspective

Distributed Database Design

Definition of SOA. Capgemini University Technology Services School Capgemini - All rights reserved November 2006 SOA for Software Architects/ 2

Web Services. Copyright 2011 Srdjan Komazec

Client Server Architecture

COMP5426 Parallel and Distributed Computing. Distributed Systems: Client/Server and Clusters

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

A distributed system is defined as

Principles and characteristics of distributed systems and environments

Topics. Distributed Databases. Desirable Properties. Introduction. Distributed DBMS Architectures. Types of Distributed Databases

A standards-based approach to application integration

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

Virtual machine interface. Operating system. Physical machine interface

Service Oriented Architectures

Guiding Principles for Modeling and Designing Reusable Services

Chapter 2: Remote Procedure Call (RPC)

Distributed Objects and Components

DISTRIBUTED AND PARALLELL DATABASE

C/S Basic Concepts. The Gartner Model. Gartner Group Model. GM: distributed presentation. GM: distributed logic. GM: remote presentation

Middleware: Past and Present a Comparison

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Service-Oriented Architectures

Service Oriented Architecture

Distributed Databases

IT Architecture Review. ISACA Conference Fall 2003

This paper was presented at the 1996 CAUSE annual conference. It is part of the proceedings of that conference, "Broadening Our Horizons:

How To Understand The Concept Of A Distributed System

Centralized Systems. A Centralized Computer System. Chapter 18: Database System Architectures

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Architecture of Transaction Processing Systems

Event-based middleware services

Software Life-Cycle Management

ICS 434 Advanced Database Systems

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

Patterns in Software Engineering

Distributed Data Management

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

Client/server is a network architecture that divides functions into client and server

Chapter 18: Database System Architectures. Centralized Systems

Scientific versus Business Workflows

Distributed System: Definition

Performance Prediction, Sizing and Capacity Planning for Distributed E-Commerce Applications

The Service Availability Forum Specification for High Availability Middleware

Stock Trader System. Architecture Description

Client/Server and Distributed Computing

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

FIPA agent based network distributed control system

Chapter 3 - Data Replication and Materialized Integration

Distributed Architectures. Distributed Databases. Distributed Databases. Distributed Databases

Middleware Lou Somers

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Service-Oriented Architecture and Software Engineering

A Survey Study on Monitoring Service for Grid

Desktop Virtualization Technologies and Implementation

Information Systems Analysis and Design CSC John Mylopoulos. Software Architectures Information Systems Analysis and Design CSC340

Best Practices: Extending Enterprise Applications to Mobile Devices

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Fall 2007 Lecture 5 - DBMS Architecture

Distributed Databases. Concepts. Why distributed databases? Distributed Databases Basic Concepts

Titolo del paragrafo. Titolo del documento - Sottotitolo documento The Benefits of Pushing Real-Time Market Data via a Web Infrastructure

Distributed systems. Distributed Systems Architectures

Emerging Technologies Shaping the Future of Data Warehouses & Business Intelligence

INTRODUCTION TO DATABASE SYSTEMS

Application Centric Infrastructure Object-Oriented Data Model: Gain Advanced Network Control and Programmability

Building Scalable Applications Using Microsoft Technologies

Transactions and the Internet

Transactionality and Fault Handling in WebSphere Process Server Web Service Invocations. version Feb 2011

SODDA A SERVICE-ORIENTED DISTRIBUTED DATABASE ARCHITECTURE

System types. Distributed systems

JOURNAL OF OBJECT TECHNOLOGY

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system

Client/server and peer-to-peer models: basic concepts

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Data Management in the Cloud

Chapter 5. Learning Objectives. DW Development and ETL

An Overview of Distributed Databases

Dr Markus Hagenbuchner CSCI319. Distributed Systems

Enterprise Application Integration

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

zen Platform technical white paper

Chapter 2 Database System Concepts and Architecture

The Service Revolution software engineering without programming languages

Introduction: Database management system

XII. Distributed Systems and Middleware. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

Performance Testing IBM MQSeries* Infrastructures

WSO2 Message Broker. Scalable persistent Messaging System

Service Oriented Architecture (SOA) An Introduction

Building Reliable, Scalable AR System Solutions. High-Availability. White Paper

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Transcription:

Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Architecture Chapter Outline Distributed transactions (quick refresh) Layers of an information system application logic resource management Design strategies top-down, bottom-up Architectures 1-tier, 2-tier, 3-tier, n-tier Distribution alternatives Communication synchronous, asynchronous 2 Prof. Dr.-Ing. S. Deßloch 1

"ACID" Transactions Atomicity TA is an atomic processing unit "all-or-nothing" guarantee Consistency completed TA results in consistent DB state intermediate states may be inconsistent final state has to satisfy DB integrity constraints Isolation concurrent TAs must not influence each other Durability DB changes of a successfully completed TA are guaranteed to "survive" system crash must not cause loss of changes changes of completed TA can only be undone by executing another TA (compensating TA) 3 Communication between TA Program and DBS Application program BOT.. Op i.. EOT 2PC phase 1 phase 2 DBS Guarantee that changes can be rolled back Execute DML operation (check immediate constraints) (check deferred constraints) Guarantee recoverability of all changes Release resources (locks) Acknowledge TA success 4 Middleware für verteilte Informationssysteme Prof. Dr.-Ing. S. Deßloch 2

Distributed Transactions Distributed Information System consists of (possibly autonomous) subsystems jointly working in a coordinated manner may involve multiple resource managers (e.g., DBS) Require global (multi-phase) commit protocol to guarantee atomicity of global TA handled by a coordinator involving multiple agents (participants) C requirements for commit protocol minimal effort (#messages, #log entries) minimal response delay (parallelism) li robustness against failure expected failure partial failure (connection loss, ) transaction failure system failure (crash) hardware failure failure detection (e.g., using timeout) 1 coordinator A 1 A 2 A n n agents (subtransactions) 5 Two-phase Commit Prepare-Phase, Commit/Abort-Phase Requires sequence of state transitions, to be safely stored in the transaction log Coordinator View Agent View FAILED received or TIMEOUT Log Write: Abort Send: ABORT ABORTING all ACK messages received Log Write: End INITIAL BEGIN TERMINATED EOT Log Write: Begin Send: PREPARE READY received by all Log Write: Commit Send: COMMIT COMMITTING all ACK messages received Log Write: End ABORT or TIMEOUT Log Write: Aborted received PREPARE Send: FAILED WAIT PREPARED rec. ABORT Log Write: Aborted Send: ACK ABORTED received PREPARE Log Write: Prepared Send: READY rec. COMMIT Log Write: Comitted Send: ACK COMMITTED 6 Prof. Dr.-Ing. S. Deßloch 3

Hierarchical 2PC Execution of transaction may form a process tree initiator at the root edges represent process links for request/response Hierarchical 2PC, with each node acting as a agent/participant for its caller coordinator for its subtree Preparation 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 7 Layers of an Information System Separation of functionality into three conceptual layers interacts with present information accept requests graphical user interface, or module that formats/transforms data, or application logic programs that implement the services offered by the IS often retrieves/modifies data resource management manages the data sources of the IS DBMSs file system any "external" system In an IS implementation, these layers might not be clearly distinguishable layer application logic layer resource management layer information system 8 Prof. Dr.-Ing. S. Deßloch 4

Top-Down Information System Design Steps 1) define access channels and platforms 2) define formats and protocols 3) define functionality (application logic) necessary to deliver the content and formats 4) define the data sources and data organization needed Design involves specification of system distribution across different computing nodes distribution possible at every layer Homogenous environment, tightly-coupled components Pro: focus on high-level goals, addresses both functional and non-functional requirements Con: can only be applied if IS is developed from scratch 9 Bottom-up Information System Design Steps 1) define access channels and platforms 2) examine existing resources and their functionality (RM layer) 3) wrap existing resources, integrate them into consistent interface (AL layer) 4) adapt output of AL for (P layer) Design focuses on integration/reuse of existing (legacy) systems/applications functionality of components is already (pre-)defined modification or re-implementation is often not a choice driven by characteristics of lower layers start with high-level goals, then determine how it can be achieved using existing components often starts with thorough analysis of existing applications and systems to determine which high-level objectives can be achieved results in loosely-coupled systems components can mostly be used stand-alone underlying systems often remain autonomous Not an advantage, but a necessity 10 Prof. Dr.-Ing. S. Deßloch 5

Bottom-Up Design Example Legacy Applications Legacy Applications PL-A AL-A AL-C wrapper PL-C PL-B AL-B AL-D wrapper application logic resource management information system legacy system legacy system 11 Information Systems Architecture Layers define a logical separation of functionality Implementing an IS decide how to combine/distribute the layers into so-called tiers Tier modularizes the IS architecture may implement a (part of a) single layer, or multiple layers provides well-defined interfaces for accessing its functionality tier node Going from N to N+1 tiers in general adds flexibility, functionality, distribution and scalability options introduces performance, complexity, management, tuning issues 12 Prof. Dr.-Ing. S. Deßloch 6

1-Tier Architecture All layers are combined in a single tier Predominant on mainframe-based computer architectures is usually a "dumb terminal" focus on efficient i utilization of CPU, system resources "Monolithic" system no entry points (APIs) from outside, other than the channel to the dumb terminals have to be treated as black boxes integration requires "screen scraping" program that simulates user, parses the "screens" produced by the system the prototype of a legacy system Advantages optimizes performance by merging the layers as necessary development, deployment, maintenance is not an issue Disadvantages difficult and expensive to maintain further increased by lack of documentation and qualified programmers 13 2-Tier Architecture Pushed by emergence of PC, workstations (replacing dumb terminals) layer is moved to the PC exploit the processing power of PC free up resources for application logic/resource management layers possibility to tailor layer for different purposes e.g., end-user vs. administrator modules typically realized as /server system one (popular) approach: corresponds to layer, server includes the application logic and resource management layers another approach (more traditional C/S): includes and application logic layer, server provides resource management services where does the end and the server begin? thin /fat server vs. fat /thin server fat application logic fat server resource mgmnt. server 14 Prof. Dr.-Ing. S. Deßloch 7

Properties of 2-Tier Architecture Pro emphasis on "services" provided by server, requested/consumed by definition of application programming interfaces (APIs) as published server interfaces portability, stability multiple types of s can utilize the same server API server can support multiple s at the same time sufficient scalability for departmental applications Con scalability is often limited (esp. for thin s) requires to move to very powerful server machines especially fat s require increased software maintenance/deployment on side is often turned into an integration engine interacting with multiple types of servers extra application layer appears in thin s 15 3-Tier Architecture Usually based on a clear separation between the three layers tier implements layer middle tier realizes application logic employs middleware resource management layer composed of a (set of) servers (e.g., DBS) Addresses scalability application layer can be distributed across nodes (in a cluster) Portability of application logic Supports integration of multiple resource managers Disadvantages increased communication middleware layer application logic layer resource management layer information system 16 Prof. Dr.-Ing. S. Deßloch 8

N-Tier Architecture Further generalizes 3-tier architecture Resource layer may include 1-, 2-, 3-, N-tiered systems focus on linking, integration of different systems Presentation layer may be realized in separate tiers especially important for supporting internet connectivity using browser server-side done by web server, dynamic HTML generation (HTML filter) usually results in 4-tier architecture layer middleware web browser web server HTML filter application logic layer resource management layer information sys stem 17 Distributed IS Why distribution? economic reasons e.g., reduced hardware cost organizational reasons local support of org. structures integration of existing (legacy) data sources or application systems local autonomy technical reasons increase performance (locality of processing, exploit parallelism) high availability and reliability (replication) scalability Client view distribution transparency single system image Different realization alternatives often used in combination Distribution? DB1 DB2 DB3 application logic resource management distributed data sources 18 Prof. Dr.-Ing. S. Deßloch 9

Alternative 1 Transaction as the unit of distribution transaction routing request is routed to the node responsible for processing (XOR) only local transaction processing (within a node) no cooperation among DBMS Pros simple solution, easy to support works in heterogeneous environments (e.g., with HTTP) Cons inflexible, limited scope transactions restricted to single node (i.e., no distributed transactions) unit of distribution (node) T? xor application T1 T2 T3 logic resource management DBS1 DBS2 DBS3 DB1 DB2 DB3 19 Alternative 2 Application program/component as the unit of distribution invocation of (remote) program components through RPC/RMI-based mechanisms RPC, CORBA/EJB-RMI, Stored Procedures, "programmed" distribution middleware can help to achieve location transparency each program (component) accesses local DB only distributed transaction processing coordinated by TP-monitor/application server supported by (local) application server and DBMSs Pros locality of processing (low communication overhead) supports application reuse, heterogeneous data sources Cons inflexibility regarding data access operations potential programming model complexity (distribution, error handling, ) DB access operation cannot reach across multiple nodes distributed TA T1 DBS1 P T2 DBS2 T3 application logic resource management DBS3 DB1 DB2 DB3 20 Prof. Dr.-Ing. S. Deßloch 10

Alternative 3 DB operation as the unit of distribution Application can access remote data sources function request shipping, data access services (proprietary) DBMS software DB-gateways Programmer aware of multiple databases multiple schemas each DB operation restricted to a single DB/schema Distributed transaction processing similar to alternative 2 Pros high flexibility for data access Cons potentially increased communication overhead programming model complexity multiple DBs, schemas heterogeneity of data sources, access APis, distributed TA DBS1 P T DBS2 DB1 DB2 DB3 application logic resource management DBS3 21 Alternative 4 Distribution controlled by DBMS (middleware) single logical DB and DB-schema for application programmer distributed transaction processing see alternatives 2 and 3 DB-operation may span across multiple data sources homogeneous: DB-partitioning heterogeneous: federated DBMS middleware (see "EIS") schema integration wrapper-based cooperation, governed by federated DBMS server distributed TA DBS1 P T DBS2 application logic resource management DBS3 DB1 DB2 DB3 22 Prof. Dr.-Ing. S. Deßloch 11

Communication in an Information System Blocking and non-blocking interactions "synchronous" and "asynchronous" are accepted synonyms in our context formal definition of synchronous involves additional aspects (transmission time), which we are ignoring g here interactions is synchronous/blocking, if the involved parties must wait for interaction to conclude before doing anything else asynchronous/non-blocking, otherwise 23 Synchronous or Blocking Calls Thread of execution at the requestor side must wait until response comes back Advantage: Easier to understand for the programmer state of calling thread will not change before response comes back code for invoking a service and processing the response are next to each other Disadvantage: Calling thread must wait, even if a response is not needed (right away) for further processing steps waste of time, resources blocking process may be swapped out of memory running out of available connections tight coupling of components/tiers fault tolerance: both parties must be online, work properly for the entire duration of call system maintenance: server maintenance forces downtime invoking execution thread request blocking period invoked execution thread response 24 Prof. Dr.-Ing. S. Deßloch 12

Asynchronous or Non-Blocking Calls Thread of execution at requestor side is not blocked can continue working to perform other tasks check for a response message at a later point, if needed Message queues intermediate storage for messages until receiver is ready to retrieve them more detail: chapters on message-oriented middleware Can be used in request-response interactions requester "actively waits" handle load peaks Supports other types of interaction information dissemination, publish/subscribe invoking execution thread put thread remains active fetch queue queue invoked execution thread fetch put 25 Middleware Middleware supports the development, deployment, and execution of complex information systems facilitates interaction between and integration of applications across multiple distributed, heterogeneous platforms and data sources Wide range of middleware, at every IS layer integrating databases on a LAN integrating complete 3-tier systems within a company linking business partners across company boundaries 26 Prof. Dr.-Ing. S. Deßloch 13

Two major aspects Middleware as a programming abstraction hide complexities of building IS distribution communication data access, persistence error/failure handling transaction support Middleware as infrastructure realizes complex software infrastructure that implements programming abstractions development deployment code generation, application "assembly" runtime execution 27 Summary Distributed Transactions for achieving global atomicity 2PC, hierarchical 2PC fundamental concept in distributed IS Logical layers of an information system, application logic, resource management Design strategies ideally top-down, but usually bottom-up (out of necessity) Architectures 1-tier, 2-tier, 3-tier, n-tier flexibility, distribution options vs. performance, complexity, manageability Distribution alternatives units of distribution, pros and cons Communication synchronous, asynchronous 28 Prof. Dr.-Ing. S. Deßloch 14