* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Networked Applications
Survey
Document related concepts
Extensible Storage Engine wikipedia , lookup
Oracle Database wikipedia , lookup
Functional Database Model wikipedia , lookup
Microsoft Access wikipedia , lookup
Navitaire Inc v Easyjet Airline Co. and BulletProof Technologies, Inc. wikipedia , lookup
Ingres (database) wikipedia , lookup
Relational model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Database model wikipedia , lookup
Versant Object Database wikipedia , lookup
Transcript
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