Frequently Asked Questions:
Q: What is a Web Server Interface used for?
A: A Web server interface defines how a Web server communicates with external applications to permit the exchange of data between a Web server and other applications such as databases; email servers, etc.
Q: What are some examples of Web Server Interfaces?
A: There are two well-defined Web server interfaces:
CGI (Common Gateway Interfaces).
API (Application Programming Interface).
An example of a Web Interface is the use of web-to-database software.
This illustration shows how a web-to-database interface works.
Q: What is a Web application server, and how does it work from database perspective?
A: Web application servers are "middleware" applications that expand the functionality of web servers by linking them to a wide range of services such as data bases, directory systems (LDAP), Email servers, etc.. The application server also provides a unified run-time environment for web-applications. This allows the "front-end" client agent to interact with databases (query a database from dynamic data through a Web page) and present database-driven "backend" data in a Web page delivered to the client.
Q: What issues must be addressed by Web-to-Database interfaces with respect to data types?
A: Web-to-Database interfaces must resolve the following issues:
- The method in which the Web-to-Database stores and extracts complex data objects such as documents, graphics, and streaming video through a Web server.
- The storage and performance overhead of binary objects in a DBMS.
- The ability of a DBMS to handle binary object transaction.
- The capacity and limitations of extended or OLE data types.
- The limitations of client browsers (a.k.a. whether the browser needs a plug-in).
- The capability of a DBMS to support enterprise caliber databases.
- The frequency of end user data access and update.
Q: What issues must be dealt with by Web-to-Database interfaces in terms of security, database transaction management?
Database Administrators and designer must effectively address:
- User authentication and authorization for any client agent accessing the database across the Web.
- The security and integrity of transaction processing over the Internet.
- Transactions may be required to securely interact with multiple sites; such transactions cannot be compromised or modified.
- Assurance of proper transaction management at both client and the database server level.
Q: What issues must be addressed by Web-to-Database interfaces in terms of denormalization of database tables?
The designer must effectively address de-normalization of database tables for performance enhancement reasons and/or to gracefully handle data entry issues at the client interface. Web applications typically do not support the one-to-many data entry screens directly. Therefore, the designer and/or database administrator must create the system's logic to permit data entry into tables that maintain 1:M relationships, such as invoice and invoice lines tables.
Q: What are the Web page development problems related to database parent/child relationships?
Q: What does the statement "the Web is a stateless system" mean?
A: "The Web is a stateless system" means that, unlike conventional systems, the web does not allocate memory to maintain the status (state) of a running program. In addition, the Web does not maintain an open communication line between client and server (Hypertext Transfer Protocol -- HTTP/1.1 and cookies not withstanding). Therefore, the server has no knowledge of what is going on with the client and vice versa.
Q: What implications does a stateless system have for database application developers?
A: An application cannot work over the web as it does when running on a single stand-alone computer. Therefore, the web must defer to database application servers to perform any computations and/or manipulations beyond formatting output text and/or data entry validation.
Q: How does ColdFusion's use of "scripts" differ from other "middleware" and what is their function?
(In terms of database application development)
A: CF Scripts are a series of instructions interpreted and executed at run time. Scripts are created duing development for use in web-database application to instruct the application server components what actions to do, such as connect, query, and update a database from a web front-end. CF scripts are, for the most part, totally transparent to the clients. The application developer and/or database administrator must create scripts to access the database and generate web pages dynamically. The application server executes the scripts and passes the results (output) to the web server in pure HTML format.
Note: In the case of ColdFusion "script" code written in CFML tags (ColdFusion Markup Language) all CFML code is striped out by the ColdFusion MX Server before the results are passed back to the Web Server thus creating a secure front end environment.
Q: What are some of the major industry standard Web Application servers?
A: industry-standard servers including Apache, Microsoft IIS, Macromedia ColdFusion MX, IBM WebSphere, BEA WebLogic, and Netscape Enterprise Serve.
Q: Besides a Web-to-Database Interface what basic services are provided by the ColdFusion Web application server?
A: The ColdFusion Web Application Server provides the following services:
- An Integrated Development Environment.
- Session management with support for persistent application variables.
- Robust security and authentication.
- A computationally complete programming language (commands and functions) to embody and store business logic.
- Access to other services: FTP, SMTP, IMAP, POP, etc.
Q: What are the primary ColdFusion tags which provide its database interface?
CFQUERY: Allows wrapping of SQL commands (and/or CF database maniplulation commands) within the tag to be passed directly to a database.
CFINSERT: Poses as a SQL "Insert" command to place a data row (record) to into a datasource.
CFUPDATE: Like CFINSERT, CFUPDATE posed as its SQL counterpart to Update rows in a data source.
CFDELETE: You MUST use a cfquery tag with a SQL DELETE statement to delete data from a database. ColdFusion has no cfdelete tag
(Adobe/macromedia chose wisely here).
CFOUTPUT: Displays output of database query (or other ColdFusion functions).
CFTABLE: Builds HTML formatted table from database data.