0% found this document useful (0 votes)
81 views

PT 06 - Client Server Architecture

Client/server computing is a network architecture where each computer or process acts as either a client or server. Clients are applications that rely on servers for resources like files, devices, and processing power. Servers manage these network resources. The client/server model separates functions so clients handle presentation and servers handle data management, providing an open and flexible computing environment.

Uploaded by

Ninyalobelya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views

PT 06 - Client Server Architecture

Client/server computing is a network architecture where each computer or process acts as either a client or server. Clients are applications that rely on servers for resources like files, devices, and processing power. Servers manage these network resources. The client/server model separates functions so clients handle presentation and servers handle data management, providing an open and flexible computing environment.

Uploaded by

Ninyalobelya
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

6/1/2014

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
Client/Server software
Architecture

Client Server Architecture Components

• A network • Clients
architecture in • Servers
which each • Communication Networks
computer or
process on the
network is either a
client or a server. Server

Source: http://webopedia.lycos.com
Client

Clients Servers

• Applications that run on computers • Computers or processes that manage network


• Rely on servers for resources Servers Manage
– Files Clients are Applications – Disk drives (file servers) Resources
– Devices – Printers (print servers)
– Processing power – Network traffic (network servers)
• Example: E-mail client • Example: Database Server
– An application that enables you to send and – A computer system that processes database
receive e-mail queries

1
6/1/2014

Communication Networks Client–Server Computing

Networks Connect • Process takes place


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

Application Functions Application Components

• Software application 3 Data Management


2 Client Types

functions are separated 2 Application Logic Fat


into three distinct parts Thin Client
1 Presentation Client
3 Logical Tiers

Server:
Data Management
Database Applications:
Most common use of client-server architectures
Client: Presentation & Application Logic

Middleware Types of Servers

From A to Z
• Software that connects two
otherwise separate applications
• Application Servers • List Servers
• Example: Middleware product Database Server:

linking a database system to a Web


Manages Data • Audio/Video Servers • Mail Servers
server • Chat Servers • News Servers
Middleware Links • Fax Servers • Proxy Servers
Applications
• FTP Servers • Telnet Servers
• Groupware Servers • Web Servers
Web Server: • IRC Servers • Z39.50 Servers
Presents Dynamic Pages
Source: http://webopedia.lycos.com
Client: Requests Data via Web

2
6/1/2014

Distinct characteristics of C/S


A Brief History: Open Platform

• The good old days – Client-server is a computing architecture which separates a client from a
server
– Octopus-like mainframes – It is almost always implemented over a computer network
– Only a few venders to choose from – The most basic type of client-server architecture employs only two types of
nodes: clients and servers.
– Farms of disks where required • This type of architecture is sometimes referred to as two-tier.
– Applications were specific for each machine • It allows devices to share files and resources.
– Server provides the service
• Open platform – Client is considered as the customer requesting the service
– New client/server architecture – The server service can be shared among a number of clients
– Open system allowed mix-and-match – Clients must request or initiate the service
– The location of the server in the network is transparent to clients
• Different application technologies could be purchased from
different venders – Transaction between C/S is message-passing based
– C/S architecture is scalable
• Examples: server platform, client platform, network protocols, • horizontally (more clients can added)
middleware software, etc. • Vertically (more servers can be added)
– The server is centrally maintained where as clients are independent of each
other

Systems with C/S Architecture Client/Server Models

• File servers • Where to push the application to


– File sharing and file processing Client • Fat clients
• Data base servers
– Passing file results
Server – The bulk of the application is running on the client
– Example: Query in DBMS server – The client knows how the data is organized and where it is
Client
– Typically one single request/reply – Different clients access the same applications different ways
• Transaction servers • Fat servers
– Transaction server includes DBMS and transaction monitoring
– Server has remote procedures run online by the client – The server more complicated
• web servers – The clients are less complex
– Super-fat servers and thin clients – More of the code runs on the server
– Uses HTTP protocol – The network interaction is minimized
– Java was first to introduce interactive C/S forms
Application
Client Internet
HTML
Server Application Client
Server
Client
JAVA

Middleware Software Two-Tier vs. Three-Tier Architecture

