In the first two parts of this series, we looked at the basic HTTP Server behind HTML DB (and Application Server) and the basic installation and setup of HTML DB itself. In this article, we will look at a simple example of adding a page to an existing application and detail some of the steps involved. Before moving on to the example, I would like to clarify a few points about the HTTP Server and HTML DB.
What Oracle's HTTP Server Is and Is Not
As mentioned in several places in the official documentation, Oracle HTTP Server (OHS) is based on a version of the Apache Web server (1.3.28, to be exact). As of the date of this article's publication (June 2005), the current release of Apache is 2.0.54. It should be somewhat apparent that the difference in versions is significant. There are other Oracle products that use a later version of OHS. Application Server 10g, for example, uses a release from the 2.0 series. What are the ramifications of using Apache 1.3.28?
Take a quick tour of the Apache Web site and read the high-level release notes. Start here - http://httpd.apache.org/ - and follow the links to the announcements for 1.3.33 and 2.0.54. The 1.3.33 notes state in part:
We consider Apache 1.3.33 to be the best version of Apache 1.3 available and we strongly recommend that users of older versions, especially of the 1.1.x and 1.2.x family, upgrade as soon as possible.
Some of the major components of OHS (again, based on Apache) are the Listener and modules.
HTTP Listener: Oracle HTTP Server is based on an Apache HTTP listener to serve client requests. An HTTP server listener handles incoming requests and routes them to the appropriate processing utility.
Modules (mods): Many of the standard Apache modules are included with Oracle HTTP Server. Oracle also includes several internal modules that are specific to Oracle Database components.
One module in particular is of key importance for Oracle and that is the mod_plsql module. This module is Oracle-specific and is not part of the generic version of Apache you get from the Apache Software Foundation (ASF). The Oracle® HTTP Server Administrator's Guide lists the modules Oracle includes and the ones from ASF Oracle does not support. The implications are that if there is a problem with an Oracle-supplied module, there may not be much help or support available from the Apache user group mailing lists, and there may be "normal" modules from Apache that are unavailable to you. HTML DB uses mod_plsql (that is what the "pls" represents in the URI you use to login to a workspace or the admin area).
A third major point is that of controlling the Apache part of OHS. In a normal Apache HTTP Server installation/environment, you can use apachectl to start and stop the server, and on Windows, you can start/stop the server via services. OHS, however, requires that you use OPMN.
Oracle HTTP Server is
managed by Oracle Process Manager and Notification Server (OPMN). You must
always use the
opmnctl utility to
start, stop and restart Oracle HTTP Server. Otherwise, the configuration
management infrastructure cannot detect or communicate with the Oracle HTTP
Server processes, and problems may occur.
There are some configuration modifications normally available with Apache that OHS does support. Path aliasing and logging options are two such examples. However, for the most part, what you see is what you get when it comes to OHS, so it is kind of a trade-off. If you do not know much about setting up a server, Oracle does virtually all of the work for you. If you do know a lot and like to customize the settings, you may be out of luck because of the incompleteness of the Apache components.
HTML DB Versions and Examples
The version of HTML DB used so far is in the 1.5 series. If you look closely on the generated Web page, you can see the exact version.
A newer version (1.6) of HTML DB is available at OTN and it includes several enhancements over 1.5. More information (aside from what comes in the documentation) is available at http://www.oracle.com/technology/products/database/htmldb/index.html. The "obe" username (from before) comes from the Oracle By Example help/demo area at OTN. You can also request a workspace (hosted by Oracle) instead of installing and using HTML DB on your own computer.
Oracle Corporation has put a lot of development effort into HTML DB, and one of the most visible or public uses of it can be found at the Ask Tom Web site.
As a DBA responsible for maintaining clients and supporting developers who use Forms and Reports, here are two reasons why you should be very interested in adding HTML DB DBA to your repertoire.
First, because any (authorized) user can access the database via a browser, you may be able to say goodbye to the client software installation and its attendant maintenance in your organization. If you have users who are primarily view only, you can easily create a collection and have those users browse to obtain what it is they are looking for.
Second, Forms and Reports can be (to a large degree) developed and used via HTML DB - all without the overhead of using actual Forms or Reports files. For users with simple needs such as performing DML directly on a few tables, you do not need the overhead of Application Server and Developer Suite. The example shown in the next part does exactly that - it uses a simple tabular form that is easily customizable and takes around three minutes to create.
Using an HTML DB Demonstration Application to Create a Form
Login to a created workspace and navigate to the Review Demonstration Applications in the Task area (bottom right).
Note: I am using the "ADMIN" user in the OBE workspace from the last article.
Click Install to install the Collection showcase. Click Run to view the EMP collection.
In our example, we will add a page to this application. The page will be a tabular form whose end result will allow you to perform DML on an employees table.