Presentation on theme: "An Introduction to Client/Server Architecture"— Presentation transcript:
1 An Introduction to Client/Server Architecture Dr. Farid Farahmand
2 A Brief History: Open Platform The good old daysOctopus-like mainframesOnly a few venders to choose fromFarms of disks where requiredApplications were specific for each machineOpen platformNew client/server architectureOpen system allowed mix-and-matchDifferent application technologies could be purchased from different vendersExamples: server platform, client platform, network protocols, middleware software, etc.
3 What is Client/Server (C/S) Computing It started as PCs became more powerfulPCs were no longer dumb terminalsProvided an open and flexible environmentC/S is considered as a form of distributed software
4 Distinct characteristics of C/S Client-server is a computing architecture which separates a client from a serverIt is almost always implemented over a computer networkThe 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 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 basedC/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 each other
5 Systems with C/S Architecture File serversFile sharing and file processingData base serversPassing file resultsExample: Query in DBMS serverTypically one single request/replyTransaction serversTransaction server includes DBMS and transaction monitoringServer has remote procedures run online by the clientweb serversSuper-fat servers and thin clientsUses HTTP protocolJava was first to introduce interactive C/S formsClientServerInternetApplicationClientHTMLServerClientJAVA
6 Client/Server Models Where to push the application to Fat 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 waysFat serversThe server more complicatedThe clients are less complexMore of the code runs on the serverThe network interaction is minimizedApplicationClientServer
7 Middleware SoftwareIt is the (/) between client and server which glues them togetherAllowing the client request for a service and the server providing itMiddleware can also be between server/serverTwo broad classesGeneralLAN servers, TCP/IP, Communication stacks, Queuing services, etc.Application specificUsed to accomplish a specific taskGroupware specific: SMTPInternet specific: HTTPDatabase specific: SQL
8 Two-Tier vs. Three-Tier Architecture Same basic idea as fat-client versus fat-serverDepends on how the application is divided between the server and the clientTwo-tier serversExamples: file servers and database serverIn this case the process (application logic) is buried within the client or server (or both)Three-tier serversExamples: 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
9 Client/Server Building Blocks MiddlewarePurposeHow to divide the application between the client and serverWhat are different functionalities of client and serverBasic client server modelFits various applicationsSmall officeSmall businessEnterpriseGlobalSingle MachineMiddlewareClientServerMiddlewareClientServerServerClientMiddlewareC/SC/SC/SC/S
10 Servers and Client Building Blocks MiddlewareWeb BrowserGUIDSMOSWeb serverGroupwareDMBSEtc.Service-Specific; DSMNOS (securit, peer-to-peer,directory, distributed files);Transport stack (TCP/IP)NOS=Network operating system
11 Server Scalability PC Server Asymmetric Multi- processing Superserversymmetric Multi-Multiservers
12 Server Scalability Superserver Multiprocessing Multiservers A very powerful serverSingle-server or multiserverEach server can have a single processor or multiprocessorMultiprocessing can be Asymmetric or SymmetricMultiprocessingAsymmetric: each processor is dedicated to a specific taskFully symmetric (SMP): applications are divided into threads and threads are sent to available processorsExamples: 32-bit NT, Unix, NetWareRequires 3 basic functionalities:Global schedulingI/O sharing structureOS access sharingMultiserversPool of servers, providing more processing power (also called a cluster)They divide the task between different serversServer liteAs opposed to full blown serversProvides a background process on the client machine that can accept unsolicited networks request (refreshing database, synchronizing time, etc.)
13 OS Wars General trends Operating system applications OS players More powerful PCs (fat PCs, Network PCs, Multimedia PCs)Operating system applicationsEmbedded devices (cell phones)ClientsSuper clientsServersSMP serversClustersOS playersDOS and Windows 3.x/95JAVA OSOS/2 WrapNT/XP/2000/2003/VISTANetWare (Novell’s, poor application server, fast file server)UnixLinuxSpecialized parallel OS for clusters
14 Client/Server Networking Model Networking in Linux follows the client/server modelServer provides the resource (web server)Client talks to the server (browser, program)Server has a corresponding program that communicates with the client (runs in the background)In Windows the server program called serviceIn Linux the server program called daemon in Linux
15 UNIX/Linux UNIX was introduced in 1969 Linux is from the early 1990s Based on MINIXThree basic componentsKernel – central portion of OSFile system – provides input and output mechanismsShell – provides user interface
16 Linux Introduction Source code is freely available Developers can make changesAvailable from a number of organizations (called disro)Red HatMandrakeSuSe
17 Linux Resource List of Linux compatible hardware: List of hardware issues and forums for LinuxThird-party utilities allowing Windows to read the drives of a Linux installation on the same machine
18 Fedora Linux Two ways to obtain Obtain a copy Installation CDDownload and burn your own CD – Read to see how to burn a DVDObtain a copyFedora core 6, i386 Intel x86 processor compatible, first CD – ISO imageFC-6-i386-disc1.isoWhen you have dowloaded the ISO images, you need to burn them on CD/DVDPopular Windows CD burning tools:You can also use CD BurnerXP Pro
20 Homework 1 – Linux Monday 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 versionIn 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.
21 referenceson ISDNLearn about 2-Tier and 3-Tier systems:
Your consent to our cookies if you continue to use this website.