Client/Server Architecture

Slides:



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

ICS 434 Advanced Database Systems
Database Architectures and the Web
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
SWE 316: Software Design and Architecture
Objectives In this session, you will learn to:
8.
Distributed Processing, Client/Server, and Clusters
Chapter 16 Client/Server Computing Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Technical Architectures
Local Area Networks Outline –Basic Components of a LAN –Network Architectures –Topologies and LAN Technologies –Selecting a LAN –Improving LAN Performance.
1 Pertemuan 13 Servers for E-Business Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi: >
BICS546 Client/Server Database Application Development.
Distributed Processing, Client/Server and Clusters
Chapter 7: Client/Server Computing Business Data Communications, 5e.
Distributed Information Systems - The Client server model
Ch 12 Distributed Systems Architectures
12 Chapter 12 Client/Server Systems Hachim Haddouti.
Introduction to Web Applications Instructor: Enoch E. Damson.
Distributed Systems: Client/Server Computing
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
Client – Server Architecture A Basic Introduction Kathleen R. Murray, Ph.D. May 2002.
Web Application Architecture: multi-tier (2-tier, 3-tier) & mvc
Client/Server Architectures
System Architecture & Hardware Configurations Dr. D. Bilal IS 592 Spring 2005.
INTRODUCTION TO WEB DATABASE PROGRAMMING
1 Distributed Processing, Client/Server, and Clusters Chapter 13.
Understanding Networked Applications A First Course 1 CONTENTS  INTRODUCTION.  WHAT IS CLIENT SERVER ARCHITECTURE ?  WHY WE NEED CLIENT SERVER ARCHITECTURE.
©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.
Lecture On Database Analysis and Design By- Jesmin Akhter Lecturer, IIT, Jahangirnagar University.
Application Layer CHAPTER 2. Announcements and Outline  Administrative Items  Questions? Recap 1.Introduction to Networks 1.Network Type 2.N etwork.
Distributed Processing and Client/Server
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.
Client – Server Architecture. Client Server Architecture A network architecture in which each computer or process on the network is either a client or.
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.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Distributed Information Systems. Motivation ● To understand the problems that Web services try to solve it is helpful to understand how distributed information.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Client/Server Computing
Chapter 131 Distributed Processing, Client/Server, and Clusters Chapter 13.
TM 8-1 Copyright © 1999 Addison Wesley Longman, Inc. Client/Server and Middleware.
CSC 480 Software Engineering Lecture 17 Nov 4, 2002.
Client – Server Architecture A Basic Introduction 1.
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 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
The Client/Server Database Environment
The Client/Server Database Environment
CSC 480 Software Engineering
CHAPTER 2 Application Layer.
#01 Client/Server Computing
Distributed Processing, Client/Server and Clusters
Lecture 1: Multi-tier Architecture Overview
Tiers vs. Layers.
#01 Client/Server Computing
Presentation transcript:

Client/Server Architecture

Components Clients Servers Communication Networks Server Client

Clients Applications that run on computers Rely on servers for Files Devices Processing power Example: E-mail client An application that enables you to send and receive e-mail Clients are Applications

Servers Manage Resources Computers or processes that manage network resources Disk drives (file servers) Printers (print servers) Network traffic (network servers) Example: Database Server A computer system that processes database queries Servers Manage Resources

Communication Networks Networks Connect Clients and Servers

Client–Server Computing Process takes place on the server and on the client Servers Store and protect data Process requests from clients Clients Make requests Format data on the desktop Client-Server Computing Optimizes Computing Resources

Application Functions Software application functions are separated into three distinct parts Server: Data Management Client: Presentation & Application Logic

Application Components Data Management 2 Client Types 3 2 Application Logic Fat Client Thin Client 1 Presentation 3 Logical Tiers Database Applications: Most common use of client-server architectures

Client/Server Computing Client machines are generally single-user PCs or workstations that provide a highly user-friendly interface to the end user The server enables many clients to share access to the same database and enables the use of a high-performance computer system to manage the database Each server provides a set of shared user services to the clients

Client/Server Applications Basic software is an operating system running on the hardware platform Platforms and the operating systems of client and server may differ These lower-level differences are irrelevant as long as a client and server share the same communications protocols and support the same applications

Client/Server Applications Actual functions performed by the application can be split up between client and server Optimize platform and network resources Optimize the ability of users to perform various tasks Optimize the ability to cooperate with one another using shared resources

Database Applications The server is a database server Interaction between client and server is in the form of transactions the client makes a database request and receives a database response Server is responsible for maintaining the database

Classes of Client/Server Applications Host-based processing not true client/server computing traditional mainframe environment

