introduction to server client

Upload: gautam-priyadarshi

Post on 05-Apr-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Introduction to Server Client

    1/21

    An Introduction toClient/Server Architecture

    Dr. Farid Farahmand

  • 8/2/2019 Introduction to Server Client

    2/21

    A Brief History: Open Platform

    The good old daysOctopus-like mainframesOnly a few venders to choose fromFarms of disks where required

    Applications were specific for each machineOpen platformNew client/server architectureOpen system allowed mix-and-match

    Different application technologies could bepurchased from different vendersExamples: server platform, client platform,network protocols, middleware software, etc.

  • 8/2/2019 Introduction to Server Client

    3/21

    What is Client/Server (C/S)Computing

    It started as PCs became more powerfulPCs were no longer dumb terminals

    Provided an open and flexible environmentC/S is considered as a form of distributedsoftware

  • 8/2/2019 Introduction to Server Client

    4/21

    Distinct characteristics of C/SClient-server is a computing architecture which separates a client from aserverIt is almost always implemented over a computer networkThe most basic type of client-server architecture employs only twotypes 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 serviceClient is considered as the customer requesting the serviceThe server service can be shared among a number of clientsClients must request or initiate the serviceThe location of the server in the network is transparent to clientsTransaction between C/S is message-passing based

    C/S architecture is scalablehorizontally (more clients can added)Vertically (more servers can be added)

    The server is centrally maintained where as clients are independent of eachother

  • 8/2/2019 Introduction to Server Client

    5/21

    Systems with C/S ArchitectureFile servers

    File sharing and file processingData base servers

    Passing file resultsExample: Query in DBMS server Typically one single request/reply

    Transaction servers

    Transaction server includes DBMS and transaction monitoringServer has remote procedures run online by the clientweb servers

    Super-fat servers and thin clientsUses HTTP protocolJava was first to introduce interactive C/S forms

    Client

    Client

    Server

    Server

    Internet

    ClientJAVA

    ClientHTML

    Application

  • 8/2/2019 Introduction to Server Client

    6/21

    Client/Server ModelsWhere to push the application toFat clients

    The bulk of the application is running on the clientThe client knows how the data is organized and where it isDifferent clients access the same applications different ways

    Fat serversThe server more complicatedThe clients are less complexMore of the code runs on the serverThe network interaction is minimized

    ServerClient

    Application

  • 8/2/2019 Introduction to Server Client

    7/21

    Middleware SoftwareIt is the (/) between client and server which glues them together

    Allowing the client request for a service and the serverproviding it

    Middleware can also be between server/serverTwo broad classes

    GeneralLAN servers, TCP/IP, Communication stacks, Queuing services,etc.

    Application specificUsed to accomplish a specific taskGroupware specific: SMTPInternet specific: HTTPDatabase specific: SQL

  • 8/2/2019 Introduction to Server Client

    8/21

    Two-Tier vs. Three-Tier Architecture

    Same basic idea as fat-client versus fat-serverDepends on how the application is divided between the serverand the clientTwo-tier servers

    Examples: file servers and database server

    In this case the process (application logic) is buried withinthe client or server (or both)Three-tier servers

    Examples: Web and distributed objectsIn this case the process is run on the middle-tier

    separated from the user and data interfaceThey can integrate the data from multiple sourcesMore robust and more scalable

  • 8/2/2019 Introduction to Server Client

    9/21

    Client/Server Building Blocks

    PurposeHow to divide the applicationbetween the client and serverWhat are differentfunctionalities of client andserver

    Basic client server modelFits various applications

    Small officeSmall businessEnterpriseGlobal

    Client

    Server

    Server

    Client ServerMiddleware

    Single Machine

    Client Server

    Middleware

    Client Middleware

    C/SMiddleware

    C/S

    C/S

    C/S

  • 8/2/2019 Introduction to Server Client

    10/21

    Servers and Client Building Blocks

    Web Browser

    GUIDSM

    OS

    Service-Specific; DSMNOS (securit, peer-to-peer,directory, distributed files);

    Transport stack (TCP/IP)

    Web serverGroupware

    DMBSEtc.

    ClientMiddleware

    Server

    NOS=Network operating system

  • 8/2/2019 Introduction to Server Client

    11/21

    Server Scalability

    PC Server

    Asymmetric Multi-processing Superserver

    symmetric Multi-processing Superserver

    Multiservers

  • 8/2/2019 Introduction to Server Client

    12/21

    Server ScalabilitySuperserver

    A very powerful serverSingle-server or multiserverEach server can have a single processor or multiprocessorMultiprocessing can be Asymmetric or Symmetric

    MultiprocessingAsymmetric: each processor is dedicated to a specific taskFully symmetric (SMP): applications are divided into threads and threads are sent to availableprocessors

    Examples: 32-bit NT, Unix, NetWareRequires 3 basic functionalities:

    Global schedulingI/O sharing structureOS access sharing

    MultiserversPool of servers, providing more processing power (also called a cluster)They divide the task between different servers

    Server liteAs opposed to full blown serversProvides a background process on the client machine that can accept unsolicited networksrequest (refreshing database, synchronizing time, etc.)

  • 8/2/2019 Introduction to Server Client

    13/21

    OS WarsGeneral trends

    More powerful PCs (fat PCs, Network PCs, Multimedia PCs)Operating system applications

    Embedded devices (cell phones)ClientsSuper clientsServersSMP serversClusters

    OS playersDOS and Windows 3.x/95JAVA OSOS/2 Wrap

    NT/XP/2000/2003/VISTANetWare (Novells, poor application server, fast file server) UnixLinuxSpecialized parallel OS for clusters

  • 8/2/2019 Introduction to Server Client

    14/21

    Client/Server Networking Model

    Networking in Linux follows the client/server modelServer provides the resource (web server)Client talks to the server (browser, e-mail program)

    Server has a corresponding program thatcommunicates with the client (runs in thebackground)

    In Windows the server program called service In Linux the server program called daemon in Linux

  • 8/2/2019 Introduction to Server Client

    15/21

    UNIX/Linux

    UNIX was introduced in 1969Linux is from the early 1990s

    Based on MINIX

    Three basic componentsKernel central portion of OSFile system provides input and outputmechanisms

    Shell provides user interface

  • 8/2/2019 Introduction to Server Client

    16/21

    Linux Introduction

    Source code is freely availableDevelopers can make changes

    Available from a number of organizations(called disro)

    Red HatMandrake

    SuSe

  • 8/2/2019 Introduction to Server Client

    17/21

    Linux Resource

    List of Linux compatible hardware:http://www.linuxquestions.org/hcl/

    List of hardware issues and forums for Linuxhttp://www.linuxcompatible.org/

    Third-party utilities allowing Windows to read thedrives of a Linux installation on the same machinehttp://pro.mount-everything.com/ http://www.symantec.com/home_homeoffice/products/ overview.jsp?pcid=sp&pvid=pm80

    http://www.linuxquestions.org/hcl/http://www.linuxcompatible.org/http://pro.mount-everything.com/http://www.symantec.com/home_homeoffice/products/overview.jsp?pcid=sp&pvid=pm80http://www.symantec.com/home_homeoffice/products/overview.jsp?pcid=sp&pvid=pm80http://www.symantec.com/home_homeoffice/products/overview.jsp?pcid=sp&pvid=pm80http://www.symantec.com/home_homeoffice/products/overview.jsp?pcid=sp&pvid=pm80http://pro.mount-everything.com/http://pro.mount-everything.com/http://pro.mount-everything.com/http://www.linuxcompatible.org/http://www.linuxquestions.org/hcl/
  • 8/2/2019 Introduction to Server Client

    18/21

    Fedora LinuxTwo ways to obtain

    Installation CDDownload 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 imageFC-6-i386-disc1.iso

    When you have dowloaded the ISO images, you need to burn them on CD/DVDPopular Windows CD burning tools: http://iso.snoekonline.com/iso.htm You can also use CD BurnerXP Pro http://www.cdburnerxp.se/

    http://fedoraproject.org/wiki/Distribution/Downloadhttp://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/http://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/iso/http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/FC-6-i386-disc1.isohttp://iso.snoekonline.com/iso.htmhttp://www.cdburnerxp.se/http://www.cdburnerxp.se/http://iso.snoekonline.com/iso.htmhttp://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/FC-6-i386-disc1.isohttp://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/FC-6-i386-disc1.isohttp://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/FC-6-i386-disc1.isohttp://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/FC-6-i386-disc1.isohttp://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/FC-6-i386-disc1.isohttp://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/FC-6-i386-disc1.isohttp://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/FC-6-i386-disc1.isohttp://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/iso/http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/http://fedoraproject.org/wiki/Distribution/Download
  • 8/2/2019 Introduction to Server Client

    19/21

    Summary

    Got it?

  • 8/2/2019 Introduction to Server Client

    20/21

    Homework 1 LinuxMonday

    Visit Fedora Core Web cite. What is the latest version ofFedora?Burn a copy of Fedora Core 4 on CDs or DVD. You must havethis in order to install Linux on your machine You are notallowed to do the lab without your own CD.

    Search for Linux Commands and obtain a one or two-page longlist of some of Linux commands used with Fedora Core 4versionIn your own words, list 5-10 differences between Fedora Core 4and Fedora Core 7 version. You must tabulate your answer.

    Do a little research and briefly explain the sequence involved ininstalling Windows and Linux. What will you do if Windows isalready installed?NOTE: Submit a hardcopy only.

  • 8/2/2019 Introduction to Server Client

    21/21

    referenceshttp://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 ISDNLearn about 2-Tier and 3-Tier systems:http://www.sei.cmu.edu/str/descriptions/clientserver_body.html

    http://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.cisco.com/univercd/cc/td/doc/cisintwk/idg4/nd2011.htmhttp://www.sei.cmu.edu/str/descriptions/clientserver_body.htmlhttp://www.sei.cmu.edu/str/descriptions/clientserver_body.htmlhttp://www.cisco.com/univercd/cc/td/doc/cisintwk/idg4/nd2011.htmhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.htmlhttp://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-Basics.html