introduction to server client
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