SlideShare a Scribd company logo
1 of 49
1
Chapter 2. Network Applications
Business Data Communications and
Networking Fitzgerald and Dennis,
7th Edition
Copyright © 2002 John Wiley & Sons, Inc.
2
Chapter 2. Learning Objectives
• Understand host-based, client-based and
client-server architectures
• Understand how the Web works
• Understand how e-mail works
• Be aware of how FTP, Telnet and Instant
Messaging work
3
Chapter 2. Outline
• Introduction
• Application Architectures
– Host-Based, Client-Based and Client-Server
Architectures, Choosing Architectures
• World Wide Web
– How the Web Works, Inside an HTTP Request & HTTP
Response
• Electronic Mail
– How E-Mail Works, Inside an SMTP Packet
– Listserv, Attachments in MIME
• Other Applications
– Ftp, Telnet, Instant Messaging, Videoconferencing
4
Application Architectures
5
Application Architectures
• Application programs can be thought of as being
made up of four functions:
– Data storage
– Data access logic
– Application logic
– Presentation logic
• Application architectures are determined by how these
functions are split between clients and servers.
• Three basic application architectures are in use today:
– Host-based Architectures
– Client-based architectures
– Client-server architectures
6
Host-based Architectures
• The first application architecture to be
developed was the host-based.
• The ‘server in host-based architectures, usually
a mainframe, performs all four functions.
• The client, usually a terminal or a PC running a
terminal emulation program captures key
strokes which are sent to the mainframe and
displays information according to the server’s
instructions (Figure 2-1)
7
Figure 2-1 Host-Based Architectures
8
Host-based Architectures
• There are two main problems with host-based
architectures:
– Since all processing is by the host, the host
becomes a bottleneck which can severely limit
network performance.
– Upgrades are typically expensive and “lumpy”,
meaning available upgrades require big jumps in
processing and memory. Network demand grows
more incrementally, so this often means a poor fit
(too much or too little) between host performance
and network demand.
9
Client-Based Architectures
• Client-based architectures became important in
the late 1980s with the widespread use of PCs,
local area networks and low-cost, PC-based
application programs such as spreadsheets and
word processors.
• In client-based architectures, application
programs on the clients are responsible for the
data access, application and presentation logic.
• The server is responsible for data storage only
(Figure 2-2).
10
Figure 2-2 Client-Based Architectures
11
Client-Based Architectures
• The main problem with Client-based
architectures is in the need for all of the data
travel back and forth between server and client.
• For example, if the client program is making a
database query, the entire database must travel
to the client before the query can be processed.
• The result can be poor network performance
because of the bottleneck created by constantly
sending large files back and forth over the
network.
12
Client-Server Architectures
• In client-server architectures the application
program functions are divided up between
clients and servers.
• The client takes care of the presentation logic
• The server handles data storage and data access
logic.
• Application logic may reside on the client,
server or be split up between the two.
• Most networks today use a client-server
architecture (Figure 2-3 shows an example).
13
Figure 2-3 Client-Server Architectures
14
Client-Server Architectures
• Client-server architectures are more efficient since
they distribute processing between client and server.
• Another strength is that they allow hardware and
software from different servers to be used together.
• This is also a weakness, since it is sometimes difficult
to get software from different vendors to work
together smoothly.
• For this reason, a third category of software, called
Middleware was developed.
15
Middleware
• Middleware provides an interface for allowing client
application programs to interact with server
application programs.
• Middleware has two main functions:
– Providing a standard way of translating between software
from different vendors.
– Manage message transfer between client and server, thus
insulating network changes (such as adding a new server)
from the clients.
• Two of the most important middleware standards are:
Distributed Computing Environment (DCE) and
Common Object Request Broker Architecture
(CORBA).
16
Two-tier, Three-tier and N-tier
Architectures
• Figure 2-3 gives an example of a 2-tier client-server
architecture.
• In a three-tier architecture the application program
logic is split up between three computers. For
example (see Figure 2-4),
– the client handles the presentation logic
– an application server handles the application logic
– A database server handles the data storage and data access
logic.
• In an N-tier architecture more than three sets of
computers are used (see Figure 2-5).
17
Figure 2-4 A Three-tier Architecture
18
Figure 2-5 An N-tier Architecture
19
Two-tier, Three-tier and N-tier
Architectures
• The primary advantage of N-tier architectures is in
distributing the application logic between several
servers makes load balancing possible, so that
demand for processing is more evenly distributed
between the servers.
• N-tiered architectures are also more easily scalable,
since only servers experiencing high demand, such as
the application server, need be upgraded.
• The primary disadvantage is that more distributed
processing means a more heavily loaded network.
• It is also more difficult to program and test an N-tier
architecture due to its increased complexity.
20
Thin versus Fat Clients
• Thin and Fat (or thick) clients describe how much of
the application logic resides on the client.
– Little or no application logic resides on a thin client
– All or most of the application logic resides on a fat client
• Thin clients are becoming popular because they are
easier to manage, since only the server application
logic generally needs to be updated.
• The best example of a thin client is World Wide Web
architecture which uses a two-tier, thin client
architecture (Figure 2-6).
21
Figure 2-6 Web Architecture
22
Choosing An Architecture
• Often, the application architecture is given, so no
decision has to be made. When it is not, three
important criteria for choosing an architecture are:
– Cost of Infrastructure: mainframes are expensive, which
is why client-based and client-server architectures have
become popular.
– Cost of Development: because software is expensive to
develop, client-based and client-server architectures that use
off-the-shelf software tend to be much cheaper than
software solutions that require in-house development.
– Scalability refers to the ability to increase (or decrease) in
computing capacity as network demand changes. Client-
server architectures are the most scalable since both clients
and servers can be added to meet network needs.
23
Host-Based Client-Based Client-Server
Cost of
Infrastructure
High Medium Low
Cost of
Development
Low Medium High
Scalability Low Medium High
Figure 2-7 Choosing an Architecture
24
The World Wide Web
25
Origin of the World Wide Web
• Invented in 1989 by Tim Berners-Lee at the Centre
Européan pour Rechèrche Nucleaire (CERN) in
Geneva.
• Two central WWW ideas are hyperlinks and Uniform
Resource Locators (URLs).
• Marc Andressen, who later founded Netscape, wrote
the first web reader (browser) to gain widespread use
in 1993, called Mosaic at the Nat’l Center for
Supercomputing Applications (NCSA).
26
How the Web works (Figure 2-8)
• Based on a Client-Server architecture
• The main Web communications protocol is Hypertext
Transfer Protocol.
• Web clients (Browsers) make HTTP requests to Web
Servers. Web Servers answer with HTTP responses
• Clicking on a hyperlink or typing a URL into a
browsers starts a request-response cycle.
• An HTTP Request-response cycle can have multiple
steps since many web pages often embedded files,
such as graphics, each requiring a separate response.
27
Client computer
with
Web Browser
software
Server computer with
Web Server
software
HTTP Request
HTTP Response
Figure 2-8 How the Web Works
28
HTTP Requests have 3 parts:
• Request line (required): starts with a command
and URL and ends with the http version number.
• Request header (optional): contains information
on the browser, date, and the referring page from
which the request originated. If the user types in
the URL by themselves, then the referring page is
blank.
• Request body (optional): contains information
sent to the server, such as from a form.
29
Figure 2-9 Example of an HTTP
Request from a Web browser
GET http://www.kelley.indiana.edu/ardennis/home.htm HTTP/1.1
Date: Mon 06 Aug 2001 17:35:46 GMT
User-Agent: Mozilla/6.0
Referer: http://www.indiana.edu/~aisdept/faculty.htm Request Header
]- Request
Line
]- Date
]- Web browser (this is Netscape)
Command URL HTTP version
URL that contained the link to the requested URL
30
HTTP Responses also have 3 parts:
• Response status (optional): http version number,
status code (e.g., 200 = ok, 404 = page not found)
and “reason” phrase (description of status code).
• Response header (optional): contains information on
the server, date, exact URL of the retreived page and
format used for the body of the response (e.g., html).
• Response body (required): contains the requested
Web page.
31
Figure 2-10 Example of an HTTP
response from a Web server
HTTP/1.1 200 OK ]- Response Status
Date: Mon 06 Aug 2001 17:35:46 GMT ]- Date
Server: NCSA/1.3 ]- Web server
Location: http:// www.kelley.indiana.edu/adennis/home.htm ]- URL
Content-type: text/html]- Type of file
<html>
<head>
<title>Allen R. Dennis</title>
</head>
<body>
<H2> Allen R. Dennis </H2>
<P>Welcome to the home page of Allen R. Dennis</P>
</body>
</html>
HTTP ver. Status code Reason
Response Header
Response
Body
32
Hypertext Markup Language (HTML)
• Web pages are formatted using another protocol,
usually HTML, also developed at CERN.
• HTML documents include information on how to
format the file imbedded in the document called tags.
• HTML was initially developed for text files, not
multimedia files. This is limitation is why HTML
extensions have been created.
• And also why other markup language formats have
been created, such as Extensible Markup Language
(XML).
33
Electronic Mail
34
Electronic Mail
• Still the most heavily used Internet
application because:
– It’s much, much faster than regular mail.
– It’s extremely inexpensive.
– It can substitute for other forms of
communication, such as telephone calls.
– E-mail users don’t have to play “telephone tag”,
since the respondent can answer at his/her
convenience, instead of time of call.
35
E-mail standards
• Simple Mail Transfer Protocol (SMTP): part
of the TCP/IP protocol suite.
• SMTP is the main e-mail standard for mail
transfer agents in use today, but was written
to only handle text files.
• SMTP is usually implemented using a two-
tier client-server architecture.
• Two other competing standards for e-mail
are Common Messaging Calls (CMC) and
X.400.
36
Two-Tier E-mail Architecture
• SMTP’s uses two types of programs:
• User agents, also called e-mail clients, are
programs running on client computers that send e-
mail to e-mail servers and download e-mail from
mailboxes on those servers.
– Examples: Eudora, Outlook.
• Mail transfer agents, also called mail server
software, are used by e-mail servers, send e-mail
through the Internet between e-mail servers and
maintains individual mailboxes.
– Post Office Protocol (POP) & Internet Mail Access
Protocol (IMAP) are the main protocols for user agent
to mail server communications.
37
Sending An E-mail Message (Figure 2-11)
• When completed, an e-mail message is sent by the
sender’s e-mail client as an SMTP packet to the
local mail server.
• The mail server’s message transfer agent next
reads the packet’s destination address and sends it
over the Internet to the receiver’s mail server.
• The destination mail transfer agent then stores the
message in the receiver’s mail box.
• When the receiver next accesses e-mail, his or her
user agent contacts the local mail server which
then downloads the message to the receiver’s
client computer.
38
Client computer with
e-mail client
software
(“user agent”)
Server computer with
e-mail server
software
(“message transfer
agent”)
SMTP packet
SMTP packet
LAN
Client computer with
e-mail client
software
(“user agent”)
Server computer with
e-mail server
software
(“message transfer
agent”)
SMTP packet
LAN
SMTP packet
IMAP or
SMTP packet
Internet
Figure 2-11 How SMTP works
39
Three-Tier Client-Server Architecture
(Figure 2-12)
• Reading e-mail using a Web-based
interface, such as Hotmail, uses a three-tier
architecture. The three tiers are:
– The client’s web browser that sends HTTP
requests to the Web server.
– The Web server: 1) sends HTTP responses to
the Web client and 2) translates the client’s
HTTP requests into SMTP packets which are
then sent to the Mail server.
– The Mail server performs the same functions as
the mail server in the two-tier example.
40
Client computer with
Web browser
Server computer with
Web server
software
HTTP request
SMTP packet
LAN
LAN
Internet
Server computer
with mail server
software
Figure 2-12 How
Web-based e-mail works
Client computer with
Web browser
Server computer with
Web server software
Server computer with
mail server
software
SMTP packet
HTTP request
HTTP response
SMTP packet
IMAP packet
HTTP response
IMAP or
SMTP packet
41
Simple Mail Transfer Protocol
• SMTP E-mail messages have the following
structure:
– Header: lists source and destination addresses,
date, subject and other information about the e-
mail message.
– Body: the message itself
– Attachments: additional files that have been
included along with the e-mail message.
42
Figure 2-13 Sample E-mail
Message using SMTP
From: “Alan Dennis;”<adennis@indiana.edu>
TO: “Pat Someone” <someone@somewhere.com>
Date: Mon 06 Aug 2001 19:03:02 GMT
Subject: Sample Note
Message-Id:
<4.1.20000623164823.009f5e80@IMAP.IU.EDU>
DATA:
This is an example of an e-mail message
Message
header
Message
body
43
Attachments in MIME
• Since SMTP was developed for transferring text files,
special techniques needed to be developed to send
graphical information.
• Graphics capable mail transfer agent protocols include
MIME (Multipurpose Internet Mail Extension),
uuencode and binhex.
• Included as part of an e-mail client, MIME translates
graphical information into text allowing the graphic to
be sent as part of an SMTP message.
• The receiver’s e-mail client then translates the MIME
attachment from text back into graphical format.
44
Other Applications
45
File Transfer Protocol (FTP) and Telnet
• FTP enables sending and receiving files
over the Internet.
• Telnet allows remote logins over the
Internet.
• Both were much more commonly used
during the pre-WWW days of the Internet.
• FTP still commonly used today for
uploading web pages.
46
IM: Instant Messaging (Figure 2-14)
• IM is a client-server program that allows real-time
messages to be exchanged. Some types allow voice
and video packets to be sent. Examples include AOL
and ICQ.
• IM works as follows:
– Your IM client first sends a request to the IM server telling
it that you are online. If a friend connects, the IM server
sends a packet to your IM client and vice versa.
– When you type some text, your IM client sends the text in a
packet to the IM server which relays it to your friend.
– If a chat session has more than two clients, multiple packets
are sent by the IM server. IM servers can also relay
information to other IM servers.
47
Client computer with
e-mail client
software
(“user agent”)
IM packet
LAN
Client computer
with IM client
software
IM packet
LAN
Internet
Figure 2-14
How Instant
Messaging works
LAN
Server computer
with IM server
software
IM packet
IM packet
48
Videoconferencing
• Allows people to meet at the same time in
different locations, potentially saving
money and time by not having to move
people around.
• Conference calling does the same thing.
• Typically involves 2 meeting rooms only.
• Desktop videoconferencing is a related very
low cost application using small video
cameras and microphones over the Internet.
49
End of Chapter 2

