Distributed Systems: Client/Server Computing

Slides:



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

ICS 434 Advanced Database Systems
Database Architectures and the Web
Distributed Processing, Client/Server, and Clusters
Chapter 6: Client/Server and Intranet Computing
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Technical Architectures
Chapter 17: Client/Server Computing Business Data Communications, 4e.
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
Distributed Database Management Systems
Distributed Processing, Client/Server and Clusters
Chapter 7: Client/Server Computing Business Data Communications, 5e.
12 Chapter 12 Client/Server Systems Hachim Haddouti.
13-1 Chapter 13 - Objectives Define an information system’s architecture in terms of the KNOWLEDGE, PROCESSES, and COMMUNICATION building blocks. Differentiate.
Chapter 12 Distributed Database Management Systems
©Silberschatz, Korth and Sudarshan18.1Database System Concepts Centralized Systems Run on a single computer system and do not interact with other computer.
Distributed Systems Architecture Presentation II Presenters Rose Kit & Turgut Tezir.
Client/Server Architecture
© 2001 by Prentice Hall8-1 Local Area Networks, 3rd Edition David A. Stamper Part 3: Software Chapter 8 Client/Server Architecture.
DATABASE MANAGEMENT SYSTEMS 2 ANGELITO I. CUNANAN JR.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
The Client/Server Database Environment
Client/Server Architectures
System Architecture & Hardware Configurations Dr. D. Bilal IS 592 Spring 2005.
Shilpa Seth.  Centralized System Centralized System  Client Server System Client Server System  Parallel System Parallel System.
Database Architectures and the Web
1 Distributed Processing, Client/Server, and Clusters Chapter 13.
STRATEGIES INVOLVED IN REMOTE COMPUTATION
CIS 325: Data Communications1 CIS-325 Data Communications Dr. L. G. Williams, Instructor.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Database Architectures and the Web Session 5
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
Distributed Processing and Client/Server
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
1 Distributed Processing, Messages, RPC, RMI, CORBA Chapter 14 ”Operating Systems” W. Stallings.
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.
10 1 Chapter 10 Distributed Database Management Systems Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Week 5 Lecture Distributed Database Management Systems Samuel ConnSamuel Conn, Asst Professor Suggestions for using the Lecture Slides.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
10 1 Chapter 10 Distributed Database Management Systems Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Application Development
Client/Server Computing
Chapter 131 Distributed Processing, Client/Server, and Clusters Chapter 13.
Distributed System Architectures Yonsei University 2 nd Semester, 2014 Woo-Cheol Kim.
TM 8-1 Copyright © 1999 Addison Wesley Longman, Inc. Client/Server and Middleware.
Creating competitive advantage Copyright © 2003 Enterprise Java Beans Presenter: Wickramanayake HMKSK Version:0.1 Last Updated:
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
System Architecture & Hardware Configurations Dr. D. Bilal IS 582 Spring 2008.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
Chapter 16 Client/Server Computing Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Distributed Systems Architectures. Topics covered l Client-server architectures l Distributed object architectures l Inter-organisational computing.
Distributed Processing, Client/Server and Clusters
Business System Development
Database Architectures and the Web
System Architecture & Hardware Configurations
The Client/Server Database Environment
System Architecture & Hardware Configurations
Database Architectures and the Web
#01 Client/Server Computing
Ch > 28.4.
Distributed Processing, Client/Server and Clusters
Database System Architectures
#01 Client/Server Computing
Presentation transcript:

Distributed Systems: Client/Server Computing

