Networked Applications

Download Report

Transcript Networked Applications

Networked
Applications
Chapter 11
Copyright 2001 Prentice Hall
The Primacy of Applications
• Users only care about applications
• The other layers (transport, internet, data
link, physical) exist only to support
applications
Applications in this Chapter
• There are many applications
• We will only look at 3 networked
applications
– Web-enabled database access
– Internet E-mail
– IP telephony for voice-data convergence
• Each is important
• Each has general lessons to teach
Web-Enabled Database Access
Web-Enabled Database Access
• Problem: Database is on a “database
server”
– Mainframe or client/server server
– These need proprietary client software or a
terminal
• Problem: Most users only have browsers
User with Browser
Database Server
Web-Enabled Database Access
• Solution: an application server (webserver
with intermediary software) mediates
between the two
User with Browser
Application Server
Database Server
Web-Enabled Database Access
• Step 1: User types URL of data entry form
• Step 2: Webserver application sends form
URL
Form
User with Browser
Application Server
Database Server
Web-Enabled Database Access
• Step 3: User types information in form, hits Send
– Browser puts data in a request line
– GET keyword
– /cgi-bin is the absolute path to a directory holding an
intermediary program, bogo.exe
GET /cgi-bin/bogo.exe?last=Lee&first=Pat
Web-Enabled Database Access
• Step 3: User types information in form, hits
Send
– Data separated from absolute path by ?
– last field contains the value Lee
– first field contains the value Pat
GET /cgi-bin/bogo.exe?last=Lee&first=Pat
Web-Enabled Database Access
• Step 3: Application server webserver
software passes data form to the
intermediary program, Bogo.exe, on the
webserver
Webserver
Application
Software
Intermediary
Program
(Bogo.exe)
Application Server
Web-Enabled Database Access
• Step 4: Bogo.exe puts the data into a
query in the database server’s standard
format
– Sends the query to the server
(Bogo.exe)
Standard
Query
User with Browser
Application Server
Database Server
Web-Enabled Database Access
• Step 5: Database server sends response in
its standard format to the intermediary
program, Bogo.exe
(Bogo.exe)
Standard
Response
User with Browser
Application Server
Database Server
Web-Enabled Database Access
• Step 6: Application server intermediary
software (Bogo.exe) creates a new HTML
webpage containing the response
Webpage
Application Server
Intermediary
Program
(Bogo.exe)
Web-Enabled Database Access
• Step 7: Application server intermediary
software passes this webpage to the
webserver application program
Webpage
Webserver
Application
Software
Application Server
Intermediary
Program
(Bogo.exe)
Web-Enabled Database Access
• Step 8: Webserver application program
passes the webpage to the browser
Webpage
User with Browser
Application Server
Database Server
Transparency
• Browser does not know that it is dealing with a
database server; it sends standard webserver
commands, gets webpages back
• Database server does not know it is dealing with
a browser; receives standard database server
requests, sends standard database server
responses
• No changes are needed in the browser or
database application software; process is
transparent to both the browser and the
database server
Web-Enabled Database Access
• CGI and Intermediary Program
– Intermediary program (Bogo.exe) does the
actual translation work
Webserver
Application
Program
Intermediary
Program
(Bogo.exe)
Database
Application
Program
Web-Enabled Database Access
• CGI and Other Programs
– Webserver application programs have a
standardized way of moving data to and from
other programs
• Common Gateway Interface (CGI) standard
Webserver
Application
Program
CGI
Intermediary
Program
(Bogo.exe)
Database
Application
Program
Web-Enabled Database Access
• CGI
– Starts a new copy of the intermediary program
every time the intermediary program is called
– This is very slow
– OK only for small applications
Webserver
Application
Program
CGI
Intermediary
Intermediary
Program
Intermediary
Program
(Bogo.exe)
Program
(Bogo.exe)
(Bogo.exe)
Database
Application
Program
Web-Enabled Database Access
• Application Program Interfaces (APIs)
– Database servers have proprietary ways of
communication with other application programs
– Other application program sends an application
program interface (API) call to the database
program
Webserver
Application
Program
API
Database
Application
Program
Web-Enabled Database Access
• Application Program Interfaces (APIs)
– Faster than CGI but proprietary
– Webserver applications do not support all
database APIs
Webserver
Application
Program
API
Database
Application
Program
Web-Enabled Database Access
CGI
API
Speed
Slower
Faster
Generality
General
Proprietary
Web-Enabled Database Access
• Client-Side Processing
– Webserver can download webpage with Java
or Active-X program
– Client can then communicate directly with
the database server
Webpage with
Java applet
User with Browser
Subsequent Interactions
Database Server