More Related Content

Similar to Ch2_Ed7_Network_Applications.ppt

Lecture 11 client_server_interaction
Lecture 11 client_server_interactionLecture 11 client_server_interaction
Lecture 11 client_server_interactionSerious_SamSoul
 
Module 1-Application Layer
Module 1-Application Layer Module 1-Application Layer
Module 1-Application Layer Gururaj H L
 
Client server architecture
Client server architectureClient server architecture
Client server architectureBhargav Amin
 
Application layer
Application layerApplication layer
Application layerFarah Hunny
 
Web-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxAlokKumar250045
 
Client server architecture
Client server architectureClient server architecture
Client server architectureRituBhargava7
 
Chapter 10 System Architecture.Information Technology Project Management pptx
Chapter 10 System Architecture.Information Technology Project Management pptxChapter 10 System Architecture.Information Technology Project Management pptx
Chapter 10 System Architecture.Information Technology Project Management pptxAxmedMaxamuudYoonis
 
module1st-cloudcomputing-180131063409 - Copy.pdf
module1st-cloudcomputing-180131063409 - Copy.pdfmodule1st-cloudcomputing-180131063409 - Copy.pdf
module1st-cloudcomputing-180131063409 - Copy.pdfBenakappaSM
 
client server architecture
client server architecture client server architecture
client server architecture Saurabh Soni
 
