An introduction to client server architecture l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

An Introduction to Client/Server Architecture PowerPoint PPT Presentation


  • 170 Views
  • Uploaded on
  • Presentation posted in: General

An Introduction to Client/Server Architecture . Dr. Farid Farahmand. A Brief History: Open Platform . The good old days Octopus-like mainframes Only a few venders to choose from Farms of disks where required Applications were specific for each machine Open platform

Download Presentation

An Introduction to Client/Server Architecture

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


An introduction to client server architecture l.jpg

An Introduction to Client/Server Architecture

Dr. Farid Farahmand


A brief history open platform l.jpg

A Brief History: Open Platform

  • The good old days

    • Octopus-like mainframes

    • Only a few venders to choose from

    • Farms of disks where required

    • Applications were specific for each machine

  • Open platform

    • New client/server architecture

    • Open system allowed mix-and-match

      • Different application technologies could be purchased from different venders

      • Examples: server platform, client platform, network protocols, middleware software, etc.


What is client server c s computing l.jpg

What is Client/Server (C/S) Computing

  • It started as PCs became more powerful

    • PCs were no longer dumb terminals

  • Provided an open and flexible environment

  • C/S is considered as a form of distributed software


Distinct characteristics of c s l.jpg

Distinct characteristics of C/S

  • Client-server is a computing architecture which separates a client from a server

  • It is almost always implemented over a computer network

  • The most basic type of client-server architecture employs only two types of nodes: clients and servers.

    • This type of architecture is sometimes referred to as two-tier.

    • It allows devices to share files and resources.

  • Server provides the service

  • Client is considered as the customer requesting the service

  • The server service can be shared among a number of clients

  • Clients must request or initiate the service

  • The location of the server in the network is transparent to clients

  • Transaction between C/S is message-passing based

  • C/S architecture is scalable

    • horizontally (more clients can added)

    • Vertically (more servers can be added)

  • The server is centrally maintained where as clients are independent of each other


Systems with c s architecture l.jpg

Client

Server

Client

Systems with C/S Architecture

  • File servers

    • File sharing and file processing

  • Data base servers

    • Passing file results

    • Example: Query in DBMS server

    • Typically one single request/reply

  • Transaction servers

    • Transaction server includes DBMS and transaction monitoring

    • Server has remote procedures run online by the client

  • web servers

    • Super-fat servers and thin clients

    • Uses HTTP protocol

    • Java was first to introduce interactive C/S forms

Internet

Application

Client

HTML

Server

Client

JAVA


Client server models l.jpg

Client/Server Models

  • Where to push the application to

  • Fat clients

    • The bulk of the application is running on the client

    • The client knows how the data is organized and where it is

    • Different clients access the same applications different ways

  • Fat servers

    • The server more complicated

    • The clients are less complex

    • More of the code runs on the server

    • The network interaction is minimized

Application

Client

Server


Middleware software l.jpg

Middleware Software

  • It is the (/) between client and server which glues them together

    • Allowing the client request for a service and the server providing it

  • Middleware can also be between server/server

  • Two broad classes

    • General

      • LAN servers, TCP/IP, Communication stacks, Queuing services, etc.

    • Application specific

      • Used to accomplish a specific task

      • Groupware specific: SMTP

      • Internet specific: HTTP

      • Database specific: SQL


Two tier vs three tier architecture l.jpg

Two-Tier vs. Three-Tier Architecture

  • Same basic idea as fat-client versus fat-server

  • Depends on how the application is divided between the server and the client

  • Two-tier servers

    • Examples: file servers and database server

    • In this case the process (application logic) is buried within the client or server (or both)

  • Three-tier servers

    • Examples: Web and distributed objects

    • In this case the process is run on the middle-tier – separated from the user and data interface

    • They can integrate the data from multiple sources

    • More robust and more scalable


Client server building blocks l.jpg

Middle

ware

Client

Server

Client/Server Building Blocks

  • Purpose

    • How to divide the application between the client and server

    • What are different functionalities of client and server

  • Basic client server model

    • Fits various applications

      • Small office

      • Small business

      • Enterprise

      • Global

Single Machine

Middle

ware

Client

Server

Middle

ware

Client

Server

Server

Client

Middle

ware

C/S

C/S

C/S

C/S


Servers and client building blocks l.jpg

Servers and Client Building Blocks

Client

Server

Middleware

Web Browser

GUI

DSM

OS

Web server

Groupware

DMBS

Etc.

Service-Specific; DSM

NOS (securit, peer-to-peer,

directory, distributed files);

Transport stack (TCP/IP)

NOS=Network operating system


