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 –IP telephony for voice-data convergence Each is important Each has general lessons to teach
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 BrowserDatabase Server
Web-Enabled Database Access Solution: an application server (webserver with intermediary software) mediates between the two User with BrowserDatabase ServerApplication Server
Web-Enabled Database Access Step 1: User types URL of data entry form Step 2: Webserver application sends form User with BrowserDatabase Server URL Form Application 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 Application Server Webserver Application Software Intermediary Program (Bogo.exe)
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 User with BrowserDatabase Server Standard Query Application Server (Bogo.exe)
Web-Enabled Database Access Step 5: Database server sends response in its standard format to the intermediary program, Bogo.exe User with BrowserDatabase Server Standard Response Application Server (Bogo.exe)
Web-Enabled Database Access Step 6: Application server intermediary software (Bogo.exe) creates a new HTML webpage containing the response Application Server Intermediary Program (Bogo.exe) Webpage
Web-Enabled Database Access Step 7: Application server intermediary software passes this webpage to the webserver application program Application Server Webserver Application Software Intermediary Program (Bogo.exe) Webpage
Web-Enabled Database Access Step 8: Webserver application program passes the webpage to the browser User with BrowserDatabase Server Webpage Application 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 Webserver Application Program Intermediary Program (Bogo.exe) Intermediary Program (Bogo.exe) Database Application Program 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 Webserver Application Program Intermediary Program (Bogo.exe) Intermediary Program (Bogo.exe) Database Application Program Database Application Program CGI
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 Webserver Application Program Intermediary Program (Bogo.exe) Intermediary Program (Bogo.exe) Database Application Program Database Application Program CGI Intermediary Program (Bogo.exe) Intermediary Program (Bogo.exe) Intermediary Program (Bogo.exe) Intermediary Program (Bogo.exe)
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 Webserver Application Program Database Application Program Database Application Program API
Web-Enabled Database Access Application Program Interfaces (APIs) –Faster than CGI but proprietary –Webserver applications do not support all database APIs Webserver Application Program Webserver Application Program Database Application Program Database Application Program API
Web-Enabled Database Access CGIAPI SpeedSlowerFaster GeneralityGeneralProprietary
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 User with BrowserDatabase Server Webpage with Java applet Subsequent Interactions