Three Web-to-Database Connection Tools
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.
Cold Fusion™ Professional 1.5
7600 France Ave.
Edina, MN 55435
For a Demo
Microsoft Windows 95 and Windows NT 3.5+
Any ODBC-compliant database, Microsoft SQL Server, and Informix, Sybase, and Oracle with the vendor-supplied ODBC-Unix drivers
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 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.
1000 Briggs Road
Mt. Laurel, NJ 08054
For a Demo
Microsoft Windows 95, Windows NT 3.5+, Unix, HP, Sun, SGI, IBM, Digital
Any ODBC-compliant database with the Windows platforms; Informix, Sybase, and Oracle with the Unix platforms
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:
- 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.
- 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.
- 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.
- The conditional processing code is added or modified in the populated templates if necessary.
- 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.
NetDynamics 1.0 Beta
Spider Technologies Inc.
1054 Elwell Ct.
Palo Alto, CA 94303
For a Demo
Microsoft Windows 95 and Windows NT 3.5+, SGI Irix 5.3, Sun Solaris 2.3+, and HP-UX 10+
Any ODBC-compliant database, Microsoft SQL Server, Informix, Sybase, and Oracle
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.
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.
Scott Clark (firstname.lastname@example.org) is Technical Editor of Webdeveloper.com.
Web Developer® Site Feedback
Copyright © 2000 internet.com Corporation. All rights reserved.