Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers Request free information on products written about or advertised in BYTE Submit a press release, or scan recent announcements Talk with BYTE's staff and readers about products and technologies

ArticlesToolkits for Building Web Applications


December 1997 / BYTE Software Lab Report / Toolkits for Building Web Applications

Want to construct and maintain Web sites and Web-based applications? We look at seven tools ready to help you.

Steve Gillmor

The most popular application for creating and maintaining Web sites comes free on every Windows machine. It's NotePad -- the simple text editor that lets you enter raw HTML. But the evolution that occurred from text editors to word processors to desktop publishing programs is mirrored in the rapid growth of Web application-development tools. A variety of strategies are emerging to combine page authoring, application d evelopment, and site management into a single box.

We survey a mix of solutions, ranging from WYSIWYG drag-and-drop tools to highly scalable suites that speak fluently to PCs and mainframes alike. The common thread i s the desire to leverage existing knowledge and legacy code while embracing the component-based future.

Visual InterDev

First, the usual caveats: Microsoft products run best -- and sometimes only -- with Windows, and Visual InterDev (VI) is no exception. VI leverages Internet Information Server's (IIS) Active Server Pages (ASP) technology, requiring a Windows NT server (or the third-party ChiliSoft extension to run on other Web servers). Although VI supports both Java and a flavor of JavaScript, it favors Visual Basic (VB), VBScript, and ActiveX. And its Database Designer works only with the company's SQL Server database.

But those who are betting on Windows NT will find V I a powerful integrator of the industry-leading Microsoft tool set. The program's integrated development environment (IDE) combines the look and feel of Office 97 with the functionality of Visual C++ and Visual J++.

Like VB 5.0 and Internet Explorer, VI is an Active Document container, letting developers work with Excel, Word, and other ActiveDoc files without leaving the IDE. The program comes with Image Composer, Music Producer, and Media Manager to help massage content, but you can configure the IDE to launch a favorite application, such as Photoshop, by double-clicking on a designated file type or using the Open With command.

VI includes a version of the FrontPage 97 HTML Editor and the client-side Script Wizard, which first shipped with the ActiveX Control Pad freeware. The Script Wizard generates either VBScript or JScript, providing both drag-and-drop and direct code editing.

Design-time ActiveX controls automate the creation of server-side scripting, which speaks to NT's ASP engine. I used the Data Form Wizard to generate a data-bound HTML form that modifies records in an ODBC-based database, and I sailed hands-free through a session with two Data Range design-time controls.

The Data Range Header control launches the Query Designer, giving you a drag-and-drop tool for building SQL statements against ODBC databases. The necessary Active Server scripting is automatically generated, although you need to do some manual editing to insert appropriate database variables.

When a user requests the resulting URL, IIS's ASP engine processes server-side code, initiates a user session and a dialogue with the back-end database, and then returns dynamic output as text and HTML. Proprietary source code remains on the server.

You can preview your work within the IDE via the Internet Explorer ActiveX control or launch a browser. The Data View lets you manage multiple database connections, right-clicking to view table definitions, field types, key structures, and stored procedures. The Da tabase Designer provides Access-like tools that generate Data Definition Language (DDL) commands to design and create SQL Server tables and database diagrams.

For a bird's-eye perspective, switch to Link View's iconic layout of your site. Broken links are indicated in red, and you can filter elements by executables; HTML; multimedia; and internal, external, primary, and secondary links. If you rename or move a file, VI automatically repairs references. Microsoft's Visual SourceSafe can be integrated for check-in/check-out and version control, and FrontPage users can work with VI developers.

HAHTsite

HAHT Software's HAHTsite 3.0 strives to be the best of all worlds, bridging multiple platforms, Web servers, databases, APIs, and browsers. If you like VB and the Visual Studio IDE, you'll be up and running in no time with HAHTsite's VB-compatible HAHTtalk Basic and the Web Project Explorer. Plus, you can use HAHTtalk Basic to manipulate and create instances of any Java object class.

The multiprocessing, multithreaded Application Server performs much the same role as Microsoft's IIS ASP engine, intercepting calls to compiled application code and dynamically generating HTML pages. The HAHTsite server uses cookies and state IDs, inserting the client browser's IP address into the state ID for added security.

HAHTsite supports Microsoft's DAO database object model, plus native access to Oracle7, Microsoft SQL Server, Sybase SQL Server, and Informix data stores. The HAHTsite Connection Manager lets every element of a project share a single log-in connection to a database.

