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)