Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.

Slides:



Advertisements
Similar presentations
Distributed Processing, Client/Server and Clusters
Advertisements

ICS 434 Advanced Database Systems
Chapter 13 Review Questions
Database Architectures and the Web
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
8.
Technical Architectures
Chapter 17: Client/Server Computing Business Data Communications, 4e.
1 Database Architectures Modified from …..Modern Database Management Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden.
Asper School of Business University of Manitoba Systems Analysis & Design Instructor: Bob Travica System architectures Updated: November 2014.
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Chapter 9: The Client/Server Database Environment
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
DISTRIBUTED COMPUTING
Distributed Systems: Client/Server Computing
Client/Server Architecture
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Tiered architectures 1 to N tiers. 2 An architectural history of computing 1 tier architecture – monolithic Information Systems – Presentation / frontend,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Lecture The Client/Server Database Environment
The Client/Server Database Environment
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Web application architecture
N-Tier Architecture.
Client/Server Architectures
PHASE 3: SYSTEMS DESIGN Chapter 8 System Architecture.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Lecture 3: Sun: 16/4/1435 Distributed Computing Technologies and Middleware Lecturer/ Kawther Abas CS- 492 : Distributed system.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Csi315csi315 Client/Server Models. Client/Server Environment LAN or WAN Server Data Berson, Fig 1.4, p.8 clients network.
Unit – I CLIENT / SERVER ARCHITECTURE. Unit Structure  Evolution of Client/Server Architecture  Client/Server Model  Characteristics of Client/Server.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Kyung Hee University 1/41 Introduction Chapter 1.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
CORBA1 Distributed Software Systems Any software system can be physically distributed By distributed coupling we get the following:  Improved performance.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Background Computer System Architectures Computer System Software.
Distributed Systems Architectures Chapter 12. Objectives  To explain the advantages and disadvantages of different distributed systems architectures.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
CIIT-Human Computer Interaction-CSC456-Fall-2015-Mr
Introduction to Distributed Platforms
N-Tier Architecture.
The Client/Server Database Environment
Grid Computing.
The Client/Server Database Environment
The Client/Server Database Environment
CSC 480 Software Engineering
Chapter 9: The Client/Server Database Environment
Storage Virtualization
#01 Client/Server Computing
Enterprise Application Architecture
Introduction to Databases Transparencies
Lecture 1: Multi-tier Architecture Overview
Web Application Architectures
Software models - Software Architecture Design Patterns
Chapter 17: Client/Server Computing
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Web Application Architectures
Database System Architectures
#01 Client/Server Computing
Presentation transcript:

Distributed Information Systems

Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information systems evolved. ● While technology has changed, problems stayed the same.

Overview distributed Information Systems (IS) ● design and related aspects ● architectures ● communication patterns ● scaling

Design and related Aspects

Layers of an IS Example... browser

Presentation Layer ● here is decided HOW data should appear to the user ● sometimes referred to as the client (not entirely true!!!)

Application Logic Layer ● Data Processing ('The actual Program') ● here the algorithms are implemented ● this Layer is often referred to as – services – business logic – business rules – server

Resource Management Layer ● deals with and implements different data sources of IS ● is the 'data layer' in a restricted interpretation (Database Management System) ● can also be an external system, which recursively uses other ISs

Designs of IS ● top-down design ● bottom-up design

top-down design ● starts with defining functionality desired by the client ('toplevel goals') ● implementation of application logic ● defining the resources needed by applictation logic

top-down [example]

top-down design ● usually created to run in homogenous environments ● way of distribution has to be specified ● results in tightly coupled components: – functionality of each component heavily depends on functionality of other components – design is component based, but components are not standalone

top-down design ● fig 1.3 s.8

advantages & disadvantages ● advantages: – design emphasises final goals of the system – can be optimized for: functional and non- functional(performance, availability,..) issues ● disadvantages – can only be designed from scratch – legacy systems cannot be integrated today few ISs are designed purely top-down

bottom-up design ● fig 1.4

bottom-up design ● out of necessity rather than choice ● need to integrate legacy systems and/or applications ● results in loosely coupled systems – independent and – standolone components ● most distributed IS are result of a bottom-up design ● Web services can make those designs more efficient, cost-effective and simplier to design