chapter10-120827115414-phpapp02.pdf
chapter10-120827115414-phpapp02.pdfchapter10-120827115414-phpapp02.pdf
chapter10-120827115414-phpapp02.pdfAxmedMaxamuud6
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecturetahir khan
 
Advanced database protocols
Advanced database protocolsAdvanced database protocols
Advanced database protocolsHitesh Mohapatra
 
5 - Infrastructure and Cloud Computing
5 - Infrastructure and Cloud Computing5 - Infrastructure and Cloud Computing
5 - Infrastructure and Cloud ComputingRaymond Gao
 
C/S archtecture including basic networking
C/S archtecture including basic networkingC/S archtecture including basic networking
C/S archtecture including basic networkingabhinav2727
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed SystemAshish KC
 
Data Centre Network Optimization
Data Centre Network OptimizationData Centre Network Optimization
Data Centre Network OptimizationIJAEMSJORNAL
 

Similar to Ch2_Ed7_Network_Applications.ppt (20)

Lecture 11 client_server_interaction
Lecture 11 client_server_interactionLecture 11 client_server_interaction
Lecture 11 client_server_interaction
 
Module 1
Module 1Module 1
Module 1
 
Module 1-Application Layer
Module 1-Application Layer Module 1-Application Layer
Module 1-Application Layer
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Application layer
Application layerApplication layer
Application layer
 