The HAHTsite IDE provides a suite of form controls -- text areas, buttons, check boxes, radio buttons, listboxes, and text and combo boxes -- and the DataSet control, which binds a form's controls to database tables and provides Insert, Update, Delete, Query, Requery, Clear, and Move actions. The Form Wizard prompts you to select a table or provide a SQL query and specify fields, controls, buttons, and layout; it th en generates a database-bound HTML form. Other wizards include report generators, plus a visual click-and-drag HTML frame-creation tool.

HAHTsite's Widget design-, file-save-, and run-time controls can be authored in HAHTtalk Basic with the help of a wizard and the built-in SDK, or you can use prebuilt widgets to add Java applets, ActiveX controls, auto-updating link-navigation bars, and mail-to handlers to your pages. Setting sidebar properties generates JavaScript field-validation code. Portions of pages can be saved as Clips in the Web Project Explorer, and you can drag pages into the HAHTspot image-map editor to generate client- and server-side map files.

HAHTsite repairs broken links, compiles code into machine-independent p-code, and transfers updates to one or many servers via file copy, FTP, or HTTP. The program manages differences between Web servers and OSes, using preconfigured site definitions to handle file extensions, path data, case sensitivity, and other dependencies. You can use t he Visual Web Debugger locally or on a remote system via a password-protected TCP/IP connection.

Cactus

Information Builders' Cactus 5.0 takes cross-platform a big step further, offering client/server/Web applications that scale right up to mainframes. Cactus works with Information Builders' Enterprise Data Access (EDA)/SQL middleware servers to allow three- and n -tier partitioning over a variety of protocols on 70 database types on 35 platforms. Cactus's Maintain 4GL programming language runs natively on Unix, NT, and MVS, doing in one line of code what would take 10 lines in VB or 20 lines in Java. The language-learning curve is offset by the Case Assist syntax wizard.

In the Cactus Workbench, you use the Form Painter to develop your application's front end, navigating the Object Browser to access and control your presentation, business-logic, and data-access components. File Painter gives a hierarchical view of database structures, and Partitioning Manager lets you drop locally developed procedures onto multiple servers.

Converting a Cactus client/server application to the Web takes one click; the toolbox toggles to offer alternatives based on the current mode. Proprietary code maintains pixel-perfect positioning of form objects, and you can view HTML tags in the Properties dialog box. Java applets, tables, and image maps can be inserted and configured with ease; both JavaScript and VBScript are supported.

When a browser requests a Cactus application, the Web server calls a CGI program that sets environmental variables and sends connection information to the Cactus Persistent Attach Manager. This process checks the IP address and cookie data, spawns a new task for a new connection, and maintains the state of existing ones. Though processor-intensive, CGI's widespread platform support makes sense in Cactus's universe.

VisualWave

VisualWave 2.0 inherits a large base of client/server applications from ObjectShare's (formerly ParcPlace-Digitalk) VisualWorks, w hich uses Smalltalk and its library of more than 900 classes and 24,000 methods. VisualWorks divides applications into an information model, which handles data storage and processing, and a user interface, which handles I/O. This allows the reuse of components in different types of applications and lets developers maintain relatively stable elements (e.g., inventory control and accounting) while updating more volatile user interfaces.

VisualWave's IDE adds Canvas, Layout, Hot Regions, and Frames editors to the parent VisualWorks toolkit, which contains browsers, inspectors, a symbolic debugger, and file and resource managers. The interface is difficult for the average Windows user, but it proves efficient once you've mastered it. The program dynamically generates HTML and CGI interfaces.

VisualWave supports ActiveX controls, Java applets, JavaScript, and an Image-to-GIF converter that renders graphics drawn using the Image Editor and the bundled business-graphics library. You paint your canvas fro m a typical selection of widgets, although some types of controls -- group boxes, combo boxes, and sliders -- don't survive the voyage to HTML. VisualWorks provides a menu editor, but VisualWave converts the results into an image that acts like a set of buttons on the page.

VisualWave comes with a personal Web server to test your code. You need the separate VisualWave Server to deploy completed applications in conjunction with HTTP servers, including Netscape, IIS, NCSA, and WebSite.

Domino/Notes