bottom-up design [fig 1.5 p.10]

Architecture of an Information System - 4 types: ● 1 – tier ● 2 – tier ● 3 – tier ● n – tier

1 – tier Architectures ● were used decades ago.. ● monolithic Information Systems ● presentation, application logic, and resource management were merged into a single tier ● many of these 'old' Systems are still in use!

Design of 1 – tier Architecture [figure 1 – tier]

1 – tier Architecture advantages: ● easy to optimize performance ● no context switching ● no compatibility issues ● no client developement, maintainance and deployment cost disadvantages: ● monolithic pieces of code (high maintainance) ● hard to modify ● lack of qualified programmers for these systems

2 - tier Architectures ● fig 1.7 p.12

2 - tier Architectures ● separation of presentation layer from other 2 layers (app + resource) ● became popular as 'server/client' systems ● thin clients/fat clients ● RPC (Remote Procedure Call) ● API (Application Program Interface) ● need for standardization

advantages & disadvantages advantages ● portability ● no need for context switches or calls between component for key operations disadvantages ● limited scalability ● legacy problems (blown up clients)

3 - tier Architectures ● fig 1.10 p. 16

3 - tier Architectures ● can be achieved by separating RM (resource management) from application logic layer ● additional middleware layer between client and server – integration logic – application logic ● lead to the introduction of clear RM layer interfaces ● good at dealing with intgration of different resources

3 - tier ● fig 1.11 p. 17

advantages & disadvantages advantages ● scalability by running each layer on a different server ● scalability by distributing AL (application logic layer) across many nodes ● additional tier for integration logic ● flexibility disadvantages ● performance loss if distributed over the internet ● problem when integrating different 3 – tier systems

2 cases of n – tier ● systems linked with added connectivity through the internet ● resource layer is a full fledged 2 - or 3 - tier system n -tier

● fig 1.12 p. 20

n - tier ● [fig 1.13 p. 21]

advantages & disadvantages advantages ● better scalability ● higher fault tolerance ● higher throughput for less cost disadvantages ● too much middleware involved ● redundant functionality ● difficulty and cost of developement

gains and losses with growing number of tiers one gains: ● flexibility ● functionality ● possibilities for distribution but: ● each tier increases communication costs ● complexity rises ● higher complexity of management and tuning

communication in an IS between distributed layers/tiers ● synchronous interactions ● asynchronous interactions

synchronous interactions (blocking) ● fig 1.14 p. 23

asynchronous interactions (non blocking) ● fig 1.15 p. 25

scaling multi tier systems 6 steps ● understand the application environment ● categorize your workload ● determine the components most impacted ● select scaling techniques to apply ● apply the techniques ● reevaluate ●.. and hope its better :)

what do scaling techniques improve?

use faster machine ● increases the ability to do more work in a unit of time by processing tasks more rapidly ● applies to almost all parts of the system (from edge servers to database server)

create cluster of machines ● services more client requests. improves response time through parallelism ● applies to Web presentation server, Web application server, directory and security servers

use special machines ● improves efficiency of a component by using a special purpose machine, which is optimized for a specific function ● applies to egde server, Web presentation server, directory and security servers, the network and the Internet firewall

segment the workload ● splits up workload into managable chunks to obtain more predictible response times ● applies to Web representation server, Web application server, the data server and the network

batch requests ● reduces number of requests by defining new ones that combine multiple requests ● applies to Web presentation server, Web application server, directory and security servers, existing business applications and database

aggregate user data ● allows rapid access to large customer data controlled by existing system applications by aggregating distributed customer data into a costomer information service ● applies to the Web presentation server, Web application server and the network

manage connections ● minimizes number of connections and eliminates overhead of setting up connections by sharing a pool of preestablished connections between the layers ● applies to Web presentation server, Web aplication server and the database.

cache ● improves performance and scalability and response time by buffering data flows and reducing consumption of resources ● applies to the edge server, Web presentation server, Web application server, network, existing business applications and the database.

summary ● layers of an IS ● designs of distributed IS ● evolution of architectures and concepts ● scaling techniques