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.