The 4.6 release of Lotus's Domino/Notes offers unique tools for creating and maintaining internet/intranet sites. The Domino Web server renders an interactive combination of Notes databases, Java agents, and pass-through HTML, adding integrated SMTP MTA messaging, IMAP, POP3, NNTP, LDAP, and Secure Sockets Layer (SSL) 3.0 security services. A new browser-based administration panel smoothes the daunting Notes learning curve.

The Notes Designer client takes giant steps in managing the interop erability between Notes and Web versions of applications. Developers can now hide application elements from Web or Notes users programmatically and write Java agents to supplement canned actions, formulas, and the VB-like LotusScript. Notes Access Control Lists (ACL) let you authenticate and track users dynamically and offer customized data and work-flow capabilities.

New templates and sample applications include threaded discussion, registration, a document library, mail, a frame-set generator, and a Web-page cataloger. The client features tight integration with Internet Explorer, using its ActiveX component to test pages inside a Notes document window with the Preview command. Active Document support lets you integrate Microsoft Office, Lotus SmartSuite, and VB-created applications into the IDE. You can use the bundled Lotus BeanMachine to author Java applets and then embed and execute them within Notes forms.

Domino's replication technology makes it easy to author sites on a workstation and the n deploy them across firewalls to multiple Domino servers. Although the product does not provide a drag-and-drop view, you can use a combination of embedded views, navigators, and folders to let users manage the site as they add, modify, and move documents through the Notes object store. LotusScript extensions provide ODBC access, and Java CGI support allows multithreaded Java servelets to stay resident in the Domino server's Java virtual machine (VM) for multiple concurrent requests.

Summing Up

Visual InterDev narrowly captures first place by combining price/performance with features that come close to those of HAHTsite's comprehensive tool set. But in many ways, each of these products is best of breed in its primary constituency.

Visual InterDev's natural advantage as an NT loss leader is offset by HAHTsite's cross-platform embrace of both DCOM and CORBA. Meanwhile, Cactus offers a highly scalable solution for migrating millions of lines of legacy client/server code, and VisualWave deli vers on Smalltalk's goal of reusable business-based objects. Both Cactus and VisualWave work toward the same goal of rapid translation of existing client/server applications, but they take quite different routes.

Domino/Notes 4.6 is an obvious choice for Notes shops. But its integrated Web server, programmable architecture, single object store, NT integration, and balanced adoption of ActiveX and Java make this solution a good choice for others.


Product Information


Cactus 5.0.........................$3400; $5600 per NT server

Information Builders
New York, NY
Phone:    800-969-4636
Phone:    212-736-4433
Fax:      212-967-6406
Internet: 
http://www.ibi.com/

Enter 1090 on Inquiry Card.
Information on 
this product
 and similar products (data management)

Domino/Notes 4.6...................$ 495


...................................$1495/$3495 per single/SMP server

Lotus Development Corp.
Cambridge, MA
Phone:    617-577-8500
Internet: 
http://www.lotus.com/

Enter 1091 on Inquiry Card.
Information on 
this product
 and similar products (data management)

Fusion 2.0.........................$ 295

NetObjects, Inc.
Redwood City, CA
Phone:    415
-482-3200
Fax:      415-562-0288
Internet: 
http://www.netobjects.com/

Enter 1094 on Inquiry Card.
Information on 
this product
 and similar products (data management)

HAHTsite 3.0:


IDE................................$1995


Integrated Publisher...............$ 695 per developer


Application Server.................$4995/$6995 per CPU (NT/Unix)


Distributed Application Server.....$7495/$9995 per CPU (NT/Unix)

HAHT Software, Inc.
Raleigh, NC
Phone:    888-438-4248
Phone:    919-786-5100 
Fax:      919-786-5250
Internet: 
http://www.haht.com/

Enter 1092 on Inquiry Card.
Information on 
this product
 and similar products (data management)

Netiva.............................$1999/$2999/$4999 (for 2/4/10 connections)

Netiva Corp.
Campbell, CA
Phone:    888-263-8482
Phone:    408-379-2100 
Fax:      408-341-1830
Internet: 
http://www.netiva.com/

Enter 1093 on Inquiry Card.
Information on 
this product
 and similar products (data management)

Visual InterDev....................$ 499

Microsoft Corp.
Redmond, WA
Phone:    425-882-8080
Fax:      425-936-7329
Internet: 
http://www.microsoft.com/

Enter 1095 on Inquiry Card.
Information on 
this product
 and similar products (data management)

VisualWave 2.0:


