IWMW 1997: Database-WWW Integration
Transcript of IWMW 1997: Database-WWW Integration
16-17th July 1997 Running an Institutional Web Service
Database-WWW Integration
Brenda LowndesComputing Services Department
The University of Liverpool
16-17th July 1997 Running an Institutional Web Service
Database-WWW Integration
• What is Database-WWW Integration?• Why integrate a database with the Web?• How is data integrated?• What tools are available?
16-17th July 1997 Running an Institutional Web Service
What is Database Integration?
• Using the information in a database to create Web pages
• Using a Web browser to access data in a database
16-17th July 1997 Running an Institutional Web Service
Why Use a Database to Produce Web Pages?
• Institutional data is usually stored in a database.
• Data is being replicated in HTML pages– Duplication of data and effort– Inconsistencies in the data– Difficult to merge updates
• Web pages can be updated automatically whenever the database is updated
16-17th July 1997 Running an Institutional Web Service
Why Use the Web to Access Data?• Familiar interface• Data can be integrated with other information
in an institution’s web pages • Platform and vendor independent front-end• Client machine does not need database
networking software • Information can be made available to anyone
on the Internet
16-17th July 1997 Running an Institutional Web Service
How is Data Accessed?
• Relational Databases– HTML pages are generated from the database
• statically• dynamically
– Java and JDBC downloaded and run on the client machine or on the server
• Library catalogues, Z39.50 servers, other free text search and retrieve
16-17th July 1997 Running an Institutional Web Service
Static Access
• A program runs offline to produce the HTML pages
• Pages copied into web server directories• Can be automated and scheduled to run
– at specific times– triggered by a database update
16-17th July 1997 Running an Institutional Web Service
Producing Static HTML Pages
• Any program that can access the database and output HTML– programming language and embedded SQL– report writers – database scripting language
• Database and Web development software provides a ‘Save as HTML’ option.
16-17th July 1997 Running an Institutional Web Service
When should you use Static Access?
• Non volatile data • Fixed or small number of pages• Predefined requests to the database
– No ad-hoc queries
16-17th July 1997 Running an Institutional Web Service
Dynamic Access
• HTML pages are generated from the database when the page is requested
• Data always up to date• HTML forms can be used to define specific
data that is to be retrieved• Many different pages can be generated
16-17th July 1997 Running an Institutional Web Service
Pages are created by:
• Running a simple program on the server which outputs HTML
• Extensions to the server which embed data extracted from the database into an HTML template file
• Server-side scripts which access the database and output HTML
16-17th July 1997 Running an Institutional Web Service
Using a Program on the Server
• Typically a series of print statements that output the whole HTML page
• Usually run as a cgi program• Written using
– DBPerl– Embedded SQL – DBMS report writers– DBMS scripting language
16-17th July 1997 Running an Institutional Web Service
Running a Program
HTMLCGIWeb Server
16-17th July 1997 Running an Institutional Web Service
Running a Program
HTML
CGIWeb ServerDatabase Networking Software
Database Networking Software
Database ClientWeb Client
16-17th July 1997 Running an Institutional Web Service
Running a Program
HTML
CGIWeb ServerODBC Driver
Database Networking Software
Database Networking Software
Template Files• Template specifies
– where the database is– what data is required– what HTML is output
• Process can be server filter or extension, plug in or cgi script
16-17th July 1997 Running an Institutional Web Service
HTML Templates
HTMLServer ExtensionWeb Server
Database Networking Software
HTML Template
16-17th July 1997 Running an Institutional Web Service
Internet Database Connectivity
• Microsoft’s IDC is an extension of their Internet Information Server
• Uses two files – .IDC file provides information about the
database and the SQL queries used– .HTX file provides the HTML template into
which the data from the database is embeddded
•Advantages of Using Templates
• Pages easier to write than full programs• Requires only a knowledge of HTML and
how to specify an SQL query• Web development tools from Microsoft and
other suppliers often automate the process
16-17th July 1997 Running an Institutional Web Service
Server-side Scripts
HTMLFilterWeb Server
Client/Server
VBScript
Java
PL/SQL
LiveHTML
Active Page
16-17th July 1997 Running an Institutional Web Service
Stateless Connection
• Previous access methods do not maintain a session between the server and the database
• The client requests the data• The server
– connects to the database– produces the HTML– delivers the page to the client– disconnects from the database
16-17th July 1997 Running an Institutional Web Service
Maintaining a Connection
• Many servers now can maintain a session between subsequent requests from the client
• These servers can maintain a connection to the database
• Can define a record set and scroll through records• Database connection can be closed by a request or
timed out after a defined period of inactivity or when the server is shut down
16-17th July 1997 Running an Institutional Web Service
Java and JDBC
• JDBC is a Java API for executing SQL statements
• JDBC statements in a Java applet are used to access virtually any relational database
• The Java applet is downloaded to the client• The client establishes the connection with
the database server
16-17th July 1997 Running an Institutional Web Service
Java and JDBC
Java Applet
Web Server Java Applet
16-17th July 1997 Running an Institutional Web Service
Java and JDBC
Java Applet
Web Server
Java Applet
Java JDBC
Java Applet
16-17th July 1997 Running an Institutional Web Service
What Tools are Available?
See: http://www.liv.ac.uk/~qq48/publications/html/dbweb.html