GCN Home > October 1999 issue
Web Application Development Tools
Story Tools:
 Identixs Revize is a client-server product in Java that lets developers manage their Web sites modules from the control panel. It is priced at $895. |

The road to a more active, useful Web site is paved with kits that provide easy database access and programming functions

By Amy Helen Johnson
Special to GCN

Back in the early days of the Internet boom, a government agency was in the vanguard if it put up a Web site full of single-spaced text files and a search function that allowed people to hunt down the exact wording, say, of Regulation 2795-A, Paragraph 4(d).

No more. Today, forward-thinking agencies conduct business over the Internet using Web sites that resemble dynamic, database-driven corporate information systems. Building these sites requires modern programming tools geared toward Web application development.

The programming tools featured all serve the professional software developer. Pure markup language tools, or Hypertext Markup Language editors, are not covered. I also have not included Java programming-language tools in this report.

Broadly defined, Web development tools are programming toolkits for building browser-accessible, multitiered applications running over an IP network. To paraphrase an old saying, there are two types of Web development software packages in the world. The first is a traditional client-server software-development suite that has added Web capabilities.

The approach these tools take is that an Internet or intranet is another deployment platform; their roots are in software development. Familiar names such as Sybase Inc.s PowerBuilder and Inprise Corp.s Delphi fall into this category.

The second set emerged contemporaneously with the Web. These tools arrived in response to a need by site developers to move beyond static information display. They wanted to add more complex capabilities, involving database access and information processing, to their sites. Products such as Fusion from NetObjects Inc. and Drumbeat 2000 from Macromedia Inc. typify this approach.

In concert

But theres always an exception to the two-types rule.

Lotus Notes began as collaborative groupware and was neither a client-server application nor a Web site tool. As the word intranet crept into the developer lexicon, however, Lotus Development Corp. saw the wisdom of broadening Notes appeal by incorporating browser-based client capabilities and access to non-Notes back ends. To help developers build these expanded Notes applications, Lotus delivered Domino Designer.

Database-driven code is the classic application of multitiered programming; without the ability to read and write datato change the information stored in the databaseall youre left with is a static lookup system. So a key factor in determining the appropriate Web application development tool is how easily it lets you access information stored in a database.

Database access boils down to drivers: native database drivers and connectivity standards such as Open Database Connectivity.

Native drivers are the better of the two. They are tailored to the parameters of the back end and usually execute more quickly than a generalized solution such as ODBC. But ODBC has the advantage of being generic, so the application wont notice if the back- end changes.

Another database capability to look for is a tools support for the Structured Query Language. SQL is the lingua franca of database programming. In Web apps, you want to be able to embed SQL statements, passing through to the database for processing, by either coding directly or using a wizard.

 Allaires Cold Fusion Studio 4.0 integrates with databases and coding languages for developing team projects from multiple sites. It is priced at $395. |

The other way to run SQL is to call stored procedures, which are precompiled SQL functions stored on and executed by the database.

Databases are only one tier of a multitier application. The database tier handles the activity on the databasereading, writing, updating and deleting data. Once you have that data, however, you want to process it.

There is a middle tier that acts on the data according to business rules. This logic tier can be written in Java, C++ and some scripting languages. Components and objectsCOM, ActiveX, JavaBeansalso are ways to put programming functionality into your application. This tier runs on a machine separate from the database server, the application server.

The next tier in the application is the client tier. In the Web applications being discussed here, the client is always a browser.

You want your Web development tool to be able to generate HTML for an end users browser.

But there are two fiercely competitive browsersMicrosoft Internet Explorer and Netscape Navigatorthat differ enough to cause trouble if youre not careful with your choice of HTML. Most tools take care of the compatibility problem by sticking to a subset of commands common to both browsers.

In addition to displaying the results of your database request and information processing, your Web applications end-user interface will need to include certain graphical elements such as navigation buttons and your agencys title.
| Tips for buyers | |
Look for ODBC support at the very least, but remember that native database drivers are better.
Realize that SQL support is a must; the various types are embedded, pass-through and stored procedures.
Make sure you are comfortable with a products procedural language and that it has rapid application |
development tools to speed development.
Generate standard HTML for the output screens, allowing the widest range of browsers to use the app.
Look for collaboration features if you work in a team.
Opt for a suite if you dont already have a development infrastructure. | |

If your Web application uses more than one display page, you will use these elements over and over again. In this case, it is useful to have templates for the client-tier pages so you can add the specific results of the applications output.

One of the most important characteristics of a Web development environment is rapid application development capabilities. These are featuressuch as visual editors, wizards and code repositoriesthat let you quickly prototype, build and refine your application. Because design and development are repetitive processes, RAD features greatly reduce the development cycle. All of the products in the accompanying chart have RAD capabilities.

The final thing to consider when choosing a Web application development tool is the need to coordinate programming work among several people.

It is rare these days that an entire app is written by one person, so check for the ability to hook into a team programming infrastructure, whether it is bundled with the toolset or a third-party system.

A bit more

Vendors sometimes offer expanded suites of development tools that go beyond the programming environment included in this guide. Such tools are designed to cover the applications lifecycle.

If you dont have a programming infrastructure in place, a suite will give you all the elements you need

Amy Helen Johnson, a free-lance writer in Seattle, covers information technology.