Client/Server Computing Major trend in information systems, replacing both the centralized approaches and alternative forms of distributed computing Main concepts Clients Single-user PCs or workstations with user-friendly, usually graphical, interfaces Servers Provide a set of shared user services to clients Example: Database server, controlling a relational database Allows many clients to share access to the same database Can use a high-performance computer system to manage the database Network Clients and servers are connected to a LAN or WAN or by an internet of networks CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Client/server architecture Platforms and the OSs may be different Communications protocols and the applications supported must be common Allocation of application-level tasks between clients and servers is central to the architecture. It must: Optimize platform and network resources Optimize the ability of users to perform various tasks and to cooperate with one another Presentation services in client must provide a user interface (e.g., GUI) that is easy to use, powerful, and flexible CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Relational database applications Server is responsible for maintaining the database using a database management system software module Client has applications that make use of the database Client/server interactions are in the form of transactions in which the client makes a database request and receives a database response, e.g., the Structured Query Language (SQL) Not all the application logic (e.g., data analysis) has to reside in the client CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Example: Online access for record lookup Server is maintaining a database of 1 million records User wants to perform a search using a certain search criteria (e.g., records older than 1999) and expects to find at most a few records First query yields a server response of 100,000 records User sends another query adding new qualifiers Response returns 1,000 records Client issues third request with additional qualifiers and receives a single record CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Example 2: Online access for record lookup Server is maintaining a database of 1 million records Client would like to compute the grant total of a certain field across many records The query results in 300,000 records transmitted, which would be a misuse of the client/server architecture Solution: move part of the application logic to the server CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Classes of client/server applications Wide spectrum of implementations in partitioning work between client and server Host-based processing All processing done on a central host User’s station is limited to the role of a terminal emulator, even if it employs a microcomputer Traditional mainframe computing, not a true client/server architecture CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Classes of client/server applications (cont.) Server-based processing Most basic class of client/server configuration, early implementations (thin client model) Client provides a graphical user interface Server provides all processing This configuration does not provide significant improvements in the use of resources CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Classes of client/server applications (cont.) Client-based processing All application processing is done by the client, except for the data validation routines Advantage: allows users to employ applications best suited for local needs Most common client-server approach in use today Fat client model CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Classes of client/server applications (cont.) Cooperative processing Distribution of application processing is optimized, taking advantage of the strengths of both client and server machines and of the best distribution of data More difficult to set up and maintain Can lead to greater network efficiency and highest productivity gains CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Three–tier client/server architecture Application software is distributed between three types of machines: a (thin) client, a middle-tier server, and a backend server The middle-tier server provides a gateway function between the clients and the different backend servers Convert protocols and map from one type of database query to another Can merge/integrate results from different sources Can serve as a gateway between the new desktop applications and the backend legacy applications The middle-tier server is both a server and a client: server for the thin client and client for the backend server CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) File cache consistency To reduce the performance penalty of accessing remote files, individual systems can use file caches Typical distribution mechanism for caching files among network workstations: a file access request in the client results in (1) request to client cache (“file traffic”), then to local disk (“disk traffic”), then to file server (“server traffic”), cache and then disk Problem: caches can become inconsistent when the remote data are changed and local cache is obsolete Solutions: (a) File locking techniques to prevent simultaneous file access by more than one client, and (b) Sprite approach: on a write by a client, all other clients that opened the file are notified CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Middleware The rapid development and deployment of client/server products has outpaced the standards efforts: difficult to implement an integrated, multi-vendor client/server solution Developers need a set of tools that provide a uniform means and style of access to system resources across all platforms Middleware: A set of standard programming interfaces and protocols that sit between the application above and the communications software and operating system below Hide the complexities and disparities of different network protocols and operating systems Client and server vendors provide a number of middleware packages as options The user selects a middleware strategy and then assembles equipment from different vendors that support that strategy CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) Middleware architecture The role of the middleware depends on the style of client/server computing used There is both a client and a server component of middleware Goal: allow an application or user at the client to access different services on servers, even though the servers’ implementations may be different Many relational databases, even though they support Structured Query Language (SQL), they also add proprietary extensions to SQL Example: A distributed system supporting a personnel department is using both Gupta and Oracle databases CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) A logical view of a distributed system using middleware The entire distributed system can be viewed as a set of applications and resources available to its users Applications run over a uniform Applications Programming Interface (API) The middleware operates over all client and server platforms and is responsible for routing client requests to the appropriate servers CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]

Client/Server Computing (cont.) An example of the use of middleware to integrate different products CS-550 (M.Soneru): Distributed Systems - Client/Server Computing: [Sta’01]