To make your corporate information available on demand, you need one of a new breed of specialized Internet data-access servers.
Mark Hettler
Rather than replacing existing information technologies, the Internet is making them available to wider audiences. Corporations with large databases see this as a publishing opportunity. To exploit it, they need a new type of database application that allows anyone with an Internet connection and a Web browser to view and enter data, submit queries, and produce reports.
Answering the need are new database servers like the three that NSTL tested for this report. All less than a year old, these Windows NT-based Internet servers -- Microsoft Internet Information Server (IIS) 1.0, Oracle WebServer 2.0, and O'Reilly & Associates' WebSit
e Professional 1.0 -- offer facilities for querying databases and incorporating the results into Web pages, as well as facilities for updating databases based on user input (see the
"Features"
table). Our evaluations focus on the products' database-access functions rather than their usefulness as general-purpose Internet servers.
WebSite Professional and Oracle WebServer were officially released in June; because of deadlines, we tested prerelease copies of both. Another product, Netscape's LiveWire Professional, wasn't far enough along for us to test (see the sidebar "Netscape Grabs a Live Wire").
NSTL developed an on-line order-entry application for each product, evaluating ease of learning and use by setting up, configuring, and administering each product, and finally testing each application's performance. Microsoft SQL Server 6.5 was the database for the Microsoft IIS and O'Reilly WebSite Professional tests. For Oracle WebServer, we used
Oracle7 Server for NT 7.2.
Microsoft Internet Information Server
Microsoft offers two tools in this category. The Internet Database Connector (IDC) is part of IIS, while the
Web Assistant
is part of Microsoft SQL Server. These two tools take a pull and push approach, respectively, to getting data from the database to the Internet. The Web Assistant "pushes" data to the Internet, producing static Web pages, while the IDC "pulls" information from a database in response to queries.
Although we looked at IIS in combination with SQL Server, you can use the two products separately. Any Internet server can access pages produced by Web Assistant. The IDC uses the Open Database Connectivity (ODBC) extension to access databases, and thus it supports a variety of database types. Our tests focused on the IDC's dynamic page-generation capabilities.
To generate a dynamic Hypertext Markup Language (HTML) page, a uniform resource locator
(URL) reque
sts
an IDC control file that specifies ODBC connection information (including user ID and password), the SQL command, and a template file. The URL can also pass parameters to specify any item in the IDC file and convey variables to be incorporated into the SQL command.
The template file consists of standard HTML and proprietary IDC commands to define a detail section that occurs once for each data record returned. Developers can embed values returned by the query as well as variables originally passed to the control file. The template language also supports IF...ELSE logic.
The IDC is based on Microsoft's ISAPI architecture. When a URL specifies an IDC control file, the system automatically executes the IDC DLL program. The DLL controls connection to the database, execution of the SQL command, and final formatting based on the specified template file. Microsoft IIS offers the best performance of all the tested products.
While IIS is available for free via downloading from Microsoft's Web
site (
http://www.microsoft.com
), the actual cost for most users will be the difference in price between Windows NT Server and Windows NT Workstation. In NSTL's experience, most Internet servers work well on NT Workstation, but Microsoft IIS is the exception; it will install only on NT Server.
The bottom line: Microsoft IIS is the
fastest performer
and the easiest product to use.
Oracle WebServer 2.0
Whereas Microsoft's components work well with other vendors' products, Oracle's tightly integrated suite of products work only with one another -- a reflection of the company's mainframe heritage, perhaps. The Web Agent, which handles database requests, won't work with other Internet servers and can access only Oracle databases.
Rather than specifying SQL com
mands and output formatting via text files, WebServer stores this information in the database itself using PL/SQL, Oracle's language for database procedures. Its procedural logic, subroutines, and nested database cursors allow a great deal of flexibility in incorporating data into Web pages. A developers' toolkit, which you install when setting up the Web Agent, consists of predefined PL/SQL procedures and functions that provide HTML formatting capability.
Here is a URL to generate dynamic HTML using Oracle WebServer:
http://www.nstl.com/sample/owa/query?state=CA
. WebServer recognizes the string
owa
as a call to Web Agent, and the string following it as the name of a PL/SQL procedure for Web Agent to execute. Any parameters passed in the URL must correspond to arguments accepte
d by the PL/SQL procedure.
Setting up and administering WebServer are considerably more complicated than these procedures are for the other tested products. After installing the software, an administrator must access the administration facility and set up a Web listener (i.e., the server part that accepts requests from Internet users). All the other products do this as part of the software installation.
In addition, before WebServer can execute database applications, the administrator must set up at least one Web Agent. This involves running a number of predefined database procedures to create a "user" and grant it appropriate privileges; this user is actually the server, which spawns agent processes to log on to the database. The administrator must also make the developer's toolkit available to that user. Finally, the administrator has to configure the Web Request Broker facility to recognize the agent process and know what program to execute.
Administrators can use a Web browser to access
the administration facility, which thus allows remote administration from anywhere on the Internet. In addition to administering the Internet-server functions, administrators can perform database operations, such as starting up and shutting down the database. Oracle WebServer can use SQL-Net, Oracle's network database-access protocol, to access Oracle databases on different machines from the Internet server.
Oracle continues to offer the previous version, WebServer 1.0, which it bundles with Oracle7 Server for NT 7.3 at no additional charge. Version 2.0 must be purchased at extra cost, but it installs right over the database software.
The main enhancement in version 2.0 is the replacement of the Common Gateway Interface-based (CGI) Web Agent program with Oracle's proprietary Web Request Broker (WRB) technology. The NSTL test application executes two to three times faster using the WRB-based Web Agent. Version 2.0 also understands Java, offering an alternative to PL/SQL. Oracle WebServer is availab
le for a number of Unix systems, as well as for the NT environment.
All in all, it's hard to recommend Oracle WebServer unless you really need features that only it offers. Yes, it produces dynamic HTML pages using a proprietary language that gives it the greatest application flexibility and power of all these products. But WebServer is far more difficult to learn and use than the others, offers inferior performance, and supports only Oracle databases.
WebSite Professional
WebSite Professional is an enhanced version of O'Reilly's popular WebSite Standard, and it offers enhanced Internet security features. Rather than building its own data-access mechanism, O'Reilly chose to bundle Allaire's Cold Fusion, which you can purchase separately (in Standard or Professional versions) and use with other Internet servers.
Cold Fusion approaches database access much like Microsoft's IDC does. It uses ODBC, sends SQL commands to a database, and formats the results using an HTML templat
e. But Cold Fusion embeds the ODBC specification and SQL commands directly in the HTML template rather than using two separate files.
Like IDC, Cold Fusion uses special commands to delineate result sections that repeat for each record returned by a query. But unlike in IDC, a single Cold Fusion template file can incorporate multiple queries, with each result section referencing a specific query. Unlike in Oracle's PL/SQL, you can't nest one query inside the result loop of another.
The lack of IF...ELSE logic (which Cold Fusion Professional does offer) greatly limits flexibility in displaying and formatting results. But the availability of multiple query results allows some options not available in Microsoft's IDC; for example, a data-entry form can have multiple data-driven pick lists.
Another difference from IDC is the use of CGI. Although WebSite Professional provides its own interface (which is called WS-API) for applications development, Cold Fusion is a CGI application. Here's a sample
URL:
http://www.nstl.com/cgi-bin/dbml.exe?template=templates/query.dbm
&state=CA. In this example, dbml.exe is the Cold Fusion CGI program, and query.dbm is the template, which also specifies the data source and the appropriate SQL to execute. The Cold Fusion CGI program initiates the Cold Fusion NT service (set up during software installation), which executes the database operation and then returns the formatted HTML to the Internet server.
Of these three products, WebSite Professional is the most versatile and the easiest to learn. The limited version of Cold Fusion bundled with the package limits its flexibility, but it offers a number of powerful features, including multiple query-result sets.
Product Inform
ation
Internet Information Server 1.0............Free via download;
must run under NT Server
Microsoft Corp.
Redmond, WA
Phone: (206) 882-8080
Internet:
http://www.microsoft.com
Circle 1094 on Inquiry Card.
WebServer 2.0..............................$2495
Oracle Corp.
Redwood Shores, CA
Phone: (415) 506-7000
Fax: (415) 506-7200
Internet:
http://www.oracle.com
Circle 1095 on Inquiry Card.
WebSite Professional 1.0...................$499
O'Reilly & Associates, Inc.
Sebastopol, CA
Phone:
(707) 829-0515
Fax: (707) 829-0104
Internet:
http://www.ora.com
Circle 1096 on Inquiry Card.
Live Wire Professional.....................$695
Netscape Communications Corp.
Mountain View, CA
Phone: (415) 937-2555
Internet:
http://home.netscape.com
Circle 1097 on Inquiry Card.
HotBYTEs
- information on products covered or advertised in BYTE
Ease of use, versatility, and outstanding speed make this
the clear winne
r.
Version Price Tech- Imple- Perfor- Usa- Overall
nol- menta- mance bility evaluation
Microsoft Internet 1.0 Free **** ***** ***** **** ****
Information Server
Oracle WebServer 2.0 $2495 *** ** *** ** **
WebSite Professional 1.0 $499 *** **** *** **** ***
KEY
***** Outstanding
**** Very Good
*** Good
** Fair
* Poor
We tested each of these servers using one, two, four, and
eight test clients sending requests to an order-entry
application. The test program sends uniform resource
locators (URLs) to the server as soon as it receives the
response to the previous request; there's no wait time in
the stream of the request/answer/request cycle. In the real
world, users spend time between requests, reading returned
information and typing in orders. So, for
a given number of
clients on these tests, the actual system load is
equivalent to a much higher number of real-life users.
Microsoft Oracle WebSite
Internet WebServer Professional
Information
Server
One user 17.7 25.8 19.6
Two users 19.7 35.3 28.6
Four users 25.8 63.2 53.9
Eight users 43.7 114.1 165.8
Times are in seconds;
lower numbers = better performance.
Microsoft Oracle WebSite
Internet WebServer Professional
Information
Server
Major Components
Internet server y y y
Database-access tools y y
y
Database software
Web browser y y
Personal Web server y
HTML editor y
Internet-Server Features
HTTP server y y y
FTP, gopher servers y
WinCGI support y y
ISAPI support y y
SSL, encryption support y y y
S-HTTP support y
Directory-level read/write y y
permissions
Virtual trees y y y
Allow/disallow directory browsing y y
Multiple virtual servers y y y
Administration Features
Administer using Web browser
* y
Password-protect administrator * y
access from browser
Administer multiple servers y y y
from single location
Dynamic load monitoring y
Automatic logging to database table y
Log-analysis tools y
Start up/shut down database * y
using Web browser
Database-Access Features
Support multiple database engines y Oracle only y
Database on different computer y y y
from Internet server
Allow multiple concurrent users y y y
Incorporate database data in HTML y y y
pages; display images
from database
Incorporate data passed from y y y
another HTML page
Pages generated dynamically y y y
on access
Can use database-specific y y
y
SQL extensions
Single URL can initiate multiple y y y
SQL commands
Multiple query-result sets in * y y
single HTML page
Nested result sets (for each row y
returned in query A, execute
query B)
Conditional results display y y
(IF...ELSE)
Transactions (begin, commit, y y y
rollback)
Database access via CGI, y y y
native API
Database access via Java y y
KEY
y = yes;
* = available in next version.
screen_link (81 Kbytes)

Microsoft's server has a good interface but not the best configuration section.
Mark Hettler is on the Software Digest staff at NSTL. You can reach him at
markh@nstl.com
or at
editors@bix.com
.