Classes of Client/Server Applications Server-based processing server does all the processing user workstation provides a graphical user interface

Classes of Client/Server Applications Client-based processing all application processing done at the client data validation routines and other database logic function are done at the server

Classes of Client/Server Applications Cooperative processing application processing is performed in an optimized fashion complex to set up and maintain

Examples of Client Server Apps Client/Server model of computing is widely used in many applications in today’s computing environment. Common examples that everybody might have interacted are: Email Applications Chat applications

Email application Server Client Client Email client sends message to server Later, recipient’s email client retrieves message from server Message is stored on POP server

Chat application Server Client Client Chat server aggregates typing from all users and sends to all clients Other user’s clients display aggregated typing from chat server Chat clients send user’s typing to server

Three-Tier Client/Server Architecture

Tiered Architectures System Architecture A group of interrelated elements forming a collective entity Architecture A style and method of design and construction 26

An architectural history of computing 1 tier architecture monolithic Information Systems presentation, application logic, and resource management were merged into a single tier 2 tier architecture separation of presentation tier from other 2 tiers (app + resource) became popular as 'client/server' systems 3 tier architecture can be achieved by separating RM (resource management) from application logic tier 27

Three-Tier Client/Server Architecture Application software distributed among three types of machines User machine thin client Middle-tier server Gateway Convert protocols Merge/integrate results from different data sources Backend server

Tiers of an architecture browser Client <html> ... </html> Presentation tier Visualise Application logic tier Calculate information system Resource management tier Store 30 30

Presentation Tier Any IS needs to communicate with external entities, human users or other computers Allows these entities to interact with the system Implemented as a GUI interface Referred to as the client of the IS – which is not correct Example: Systems accessed by web browsers using plain HTML documents The client is a web browser that only displays information prepared by the Web server The presentation layer in this case is the Web server How the data should appear to the user and how the user should interact with the interface 31 31

Application Logic Tier IS do more than information delivery, they perform data processing (Business Logic & calculation) behind the results being delivered Example: A program that implements a withdrawal operation from a bank This program takes the request, checks whether there is enough funds, verifies whether withdrawal limits are exceeded, creates a log entry for the operation, performs the operations against the current balance and gives approval for handing out the money. Here the algorithms are implemented This tier is often referred to as Services Business logic Business rules Server 32 32

Resource Management Layer IS needs data to work with Data can reside in databases or other information repositories Deals with and implements different data sources of Information Systems Also referred to as the data layer, which indicates that it is implemented using a Database Management System From the banking example: The RM layer could be the account database of the bank Can also be a gateway to recursively using other ISs 33 33

1 – Tier Architectures Mainframe-based and the system took place through dumb terminals Monolithic Information Systems Presentation, application logic, and resource management were merged into a single tier Many of these 'old' Systems are still in use! Due to its monolithic nature it did not provide an entry point from the outside except the channel to the dumb terminals Considered as ‘black box’ 34 34

Design of 1 – Tier Architecture Advantages: easy to optimise 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 documentation and qualified programmers lack of qualified programmers for these systems Client Presentation layer Application logic layer information system Resource management layer 35 35

2 - Tier Architectures fig 1.7 p.12 Client Presentation layer Information system Presentation layer fig 1.7 p.12 Resource management layer Application logic layer Server 36 36

2 - Tier Architectures Coming of PC was the real push to 2-tier architectures Separation of presentation layer from other 2 layers (app + resource) Client/server systems with thin clients/fat clients Use RPC (Remote Procedure Call) to communicate between tiers Need for standardisation for inter-tier communication Advantages portability no need for context switches or calls between component for key operations Disadvantages limited scalability legacy problems (blown up clients) 37 37

3 - Tier Architectures client presentation layer information system application logic layer information system middleware resource management layer 38 38

3 - Tier Architectures The former created islands of information where a set of clients could communicate with a server but not with other servers 3-tier made it technically possible to integrate different servers 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 integration of different resources 39 39

3 - Tier Architectures Advantages Disadvantages 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 40 40

3 - tier Architectures GUI clients C++, VB, Java Middleware Server information system client GUI clients C++, VB, Java presentation layer resource management layer application logic layer Middleware Server middleware Databases Legacy Systems 41 41

Middleware Middleware refers to the software which is common to multiple applications and builds on the network transport services to enable ready development of new applications and network services. 42

Middleware Links Applications Software that connects two otherwise separate applications Example: Middleware product linking a database system to a Web server Database Server: Manages Data Middleware Links Applications Web Server: Presents Dynamic Pages Client: Requests Data via Web