Web-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptx
 
Client server architecture
Client server architectureClient server architecture
Client server architecture
 
Chapter 10 System Architecture.Information Technology Project Management pptx
Chapter 10 System Architecture.Information Technology Project Management pptxChapter 10 System Architecture.Information Technology Project Management pptx
Chapter 10 System Architecture.Information Technology Project Management pptx
 
module1st-cloudcomputing-180131063409 - Copy.pdf
module1st-cloudcomputing-180131063409 - Copy.pdfmodule1st-cloudcomputing-180131063409 - Copy.pdf
module1st-cloudcomputing-180131063409 - Copy.pdf
 
client server architecture
client server architecture client server architecture
client server architecture
 
chapter10-120827115414-phpapp02.pdf
chapter10-120827115414-phpapp02.pdfchapter10-120827115414-phpapp02.pdf
chapter10-120827115414-phpapp02.pdf
 
4. system models
4. system models4. system models
4. system models
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
lec-01-WP.pdf
lec-01-WP.pdflec-01-WP.pdf
lec-01-WP.pdf
 
Advanced database protocols
Advanced database protocolsAdvanced database protocols
Advanced database protocols
 
3 tier architecture
3 tier architecture3 tier architecture
3 tier architecture
 
5 - Infrastructure and Cloud Computing
5 - Infrastructure and Cloud Computing5 - Infrastructure and Cloud Computing
5 - Infrastructure and Cloud Computing
 