Server scalability l.jpg

PC Server 

Asymmetric Multi-

processing 

Superserver

symmetric Multi-

processing 

Superserver

Multiservers

Server Scalability


Server scalability12 l.jpg

Server Scalability

  • Superserver

    • A very powerful server

    • Single-server or multiserver

    • Each server can have a single processor or multiprocessor

    • Multiprocessing can be Asymmetric or Symmetric

  • Multiprocessing

    • Asymmetric: each processor is dedicated to a specific task

    • Fully symmetric (SMP): applications are divided into threads and threads are sent to available processors

      • Examples: 32-bit NT, Unix, NetWare

      • Requires 3 basic functionalities:

        • Global scheduling

        • I/O sharing structure

        • OS access sharing

  • Multiservers

    • Pool of servers, providing more processing power (also called a cluster)

    • They divide the task between different servers

  • Server lite

    • As opposed to full blown servers

    • Provides a background process on the client machine that can accept unsolicited networks request (refreshing database, synchronizing time, etc.)


  • Os wars l.jpg

    OS Wars

    • General trends

      • More powerful PCs (fat PCs, Network PCs, Multimedia PCs)

    • Operating system applications

      • Embedded devices (cell phones)

      • Clients

      • Super clients

      • Servers

      • SMP servers

      • Clusters

    • OS players

      • DOS and Windows 3.x/95

      • JAVA OS

      • OS/2 Wrap

      • NT/XP/2000/2003/VISTA

      • NetWare (Novell’s, poor application server, fast file server)

      • Unix

      • Linux

      • Specialized parallel OS for clusters


    Client server networking model l.jpg

    Client/Server Networking Model

    • Networking in Linux follows the client/server model

      • Server provides the resource (web server)

      • Client talks to the server (browser, e-mail program)

    • Server has a corresponding program that communicates with the client (runs in the background)

      • In Windows the server program called service

      • In Linux the server program called daemon in Linux


    Unix linux l.jpg

    UNIX/Linux

    • UNIX was introduced in 1969

    • Linux is from the early 1990s

      • Based on MINIX

    • Three basic components

      • Kernel – central portion of OS

      • File system – provides input and output mechanisms

      • Shell – provides user interface


    Linux introduction l.jpg

    Linux Introduction

    • Source code is freely available

      • Developers can make changes

    • Available from a number of organizations (called disro)

      • Red Hat

      • Mandrake

      • SuSe


    Linux resource l.jpg

    Linux Resource

    • List of Linux compatible hardware:

      • http://www.linuxquestions.org/hcl/

    • List of hardware issues and forums for Linux

      • http://www.linuxcompatible.org/

    • Third-party utilities allowing Windows to read the drives of a Linux installation on the same machine

      • http://pro.mount-everything.com/

      • http://www.symantec.com/home_homeoffice/products/overview.jsp?pcid=sp&pvid=pm80


    Fedora linux l.jpg

    Fedora Linux

    • Two ways to obtain

      • Installation CD

      • Download and burn your own CD – Read to see how to burn a DVD

        • http://fedoraproject.org/wiki/Distribution/Download

    • Obtain a copy

      • http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/

      • http://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/iso/

    • Fedora core 6, i386 Intel x86 processor compatible, first CD – ISO image

      • FC-6-i386-disc1.iso

    • When you have dowloaded the ISO images, you need to burn them on CD/DVD

      • Popular Windows CD burning tools: http://iso.snoekonline.com/iso.htm

      • You can also use CD BurnerXP Pro http://www.cdburnerxp.se/


    Summary l.jpg

    Summary

    • Got it?


    Homework 1 linux monday l.jpg

    Homework 1 – LinuxMonday

    • Visit Fedora Core Web cite. What is the latest version of Fedora?

    • Burn a copy of Fedora Core 4 on CDs or DVD. You must have this in order to install Linux on your machine – You are not allowed to do the lab without your own CD.

    • Search for Linux Commands and obtain a one or two-page long list of some of Linux commands used with Fedora Core 4 version

    • In your own words, list 5-10 differences between Fedora Core 4 and Fedora Core 7 version. You must tabulate your answer.

    • Do a little research and briefly explain the sequence involved in installing Windows and Linux. What will you do if Windows is already installed?

    • NOTE: Submit a hardcopy only.


    References l.jpg

    references

    • http://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.html

    • http://www.cisco.com/univercd/cc/td/doc/cisintwk/idg4/nd2011.htm on ISDN

    • Learn about 2-Tier and 3-Tier systems: http://www.sei.cmu.edu/str/descriptions/clientserver_body.html


  • Login