CT053-3-1
Fundamentals of Web Design and
Development
Client Server Architecture
Client Server Model
• Client/server Model:
– Describes the relationship between two computer
programs - the client, makes a service request from
another program, the server, which fulfills the request.
• Deployed on a network.
• Specific types of servers include web servers,
application servers, file servers, terminal
servers, and mail servers. While their purposes
vary somewhat, the basic architecture remains
the same.
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Client Client
host host
Server
host
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Client Server Model
Machine requests account balance
Network returns value
ATM Machine Bank Network
A simplified transaction between a client and server
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Client-server vs. Peer-to-peer
“I want to
collaborate
with my
colleague”
“I want to access
some information”
Client
Server Peer-to-peer
Client/server
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Client-server vs. Peer-to-peer
• Client-server
– Asymmetric relationship
– Client predominately makes requests, server
makes replies
• Peer-to-peer
– Symmetric relationship
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Three-tier Client/ Server
Local-area network
Application
logic
Presentation
Note: many clients per Shared
application server, several data
application servers per data server
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Client Server Architecture
• The Internet is an example of a client-server
environment
• Relative to the Internet, your Web browser is a client
program that requests services (the sending of Web
pages or files) from a Web server.
• The server is another computer on the Internet
• The client-server environment has replaced the
monolithic mainframe based environment (or Peer-to-
Peer Model), whereby machines were dumb terminals
connected to a mainframe.
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Client Server Architecture
• A generic client/server architecture has two types of nodes on
the network: clients and servers. These generic architectures
are referred to as "two-tier" architectures.
• Some networks will consist of three different kinds of nodes:
i. client (user interface),
ii. application servers (a software engine that delivers
applications to client computers or devices and process data
for the clients) and
iii. database servers (store data for the application servers). This
configuration is called a “three-tier” architecture (or 3-layer
architecture).
• "Three-tier" is maintained as independent modules.
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
The Client-Server Architecture
The 3-Tier architecture has the
following 3-tiers (or 3-layer):
1. Presentation Tier
2. Application Tier/Logic
Tier/Business Logic Tier
3. Data Tier
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
The Client-Server Architecture
Local-area network
Application
logic
Presentation
Note: many clients per Shared
application server, several data
application servers per data server
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
The Client-Server Architecture –
Web Application Example
logic layer
presentation layer
?
http/https Web
Server data layer
front-end
back-end
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Characteristics of Client-Server
• Characteristics of a server:
– Passive (slave)
– Waits for requests
– Upon receipt of requests, processes them and then
serves replies
• Characteristics of a client:
– Active (master)
– Sends requests
– Waits for and receives server replies
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Advantages of Client Server
Model
• Advantages:
– All the data are stored at the servers - better security
– Control ability.
– The server can control access to make sure only let permitted users
access and change data.
– More flexible than P2P paradigm for updating the data.
– Already many matured technologies designed for client-server
– model which ensures security.
– User-friendliness of the interface and ease of use.
– Any element of a client-server network can be easily upgraded
(Scalable)
– Coupled with wireless technologies is possible
– Centralized – makes data management controllable.
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Disadvantages of Client Server
Model
• Disadvantages:
– Traffic congestion
– When a large number of clients send requests to the
same server at the same time, it might cause a lot of
troubles for the server.
– When the server is down, clients requests cannot be
fulfilled. In most of P2P networks, resources are
usually located on nodes all over the network. Even if
one or a few nodes depart or abandon the
downloading, other nodes can still finish the
downloading by getting data from the rest of the
nodes in the network.
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Advantages and Disadvantages
of 3-Tier architecture
• The advantage of an n-tier architecture compared with a
two-tier architecture (or a three-tier with a two-tier):
– n-tier architecture separates out the processing that occurs to
better balance the load on the different servers.
– More scalable.
• The disadvantages of n-tier architectures are:
– Puts more load on the network.
– More difficult to program and test software than in two-tier
architecture because more devices have to communicate to
complete a user's transaction.
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Web Hosting
• A web hosting service is a type of Internet
hosting service that allows individuals and
organizations to make their website
accessible via the World Wide Web.
• Web hosts are companies that provide
space on a server owned or leased for use
by clients, as well as providing Internet
connectivity, typically in a data center.
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Free vs. Paid Web Hosting
Criteria Free Paid
Uniqueness provide a domain address that provide a personalized domain
has their company's name name, creating a unique identity
included in the URL for businesses online
Reliability do not offer the same uptime guarantee 99 percent uptime
like paid web hosting companies
Search Engine Rankings frowned upon by search higher search engine rankings
engines and contribute to lower and better online visibility
search engine rankings
Bandwidth & Storage provide limited bandwidth and give the freedom for businesses
storage space to choose from a variety of
packages, with different
bandwidth and storage space
Support & Assistance do not provide immediate 24/7 technical support via
support in case of any technical phone, email or chat, promising
glitches peace of mind even during a
crisis
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Factors in choosing a Web
Hosting
• Operating System
• Scripting languages
• Databases
• Single / Multiple domain support
• Price
• Space
• Bandwidth
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Web Hosting Capacities
• How much disk space ?
• It depends on the need and the content of
the website
• Small or medium website will need
between 10MB to 100MB
• Average size of HTML files are very small,
not even 1 KB, the bigger size come from
images (button, banner, etc.)
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Web Hosting Capacities
• Monthly Traffic
– A small or medium website will consume between 1
to 5 GB of data transfer per month.
– Average page size X number of expected page view
per month.
• Example :
– Average page size 30KB
– 50,000 pages view per month
– Bandwidth = 0.03MB X 50,000 = 1.5 GB
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Web Hosting Technology
• Windows Hosting
– hosting of web services that runs on the Windows operating
system
– Choose this hosting if you plan to use any other Microsoft
software for your server
– Unix Hosting
– hosting of web services that runs on the Unix operating system.
• Unix
– Was the first (original) web server operating system, and it is
known for being reliable and stable.
– Often less expensive than Windows.
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture
Q&A
CT053-3-1 Fundamentals of Web Design and Development Client Server Architecture