C/S archtecture including basic networking
C/S archtecture including basic networkingC/S archtecture including basic networking
C/S archtecture including basic networking
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed System
 
Data Centre Network Optimization
Data Centre Network OptimizationData Centre Network Optimization
Data Centre Network Optimization
 

Recently uploaded

JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingWSO2
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....rightmanforbloodline
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)Samir Dash
 

Recently uploaded (20)

JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Quantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation ComputingQuantum Leap in Next-Generation Computing
Quantum Leap in Next-Generation Computing
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 

Ch2_Ed7_Network_Applications.ppt

  • 1. 1 Chapter 2. Network Applications Business Data Communications and Networking Fitzgerald and Dennis, 7th Edition Copyright © 2002 John Wiley & Sons, Inc.
  • 2. 2 Chapter 2. Learning Objectives • Understand host-based, client-based and client-server architectures • Understand how the Web works • Understand how e-mail works • Be aware of how FTP, Telnet and Instant Messaging work
  • 3. 3 Chapter 2. Outline • Introduction • Application Architectures – Host-Based, Client-Based and Client-Server Architectures, Choosing Architectures • World Wide Web – How the Web Works, Inside an HTTP Request & HTTP Response • Electronic Mail – How E-Mail Works, Inside an SMTP Packet – Listserv, Attachments in MIME • Other Applications – Ftp, Telnet, Instant Messaging, Videoconferencing
  • 5. 5 Application Architectures • Application programs can be thought of as being made up of four functions: – Data storage – Data access logic – Application logic – Presentation logic • Application architectures are determined by how these functions are split between clients and servers. • Three basic application architectures are in use today: – Host-based Architectures – Client-based architectures – Client-server architectures
  • 6. 6 Host-based Architectures • The first application architecture to be developed was the host-based. • The ‘server in host-based architectures, usually a mainframe, performs all four functions. • The client, usually a terminal or a PC running a terminal emulation program captures key strokes which are sent to the mainframe and displays information according to the server’s instructions (Figure 2-1)
  • 7. 7 Figure 2-1 Host-Based Architectures
  • 8. 8 Host-based Architectures • There are two main problems with host-based architectures: – Since all processing is by the host, the host becomes a bottleneck which can severely limit network performance. – Upgrades are typically expensive and “lumpy”, meaning available upgrades require big jumps in processing and memory. Network demand grows more incrementally, so this often means a poor fit (too much or too little) between host performance and network demand.
  • 9. 9 Client-Based Architectures • Client-based architectures became important in the late 1980s with the widespread use of PCs, local area networks and low-cost, PC-based application programs such as spreadsheets and word processors. • In client-based architectures, application programs on the clients are responsible for the data access, application and presentation logic. • The server is responsible for data storage only (Figure 2-2).
  • 10. 10 Figure 2-2 Client-Based Architectures
  • 11. 11 Client-Based Architectures • The main problem with Client-based architectures is in the need for all of the data travel back and forth between server and client. • For example, if the client program is making a database query, the entire database must travel to the client before the query can be processed. • The result can be poor network performance because of the bottleneck created by constantly sending large files back and forth over the network.
  • 12. 12 Client-Server Architectures • In client-server architectures the application program functions are divided up between clients and servers. • The client takes care of the presentation logic • The server handles data storage and data access logic. • Application logic may reside on the client, server or be split up between the two. • Most networks today use a client-server architecture (Figure 2-3 shows an example).
  • 14. 14 Client-Server Architectures • Client-server architectures are more efficient since they distribute processing between client and server. • Another strength is that they allow hardware and software from different servers to be used together. • This is also a weakness, since it is sometimes difficult to get software from different vendors to work together smoothly. • For this reason, a third category of software, called Middleware was developed.
  • 15. 15 Middleware • Middleware provides an interface for allowing client application programs to interact with server application programs. • Middleware has two main functions: – Providing a standard way of translating between software from different vendors. – Manage message transfer between client and server, thus insulating network changes (such as adding a new server) from the clients. • Two of the most important middleware standards are: Distributed Computing Environment (DCE) and Common Object Request Broker Architecture (CORBA).
  • 16. 16 Two-tier, Three-tier and N-tier Architectures • Figure 2-3 gives an example of a 2-tier client-server architecture. • In a three-tier architecture the application program logic is split up between three computers. For example (see Figure 2-4), – the client handles the presentation logic – an application server handles the application logic – A database server handles the data storage and data access logic. • In an N-tier architecture more than three sets of computers are used (see Figure 2-5).
  • 17. 17 Figure 2-4 A Three-tier Architecture
  • 18. 18 Figure 2-5 An N-tier Architecture
  • 19. 19 Two-tier, Three-tier and N-tier Architectures • The primary advantage of N-tier architectures is in distributing the application logic between several servers makes load balancing possible, so that demand for processing is more evenly distributed between the servers. • N-tiered architectures are also more easily scalable, since only servers experiencing high demand, such as the application server, need be upgraded. • The primary disadvantage is that more distributed processing means a more heavily loaded network. • It is also more difficult to program and test an N-tier architecture due to its increased complexity.
  • 20. 20 Thin versus Fat Clients • Thin and Fat (or thick) clients describe how much of the application logic resides on the client. – Little or no application logic resides on a thin client – All or most of the application logic resides on a fat client • Thin clients are becoming popular because they are easier to manage, since only the server application logic generally needs to be updated. • The best example of a thin client is World Wide Web architecture which uses a two-tier, thin client architecture (Figure 2-6).
  • 21. 21 Figure 2-6 Web Architecture
  • 22. 22 Choosing An Architecture • Often, the application architecture is given, so no decision has to be made. When it is not, three important criteria for choosing an architecture are: – Cost of Infrastructure: mainframes are expensive, which is why client-based and client-server architectures have become popular. – Cost of Development: because software is expensive to develop, client-based and client-server architectures that use off-the-shelf software tend to be much cheaper than software solutions that require in-house development. – Scalability refers to the ability to increase (or decrease) in computing capacity as network demand changes. Client- server architectures are the most scalable since both clients and servers can be added to meet network needs.
  • 23. 23 Host-Based Client-Based Client-Server Cost of Infrastructure High Medium Low Cost of Development Low Medium High Scalability Low Medium High Figure 2-7 Choosing an Architecture
  • 25. 25 Origin of the World Wide Web • Invented in 1989 by Tim Berners-Lee at the Centre Européan pour Rechèrche Nucleaire (CERN) in Geneva. • Two central WWW ideas are hyperlinks and Uniform Resource Locators (URLs). • Marc Andressen, who later founded Netscape, wrote the first web reader (browser) to gain widespread use in 1993, called Mosaic at the Nat’l Center for Supercomputing Applications (NCSA).
  • 26. 26 How the Web works (Figure 2-8) • Based on a Client-Server architecture • The main Web communications protocol is Hypertext Transfer Protocol. • Web clients (Browsers) make HTTP requests to Web Servers. Web Servers answer with HTTP responses • Clicking on a hyperlink or typing a URL into a browsers starts a request-response cycle. • An HTTP Request-response cycle can have multiple steps since many web pages often embedded files, such as graphics, each requiring a separate response.
  • 27. 27 Client computer with Web Browser software Server computer with Web Server software HTTP Request HTTP Response Figure 2-8 How the Web Works
  • 28. 28 HTTP Requests have 3 parts: • Request line (required): starts with a command and URL and ends with the http version number. • Request header (optional): contains information on the browser, date, and the referring page from which the request originated. If the user types in the URL by themselves, then the referring page is blank. • Request body (optional): contains information sent to the server, such as from a form.
  • 29. 29 Figure 2-9 Example of an HTTP Request from a Web browser GET http://www.kelley.indiana.edu/ardennis/home.htm HTTP/1.1 Date: Mon 06 Aug 2001 17:35:46 GMT User-Agent: Mozilla/6.0 Referer: http://www.indiana.edu/~aisdept/faculty.htm Request Header ]- Request Line ]- Date ]- Web browser (this is Netscape) Command URL HTTP version URL that contained the link to the requested URL
  • 30. 30 HTTP Responses also have 3 parts: • Response status (optional): http version number, status code (e.g., 200 = ok, 404 = page not found) and “reason” phrase (description of status code). • Response header (optional): contains information on the server, date, exact URL of the retreived page and format used for the body of the response (e.g., html). • Response body (required): contains the requested Web page.
  • 31. 31 Figure 2-10 Example of an HTTP response from a Web server HTTP/1.1 200 OK ]- Response Status Date: Mon 06 Aug 2001 17:35:46 GMT ]- Date Server: NCSA/1.3 ]- Web server Location: http:// www.kelley.indiana.edu/adennis/home.htm ]- URL Content-type: text/html]- Type of file <html> <head> <title>Allen R. Dennis</title> </head> <body> <H2> Allen R. Dennis </H2> <P>Welcome to the home page of Allen R. Dennis</P> </body> </html> HTTP ver. Status code Reason Response Header Response Body
  • 32. 32 Hypertext Markup Language (HTML) • Web pages are formatted using another protocol, usually HTML, also developed at CERN. • HTML documents include information on how to format the file imbedded in the document called tags. • HTML was initially developed for text files, not multimedia files. This is limitation is why HTML extensions have been created. • And also why other markup language formats have been created, such as Extensible Markup Language (XML).
  • 34. 34 Electronic Mail • Still the most heavily used Internet application because: – It’s much, much faster than regular mail. – It’s extremely inexpensive. – It can substitute for other forms of communication, such as telephone calls. – E-mail users don’t have to play “telephone tag”, since the respondent can answer at his/her convenience, instead of time of call.
  • 35. 35 E-mail standards • Simple Mail Transfer Protocol (SMTP): part of the TCP/IP protocol suite. • SMTP is the main e-mail standard for mail transfer agents in use today, but was written to only handle text files. • SMTP is usually implemented using a two- tier client-server architecture. • Two other competing standards for e-mail are Common Messaging Calls (CMC) and X.400.
  • 36. 36 Two-Tier E-mail Architecture • SMTP’s uses two types of programs: • User agents, also called e-mail clients, are programs running on client computers that send e- mail to e-mail servers and download e-mail from mailboxes on those servers. – Examples: Eudora, Outlook. • Mail transfer agents, also called mail server software, are used by e-mail servers, send e-mail through the Internet between e-mail servers and maintains individual mailboxes. – Post Office Protocol (POP) & Internet Mail Access Protocol (IMAP) are the main protocols for user agent to mail server communications.
  • 37. 37 Sending An E-mail Message (Figure 2-11) • When completed, an e-mail message is sent by the sender’s e-mail client as an SMTP packet to the local mail server. • The mail server’s message transfer agent next reads the packet’s destination address and sends it over the Internet to the receiver’s mail server. • The destination mail transfer agent then stores the message in the receiver’s mail box. • When the receiver next accesses e-mail, his or her user agent contacts the local mail server which then downloads the message to the receiver’s client computer.
  • 38. 38 Client computer with e-mail client software (“user agent”) Server computer with e-mail server software (“message transfer agent”) SMTP packet SMTP packet LAN Client computer with e-mail client software (“user agent”) Server computer with e-mail server software (“message transfer agent”) SMTP packet LAN SMTP packet IMAP or SMTP packet Internet Figure 2-11 How SMTP works
  • 39. 39 Three-Tier Client-Server Architecture (Figure 2-12) • Reading e-mail using a Web-based interface, such as Hotmail, uses a three-tier architecture. The three tiers are: – The client’s web browser that sends HTTP requests to the Web server. – The Web server: 1) sends HTTP responses to the Web client and 2) translates the client’s HTTP requests into SMTP packets which are then sent to the Mail server. – The Mail server performs the same functions as the mail server in the two-tier example.
  • 40. 40 Client computer with Web browser Server computer with Web server software HTTP request SMTP packet LAN LAN Internet Server computer with mail server software Figure 2-12 How Web-based e-mail works Client computer with Web browser Server computer with Web server software Server computer with mail server software SMTP packet HTTP request HTTP response SMTP packet IMAP packet HTTP response IMAP or SMTP packet
  • 41. 41 Simple Mail Transfer Protocol • SMTP E-mail messages have the following structure: – Header: lists source and destination addresses, date, subject and other information about the e- mail message. – Body: the message itself – Attachments: additional files that have been included along with the e-mail message.
  • 42. 42 Figure 2-13 Sample E-mail Message using SMTP From: “Alan Dennis;”<adennis@indiana.edu> TO: “Pat Someone” <someone@somewhere.com> Date: Mon 06 Aug 2001 19:03:02 GMT Subject: Sample Note Message-Id: <4.1.20000623164823.009f5e80@IMAP.IU.EDU> DATA: This is an example of an e-mail message Message header Message body
  • 43. 43 Attachments in MIME • Since SMTP was developed for transferring text files, special techniques needed to be developed to send graphical information. • Graphics capable mail transfer agent protocols include MIME (Multipurpose Internet Mail Extension), uuencode and binhex. • Included as part of an e-mail client, MIME translates graphical information into text allowing the graphic to be sent as part of an SMTP message. • The receiver’s e-mail client then translates the MIME attachment from text back into graphical format.
  • 45. 45 File Transfer Protocol (FTP) and Telnet • FTP enables sending and receiving files over the Internet. • Telnet allows remote logins over the Internet. • Both were much more commonly used during the pre-WWW days of the Internet. • FTP still commonly used today for uploading web pages.
  • 46. 46 IM: Instant Messaging (Figure 2-14) • IM is a client-server program that allows real-time messages to be exchanged. Some types allow voice and video packets to be sent. Examples include AOL and ICQ. • IM works as follows: – Your IM client first sends a request to the IM server telling it that you are online. If a friend connects, the IM server sends a packet to your IM client and vice versa. – When you type some text, your IM client sends the text in a packet to the IM server which relays it to your friend. – If a chat session has more than two clients, multiple packets are sent by the IM server. IM servers can also relay information to other IM servers.
  • 47. 47 Client computer with e-mail client software (“user agent”) IM packet LAN Client computer with IM client software IM packet LAN Internet Figure 2-14 How Instant Messaging works LAN Server computer with IM server software IM packet IM packet
  • 48. 48 Videoconferencing • Allows people to meet at the same time in different locations, potentially saving money and time by not having to move people around. • Conference calling does the same thing. • Typically involves 2 meeting rooms only. • Desktop videoconferencing is a related very low cost application using small video cameras and microphones over the Internet.