Client/Server Computing

Slides:



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

ICS 434 Advanced Database Systems
Database Architectures and the Web
SWE 316: Software Design and Architecture
I.1 Distributed Systems Prof. Dr. Alexander Schill Dresden Technical University Computer Networks Dept.
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.
Chapter 13 Physical Architecture Layer Design
Distributed Processing, Client/Server and Clusters
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.
12 Chapter 12 Client/Server Systems Hachim Haddouti.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
12 Chapter 12 Client/Server Systems Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
Systems Architecture, Fourth Edition1 Internet and Distributed Application Services Chapter 13.
Chapter 2 Database Environment Pearson Education © 2014.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
Distributed Systems: Client/Server Computing
Client/Server Architecture
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
Client-Server Processing and Distributed Databases
The Client/Server Database Environment
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.
Application Programming Interface (API) A set of function and call programs that allow clients and servers to inter- communicate Client A networked.
Client/Server Architectures
System Architecture & Hardware Configurations Dr. D. Bilal IS 592 Spring 2005.
1 Distributed Processing, Client/Server, and Clusters Chapter 13.
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
Introduction to distributed systems Dr. S. Indran 23 January 2004.
CSC271 Database Systems Lecture # 4.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
Slide 1 Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 13: Physical Architecture Layer Design Alan Dennis,
1 Chapter 38 RPC and Middleware. 2 Middleware  Tools to help programmers  Makes client-server programming  Easier  Faster  Makes resulting software.
Slide 1 Physical Architecture Layer Design Chapter 13.
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
1 Distributed Processing, Messages, RPC, RMI, CORBA Chapter 14 ”Operating Systems” W. Stallings.
Introduction  Client/Server technology is seen by many as the solution to the difficulty of linking together the various departments of corporation.
Architectures of distributed systems Fundamental Models
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Chapter 17: Client/Server Computing Business Data Communications, 4e.
Chapter 2 Database System Concepts and Architecture Dr. Bernard Chen Ph.D. University of Central Arkansas.
3-Tier Architecture Chandrasekaran Rajagopalan Cs /01/99.
Application Development
Chapter 2 Database Environment.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
System Architecture & Hardware Configurations Dr. D. Bilal IS 582 Spring 2008.
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.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Lecture 9: The Client/Server Database Environment Modern Database Management 9 th Edition.
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.
Distributed Processing, Client/Server and Clusters
Chapter 12: Architecture
Chapter 2 Database System Concepts and Architecture
The Client/Server Database Environment
CSC 480 Software Engineering
CHAPTER 2 Application Layer.
#01 Client/Server Computing
Ch > 28.4.
Chapter 12: Physical Architecture Layer Design
Chapter 17: Client/Server Computing
#01 Client/Server Computing
Presentation transcript:

Client/Server Computing See chapter 7, Stalling’s book Ho Sooi Hock

Outlines Elements of Client/Server Computing Reasons for Growing Interest of Client/Server Paradigm Characteristics of Client/Server Computing Classes of Client/Server Applications Role of Middleware Three Middleware Mechanisms

Elements of Client/Server Computing An environment populated by clients and servers Clients are generally single-user workstations that provide user friendly interfaces Servers provide a set of shared user services to the clients, e.g. database server As a form of distributed computing, networking is the third essential ingredient linking the distributed resources

Client/Server Environment

Why Client/Server Computing is Gaining Popularity? Trend # 1: An effort by companies to downsize and streamline processes in a competitive business environment Trend # 2: The introduction of the small business units (SBUs) concept Client/Server computing is a new technical approach providing new ways of organising business, automating tasks and eliminating barriers to information

Characteristics of Client/Server Computing It brings user friendly applications to the desktops, giving users greater control over timing and style of computer usage, and allowing departments to be more responsive to local needs Enables databases, network management and utility functions to be centralised Commitment to open and modular systems by the user organisations and vendors Networking is fundamental to the operation, thus good network management and security functions are necessary

Generic Client/Server Architecture

Client/Server Architecture for Database Applications

A Sample Database Server SELECT NAME FROM EMPLOYEE_TABLE WHERE EMP_NO LIKE “777-77-7777” Client Server DB “Daniel Shimoda”

Desirable and Misused Client/Server

Classes of Client/Server Applications Host-based processing Server-based processing

Client-based processing Classes of Client/Server Applications Client-based processing Cooperative processing

Thin Clients vs Fat Clients* Thin client is a minimal client. Thin clients utilize as few resources on the host PC as possible. A thin client's job is generally just to graphically display information from the application server. This allows a company the ease of managing their business logic for all applications at a central location. Fat client (also known as rich client or thick client) is a client that performs the bulk of the data processing operations. The data itself is stored on the server. * source: Wikipedia, the free encyclopedia.

Three-Tier Client/Server Architecture To overcome the limitations of two-tier architecture, a middle tier server (also called gateway) is added between the user machine (typically a thin client) and the backend servers (database servers) The middle tier is where the application/business logic of the system resides and it performs a number of different functions like mapping different database queries, integrating results from different data sources and interfacing with backend legacy applications

Three-Tier Client/Server Architecture

Middleware A software layer introduced between the application above and communications software, operating systems below to provide a standardised programming interfaces and protocols Hides complexities and disparities of network protocols, operating systems and hardware platforms All applications use a uniform application programming interface (API)

Role of Middleware in Client/Server Architecture

Logical View of Middleware

Middleware Mechanisms

Message Passing In this mechanism, a client process requires some service, e.g. read a file, sends a message containing a request for service to a server process. The server process honors the request and sends a message containing a reply

Remote Procedure Call In this mechanism, programs on different machines interact using simple procedure call/return semantics, just as if the two programs were on the same machines

RPC Advantages Widely accepted, used and understood Specifies named operations with designated types Because the interface is standard and precisely defined, the communication code can be generated automatically Developer can write module which are portable among computers and operating systems with little modification and recoding

Object-Oriented Mechanism Clients and servers ship messages back and forth between objects, relying on an underlying message or RPC structure or be developed directly on top of the object-oriented capabilities in the operating systems Several competing designs, e.g. COM and CORBA

Summary Reasons for the growing interest of client server computing systems Characteristics of client/server computing Architecture of client/server applications Middleware and the three middleware mechanisms

Acknowlegements This module was taught by Dr. Payam Mamaani Barnaghi since 2005. Most slides have been adopted from his lecture materials and original works from William Stallings with some changes.