Original Page[1]
Three Web-to-Database
Connection Tools
By Scott Clark
Even though I spend most of my waking hours online, I constantly am
reminded how wonderful the Internet is. The other night, I discovered a site
that allows one to look up individuals by name, city, and state. So I looked
up an old friend from high school that I haven't heard from in ages; up
came two names and phone numbers. I called the first name on the list
and sure enough, it was my friend, and we carried on as if we had never
lost touch.
Such things are now possible because of databases, which allow total
cross-platform information retrieval. With live Web databases, travel
agents can keep flight schedules and fares updated; businesses can
update inventory lists and prices; customers can look up the latest prices
and order products online; employee training can be an interactive
experience; and a much greater range of information publishing
applications is possible. Corporate information can be shared within an
organization (via its intranet) so that technicians can have full access to
all information regardless of their platform. Until recently there were only a
couple of Web-to-database tools available, and most of them were only
available for Unix-based systems.
In this review, Web Developer takes a look at three packages--Cold
Fusion™ Professional 1.5, Sapphire/Web 2.0, and NetDynamics 1.0
beta--that let you connect your database to the Web, so you can decide
for yourself which tool is best suited to your task. I tested these products
on a Microsoft Windows NT 3.51 Server, using a Pentium 120-MHz system
with 32 MB of RAM, using both Netscape's FastTrack Server and the
Alibaba Communications Server.
View From the Top
Using these Web database products, you can put any ODBC, Oracle,
Sybase, or Informix database on the Web and insert, update, query, and
otherwise push, pull, and prod your way around them. You can design the
pages to be as complex or as simple as you wish, and the processes you
will go through to create them can also be simple or more complex.
With Cold Fusion, you can create a threaded discussion group using a
database, almost without even reading the manual. All you have to do is
learn a few new HTML-like tags and you're there. But beware: These
simple tags can be a limitation as well.
If you want to put your company's whole knowledge base online for
your clients to browse, and want to create complex queries that will be
ultra-fast in their operation, check out Sapphire/Web. It generates C or
C++ code from your SQL and objects, and no matter how complex your
code, it'll fly.
And if you want to work on the bleeding edge of technology, try
NetDynamics, which uses Java as the scripting language and generates
Java code for database operations that run on the NetDynamics
application server, giving true cross-platform portability, object-oriented
and interactive capabilities, and compatibility with the language that most
client-side applets will be using. Altogether, this makes NetDynamics
perform up to 10 times faster than a standard CGI implementation.
Cold Fusion is a self-contained Web database tool: About the only
other things you need to put your database on the Web are your
database and server. Sapphire/Web requires a C compiler for the Unix
versions, and Microsoft Visual C++ 4.0 for the Windows NT version to
compile the CGI program. And NetDynamics requires the JDK (Java
Development Kit) to compile the Java code that will run on its application
server...database not included.
PRODUCT
Cold Fusion™ Professional 1.5
COMPANY
Allaire Corp., 7600 France Ave., Suite 552, Edina, MN 55435; (612) 831-1808
For a Demo
PRICE
$495
Available for:
Microsoft Windows 95 and Windows NT 3.5+
Databases Supported:
Any ODBC-compliant database, Microsoft SQL Server, and Informix,
Sybase, and Oracle with the vendor-supplied ODBC-Unix drivers
Requirements:
24 MB of RAM for Windows NT, 16 MB of RAM for Windows 95
Web Servers Supported: Any Windows NT- or Windows 95-compatible
Web server
Cold Fusion is a low-end Windows-based program costing only $495, yet
it allows you to edit and enter information; create and read cookies;
perform conditional queries; dynamically send mail; create thread-based
discussion groups, order forms, and "shopping cart" systems (online
"stores" that let the user place items they wish to purchase in a virtual
shopping cart until they are finished and are ready to "check out"); and
otherwise turn a flat Web page into an interactive multimedia experience. It
uses a template language called DBML (Database Markup Language) to
create queries on your database and structure the results. No CGI or C++
coding is required, and getting your database on the Web is fairly easy.
Setting up Cold Fusion was a straightforward operation, and the manual
explained anything that wasn't overly obvious in an understandable
fashion. Technical support personnel were helpful when I needed
assistance, but they couldn't answer my questions concerning times and
dates in databases, even after consulting their "ODBC experts" and calling
me back.
The information they gave me turned out to be incorrect, which was
good in my case, as I was trying to input a date without a time, then query
that date, and they had said it couldn't be done. It could be done, and I
did it. Perhaps they need to use their own product a bit more.
Cold Fusion comes with a 105-page User Guide and an Online Help
system. You are expected to know basic HTML and SQL structure,
although there is a quick reference guide for both in the manual. The User
Guide takes you through setting up Cold Fusion, getting started, inserting
and updating data, queries, validation, variable manipulation, flow control,
and sending SMTP mail, as well as using the Cold Fusion Administrator. It
also contains an eight-section appendix that covers the 10 included
example applications, debugging and troubleshooting, and quick
references to most of the functions of Cold Fusion. I thought that it would
have been helpful if they had included more information on the use of
cookies, Java, JavaScript, and VRML, all of which Cold Fusion supports.
Cold Fusion uses templates, which are simply text files that contain
both HTML and DBML tags. Templates are interpreted by the Cold Fusion
Engine before they are sent back to the client. They contain instructions
that tell Cold Fusion which database and table to use, what information to
retrieve, and how to format and display that information. Templates are
created using any text editor or HTML editor. The query language that
Cold Fusion templates use is just standard SQL. The output of the
templates can be presented as tables, forms, or standard HTML.
Managing the ODBC data sources and controlling the various options
and settings is done with the Cold Fusion Administrator. The Administrator
has four tabs, each controlling various categories, including Data
Sources, Templates, Debugging, and Mail. Cold Fusion is run as a service
under Windows NT, or as an application under Windows 95.
I was able to create a Web application that lets customers search for
airline flights, locate airports, look up flight information, and purchase
tickets using Cold Fusion. I then created a page that allows the travel
agent to insert new information into each of the databases and edit that
information. I also wanted to allow an agent to delete information from the
database, but Delete is not an available function of the Cold Fusion
database language. Cold Fusion does include the use of IF and ELSE
(allowing conditional queries); Content (which allows MIME-type
specifications); Include (which allows the use of predesigned templates);
and Location (which allows the use of client URL redirection). You can
also set and read cookies, which allows the creation of a shopping-cart
system. It would have been nice to see such an application included as a
sample.
Overall, Cold Fusion is easy to use, includes decent documentation,
and is flexible enough to be used by small companies to create live
database applications. Though it isn't the fastest program of the three
tested, and is limited in the functions that are available, if the boss is
telling you to lighten up on the spending and you have a project that calls
for such a tool, Cold Fusion is a good bet.
PRODUCT
Sapphire/Web 2.0
COMPANY
Bluestone Inc., 1000 Briggs Road, Mt. Laurel, NJ 08054; (609) 727-4600
For a Demo
PRICE
$2,495
Available for:
Microsoft Windows 95, Windows NT 3.5+, Unix, HP, Sun, SGI, IBM, Digital
Databases Supported:
Any ODBC-compliant database with the Windows platforms; Informix,
Sybase, and Oracle with the Unix platforms
Requirements:
Microsoft Visual C++ 4.0 on the NT version; a C or C++ compiler on the
Unix version
Web Servers Supported:
Any industry-standard Web server
Sapphire/Web is a Unix/ Windows NT Visual Action Builder that enables a
developer to create database applications for the Web. It generates pure
C or C++ code, letting you utilize the full portability and power of a
compiled language in developing Web database applications. Using
Sapphire/Web, you could develop an online knowledge base, allowing full
access to every client. A company could provide its customers access to
an internal technical information database. Or, as in the case of Federal
Express, a company could offer customers access to information on
shipments using the customer's tracking number, and regardless of the
customer's type of computer--PC, Mac, Unix, etc.--they have instant
access to information on the status of their shipment.
The installation of Sapphire/Web on a Unix machine is a simple matter
of creating the sapphire_home directory, moving the compressed file to
that directory, executing the install script, and adjusting the configuration
files to suit your machine. Installing the Windows NT version of
Sapphire/Web is even simpler. I just executed the setup file and filled in
the appropriate blanks in the dialog boxes that came up, most of which
had already been filled in with the correct information for my machine and
server. I also had the option of directly accessing my database or using
ODBC to access it. I chose ODBC, and installation went smoothly.
Sapphire/Web comes with ample documentation. The Unix version
includes a 46-page Installation Guide, which takes you through a
step-by-step installation process; a 115-page Getting Started guide that
explains how to perform all the basic functions of Sapphire/Web; and a
very detailed 600-page Reference Manual that goes deeply into
Sapphire/Web's advanced functions. The Windows NT version comes with
an online help/tutorial and API reference, plus a printed Getting
Star-ted/Installation Guide, User's Guide, and API Guide. Sapphire/Web
comes with a sample application and includes the full source and the
database to give you a jump start into the use of this application builder.
For an additional fee, Bluestone also offers a Sapphire/Web GUI
Development Course, which includes a three-cassette course series and
a 450-page Student Guide to study along with the tapes.
Sapphire/Web uses CGI to interface with databases. Creating an
application takes five steps:
1.A User Interface is made (with HTML), using forms for data input and
requests, and templates are made to hold the data that is to be
returned to the client from the application.
2.The Application Logic is created with application objects from
Sapphire/Web. These can include procedures in the database itself;
dynamic SQL procedures; functions; executables; files (for both
reading and writing); and external CORBA objects.
3.The Interface Objects are bound to Application Objects using the
Object Bind Editor. Sapphire/ Web will then populate the returned
data in the HTML templates.
4.The conditional processing code is added or modified in the
populated templates if necessary.
5.The CGI is generated in C or C++ code that is to be used in the HTTP
server's CGI directory.
Sapphire/Web makes use of two Wizards--a Table Wizard and a
General Wizard--to speed up the development process, and also to allow
the developer to create and add their own wizards to Sapphire/Web, an
option I found could be very useful.
Sapphire/Web allows the use of your favorite HTML editor, or even plain
old Notepad or Pico, to create and edit your HTML documents. Three
types of objects are used by Sapphire/Web inside the HTML documents:
Forms, which can be used to call an application or a database object;
HTML anchors, which require no input from the user; and Data Sites, which
are placeholders in the HTML that will hold returned data from the
database, such as lists.
I found the Sapphire/Web Object Browser/Editor to be a useful tool, but
unlike Cold Fusion, it took quite a bit of use to master. However, the use
of already-developed SQL Stored Procedures in Database Objects sped
up the development process. Also, on the Windows NT platform you can
use Object Linking and Embedding (OLE) objects, which opens up a
whole new development world by enabling developers to integrate OLE
objects--such as spreadsheets, documents, pictures, sounds, and
applications--into their database projects.
The Object Bind Editor is used to bind (put together) the HTML forms,
anchors, and Template Data Sites to Database and Application Objects.
What this means in plain English is that a Web page is used to gather
information fitting certain criteria from the database, and the application
returns that data back to the client on another Web page which is
dynamically created. After using Sapphire/Web's Test Mode to visually
test the newly created objects, you generate the final CGI code in C++ or
C for use on the Web server.
Sapphire/Web is a very versatile program that is flexible and robust.
You can create anything you can make with Cold Fusion and a lot more,
but the program you end up with will be much faster and more stable.
Sapphire/Web also supports the use of framed pages, a great new option
for database applications. Keeping these pluses in mind, before deciding
to purchase Sapphire/Web, you should take some time to consider its
price and learning curve. Although it is possible to use Sapphire/Web
without being an expert C++ programmer, the full potential of the product
cannot possibly be tapped without previous programming and database
experience.
PRODUCT
NetDynamics 1.0 Beta
COMPANY
Spider Technologies Inc., 1054 Elwell Ct., Palo Alto, CA 94303; (415)
944-7430
For a Demo
PRICE
$1,295
Available for:
Microsoft Windows 95 and Windows NT 3.5+, SGI Irix 5.3, Sun Solaris 2.3+,
and HP-UX 10+
Databases Supported:
Any ODBC-compliant database, Microsoft SQL Server, Informix, Sybase,
and Oracle
Requirements:
The current Sun Java Development Kit
Web Servers Supported:
Any industry-standard Web server
NetDynamics is a next-generation Web application builder that integrates
visual development, a Java application server, and WAN-scalable
database access into a slick RAD (rapid application development) GUI that
allows you to quickly develop and deploy database applications on the
Web. While Sapphire/Web and Cold Fusion both offer fast Web-database
application development, Spider Technologies is the first to deliver a
working example of the Java technology we've all been hearing about.
As the upgrade to (and replacement of) the already popular Spider
product, NetDynamics provides built-in Java classes for database access.
These are used for input and output display controls, state management,
interconnection object persistence, and user authorization. The visual
tool compiles server-side Java code that will be executed by the
NetDynamics application server on either Windows NT or Unix platforms.
The client can be any forms-capable browser, as all the Java code runs
on the server. Later versions will also be able to include client-side Java
that will integrate with applets right on the client machine. The Java
application server speeds up the use of SQL processes by as much as 10
percent over normal C++ CGI code.
The installation of NetDynamics is a simple matter of executing the
setup file and filling in the dialog boxes that come up. NetDynamics
installed without a hitch, including setting its own class paths in the
system registry.
At first I tried to use the smaller Web server, Alibaba, with NetDynamics.
Although NetDynamics is supposed to work with any CGI-capable Web
server, it was unable to operate with Alibaba, but I switched to the new
Netscape FastTrack Server, and NetDynamics worked great.
NetDynamics includes full online help, along with a 230-page User's
Guide. The User's Guide gives you an overview and a tutorial quick-start,
and it goes over NetDynamics Studio, which is the basic GUI of
NetDynamics. It also deals with projects, page templates, data objects,
data sources, display fields, and such advanced topics as security and
session management.
It seems that many software companies these days are forgetting that
most users want--and need--to be able to hold the documentation in
their hands so that they can read it and use the program at the same
time. Not only does NetDynamics include ample printed documentation,
the program is also intuitive enough that it doesn't really need it.
Several very useful sample applications come with NetDynamics,
including a simple table-editing project, a shopping-cart project, a
three-tier project, and several others. One of the examples shows you
how to set up a database editor that allows you to search; go to the next,
previous, first, or last; insert; edit; or delete entries--all on one page!
Most of the real work is done in NetDynamics Studio. It's a slick GUI
that displays your current project in a graphical hierarchy. It features
menus, tools, palettes, and editors with which you create new items and
make changes to items that already exist. The Palette contains various
tools--such as insert data field, insert page, insert button, insert HREF, or
insert security object, among others--that allow you to click and drag the
Palette button to the desired place in the project. If you are used to using
Visual Basic or another graphical development tool, you will find this type
of palette very easy to use.
The Toolbar, which lies across the top of the Studio GUI, provides
tools that are used to manipulate files and launch editors. The Inspector is
a special window that displays the properties and events of the currently
selected element of the project you are working on. This allows for easy
editing of these properties and events by clicking them in the Inspector.
NetDynamics uses Wizards to help you in the application development
process. There is a Page Template Wizard, a Data Object Wizard, a
Security Wizard, and a Data Source Wizard. The Wizards allow for the fast
development of applications by guiding the developer swiftly through the
development process without getting buried in details; the details can be
added later in the process. After using the Wizards to create your project,
you simply compile the project and test it in your browser. If you wish to
add your own Java code, buttons, or any additional changes, you use the
Palette and Inspector and recompile. I was also able to create an
application without using any of the Wizards, but they run so quickly that I
found no real reason to do so.
Although NetDynamics doesn't require you to be a Java expert in order
to create full-fledged applications, making changes in the source code is
a lot easier if you have some Java proficiency, or C++ experience at the
very least.
I wouldn't hesitate to spend the $1,295 for a single developer's license
of NetDynamics. It is easy to use, very configurable, and can be used with
practically any database. In addition, the code can be switched from your
NT server to your Unix server with no changes; it's fast and very flexible;
and it's the future of Web application development. The beta version I
tested still has a few bugs to be worked out, but given what the product
offers, that's not a problem.
Conclusion
The development of a database application for the Web is no small task,
but these tools all make that task a lot easier. We must continue to push
forward with our development, never remain static, and never look back.
NetDynamics is pushing toward the future with the use of its Java
application server. Java will undoubtedly become more commonplace, and
NetDynamics can give your organization a jump-start in the business
world. Sapphire/Web is a fast, flexible tool that offers the developer a lot
of choices, and if your company is not quite ready to push into the Java
world just yet, Sapphire/Web can definitely help build any Web application
you care to create. And if you have to put your live database on the Web,
but aren't ready to commit to a product that requires strong programming
skills--not to mention a much greater monetary investment--Cold Fusion
can make your job a lot easier.
-----------------------------------------------------------------------
[1] http://www.webdeveloper.com/current/review.html