• It is the (/) between client and server which glues them • Same basic idea as fat-client versus fat-server
together • Depends on how the application is divided between the server and the
client
– Allowing the client request for a service and the server
• Two-tier servers
providing it
– Examples: file servers and database server
• Middleware can also be between server/server – In this case the process (application logic) is buried within the
• Two broad classes client or server (or both)
– General • Three-tier servers
• LAN servers, TCP/IP, Communication stacks, Queuing services, etc. – Examples: Web and distributed objects
– Application specific – In this case the process is run on the middle-tier – separated from
• Used to accomplish a specific task the user and data interface
• Groupware specific: SMTP – They can integrate the data from multiple sources
• Internet specific: HTTP – More robust and more scalable
• Database specific: SQL

3
6/1/2014

Client/Server Building Blocks Servers and Client Building Blocks

• Purpose Middle
ware
Client Server
– How to divide the Client Server
application between the Single Machine Middleware
client and server Web Browser Web server
Middle Service-Specific; DSM
ware GUI Groupware
– What are different Client Server DSM
NOS (securit, peer-to-peer,
directory, distributed files); DMBS
functionalities of client and OS Etc.
server Transport stack (TCP/IP)
Client Middle Server
• Basic client server model ware

– Fits various applications NOS=Network operating system


Server
• Small office Client

• Small business
• Enterprise Middle C/S
C/S ware
• Global
C/S
C/S

Server Scalability Server Scalability


• Superserver
– A very powerful server
– Single-server or multiserver
– Each server can have a single processor or multiprocessor
PC Server  – Multiprocessing can be Asymmetric or Symmetric
• Multiprocessing
Asymmetric Multi-
• Asymmetric: each processor is dedicated to a specific task
processing 
• Fully symmetric (SMP): applications are divided into threads and threads are sent
Superserver to available processors
– Examples: 32-bit NT, Unix, NetWare
– Requires 3 basic functionalities:
symmetric Multi- » Global scheduling
processing  » I/O sharing structure
» OS access sharing
Superserver
• Multiservers
– Pool of servers, providing more processing power (also called a cluster)
Multiservers – 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 Client/Server Networking Model


• General trends
– More powerful PCs (fat PCs, Network PCs, Multimedia PCs)
• Operating system applications
• Networking in Linux follows the client/server model
– Embedded devices (cell phones) – Server provides the resource (web server)
– Clients
– Client talks to the server (browser, e-mail program)
– Super clients
– Servers • Server has a corresponding program that communicates with
– SMP servers the client (runs in the background)
– Clusters
• OS players – In Windows the server program called service
– DOS and Windows 3.x/95 – In Linux the server program called daemon in Linux
– 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

4
6/1/2014

UNIX/Linux Linux Introduction

• UNIX was introduced in 1969


• Source code is freely available
• Linux is from the early 1990s
– Developers can make changes
– Based on MINIX
• Three basic components • Available from a number of organizations
– Kernel – central portion of OS (called disro)
– File system – provides input and output – Red Hat
mechanisms – Mandrake
– Shell – provides user interface – SuSe

Linux Resource Fedora Linux

• List of Linux compatible hardware: • Two ways to obtain


– Installation CD
– http://www.linuxquestions.org/hcl/ – Download and burn your own CD – Read to see how to burn a DVD
• List of hardware issues and forums for Linux • http://fedoraproject.org/wiki/Distribution/Download
• Obtain a copy
– http://www.linuxcompatible.org/ – http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/iso/
• Third-party utilities allowing Windows to read the drives of a – http://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/iso/
• Fedora core 6, i386 Intel x86 processor compatible, first CD – ISO image
Linux installation on the same machine – FC-6-i386-disc1.iso
– http://pro.mount-everything.com/ • 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
– http://www.symantec.com/home_homeoffice/products/overvi – You can also use CD BurnerXP Pro http://www.cdburnerxp.se/
ew.jsp?pcid=sp&pvid=pm80

Homework 1 – Linux
Monday
references

• Visit Fedora Core Web cite. What is the latest version of Fedora? • http://www.nakov.com/inetjava/lectures/part-1-sockets/InetJava-1.1-Networking-
Basics.html
• 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 • http://www.cisco.com/univercd/cc/td/doc/cisintwk/idg4/nd2011.htm on ISDN
without your own CD. • Learn about 2-Tier and 3-Tier systems:
http://www.sei.cmu.edu/str/descriptions/clientserver_body.html
• 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.

You might also like