VisualWave Server 2.1..............$4995/$9995 (NT/Unix)

ObjectShare, Inc.
Sunnyvale, CA
Phone:    408-481-9090
Fax:      408-481-9095
Internet: 
http://www.objectshare.com/

Enter 1096 on Inquiry Card.
Information on 
this product
 and similar products (data management)


Information on products in the data management category HotBYTEs - information on products covered or advertised in BYTE

Best Overall: Microsoft Visual InterDev

With a terrific set of well-imple mented features and a bargain price, VI is our clear winner.
Price Per Developer Price Per Server Technology Implementation Performance Usability Overall Rating
Visual InterDev $499 stand-alone; $249 upgrade None extra ***** **** **** ***** *****
Cactus 5.0 $3400 $5600 **** *** ***** *** ****
Domino/Notes 4.6 $495 $1495 single CPU; $3495 SMP ***** **** **** **** ****
HAHTsite 3.0 $1995 $4995 and up/$7495 and up (distributed app server) per CPU ***** **** ***** **** ****
VisualWave 2.0 $4995 $4995 and up **** **** **** *** ***
Key:    BB = BYTE Best .   Ratings: ***** Outstanding, **** Very Good, *** Good, ** Fair, * Poor

Web Toolkit Features

BB=Visual InterDev HAHTsite Cactus VisualWave Domino/Notes Fusion Netiva
Authoring Tools
WYSIWG visual editor * * * * *
Color-coded HTML editor * * N/A
Graphics editor Bund led * *
Debugger Downloadable from Web * * * *
Design-time controls * * Dynamic views, navigators
Java applets * Create and add * * * * *
ActiveX controls * * Manual * * *
Frames editor/wizard Wizard Editor Wizard Editor
Image-map editor/wizard Editor Editor Editor Editor Editing within IDE Editor
Client-side scripting editor/wizard Both Bo th Editor Editor Bundled Acadia InFuse JavaScript/HTML editor Macro editor
Multibrowser preview * * Manual Manual * * Manual
Pixel-perfect positioning * * *
Extensible IDE * * * *
Templates * * * * * *
Site Management
Site view * * Dynamic views *
Project view * * * * * * *
Link repair * * * * *
One-button publishing * * * Via replication * *
Session/state management * * * * Post-authentication *
Site import * * * *
Database Tools
ODBC * * * * * Static only *
Native drivers ODBC Oracle7, Sybase, Microsoft SQL Server, Informix 60 databases via EDA Oracle7, Sybase, SQL Server 10 and 11, Informix ODBC ODBC static only Microsoft SQL Server, Oracle7
Built-in database * * Static only *
Data-bound HTML * * * * *
SQL generator * * *
Application Server
Server-side scripting VBScript, JScript HAHTtalk Basic, Java VBScript, VBA, JavaScript Smalltalk LotusScript Agents, Java Agents Macro processing via persistent client connection
Platforms Windows 95, NT NT, AIX, HP-UX, Solaris MVS, VM, Unix, NT, VMS NT, HP-UX, Solaris NT, Solaris, HP-UX, AIX, OS/2, OS/390, NetWare Windows 95, NT
Protocols TCP/IP, TCP/IP, CORBA, TCP/IP, LU6.2, TCP/IP, TCP/IP, Notes, RPC, TCP/IP
DCOM IIOP, DCOM LU2, phone CORBA, IIOP NNTP, LDAP, POP3, SSML 3.0, IMAP
Built-in Web server Development version Development version Development version * N/A
Web server support IIS, Personal Web Server for Windows 95 All Any supporting CGI and HTML 2.0 and higher All Domino All All
Java run-time * * * N/A
CGI, ISAPI, NSAPI ISAPI * CGI CGI, NSAPI CGI * N/A
Multitiered applications * * * * * *
Key:    BB = BYTE Best . Ratings: * = yes, N/A = not applicable

Embrace Diversity

screen_link (119 Kbytes)

This collage of screen shots shows off the diversity of approaches that these toolkits take, as well as the natively graphical nature of the Web.


A Terrific Set

screen_link (71 Kbytes)


Steve Gillmor is a consultant with Southern Digital in Mount Pleasant, South Carolina. You can reach him at sgillmor@southerndigital.com .

Up to the BYTE Software Lab Report section contentsGo to next article: At Your ServiceSearchSend a comment on this articleSubscribe to BYTE or BYTE on CD-ROM  
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network