

In the Middle: Enterprise-Ready Web App Servers
May 31, 1999
Allaire ColdFusion
Since its beginnings in 1995, Allaire has earned a reputation for producing one of the easiest-to-use Web site development products. With ColdFusion 4.0, which runs under Solaris and Windows NT, the company is clearly trying to extend itself into the realm of full-featured Web application servers.
In large part, Allaire has succeeded, though ColdFusion still lacks a proven track record in large-scale implementations. Some enterprise-class features, such as failover and application-level load balancing, are also missing. For the SME market, however, and especially for those shops that must serve back-end data sources over the Web without the benefit of a large staff of specialized programmers, ColdFusion is a champ. It's also the least-expensive product we tested.
Allaire has improved the depth and functionality of the programming features in ColdFusion without sacrificing the friendly user interface and development environment. Error-handling has been greatly improved, and the new server-side interactive debugger is a great addition. To beef up its system-level services, Allaire bought Bright Tiger Technologies and incorporated its server-level load-balancing and failover services into ColdFusion. Unfortunately, there's still no application or session-level failover available. Load balancing is flexible, with options configurable for both dynamic and fixed algorithms (gradual-use and maximum-load thresholds). Again, these are available only at the server level.
Oracle, Sybase and OLE database access is handled natively, with ODBC available for other data sources under NT. ColdFusion can generate XML documents, but can't parse XML data. CORBA support for external ORBs is provided through the included Visibroker run-time libraries, though ColdFusion can't be a CORBA host. ColdFusion has limited COM and EJB support.
One of ColdFusion's assets is the support of a prolific developer community, and an extensible architecture that allows programmers to write modules (CFXs) for the server to connect to back-end data sources including SAP (available through BackTalk, a third-party product). The architecture is sound, though the tag and page-based paradigm may be awkward for large development efforts.
The ColdFusion Studio and Visual Tools development package (which includes a single-user version of the server) is priced at $395 per seat; the Enterprise Edition of the deployment package for either Solaris or NT sells for $3,495. A Professional Edition of the server is available at $1,295 for NT only, but few developers will want to give up the CORBA and native database support, load-balancing, failover and other features in the Enterprise Edition.
SilverStream Software Application Server
SilverStream's Application Server is a strong all-around performer for serving HTTP or Java applications, and is worth closely investigating, especially for SMEs and organizations moving up to larger application deployments. Release 2.5, in beta at the time of our tests, should be available when you read this.
SilverStream has a well-developed, usable IDE. Although it's not as easy to use as Tango or ColdFusion, nor quite as full-featured as WebObjects, it provides a dual HTML and Java development environment with a clean, object-oriented, intuitive development process. The debugger has good step-through capabilities, with the ability to view (but not modify) variables. However, no cross-component debugging is available.
SilverStream ships several DSOs (Data Source Objects) with the product--essentially, Java classes used as interfaces to connect back-end data sources and legacy systems. A DSO for CORBA objects is included, along with a sample application that connects to Lotus Notes, but DSOs for other systems, such as SAP and PeopleSoft, while planned, are not included. Native drivers are provided for IBM DB2, Oracle, Microsoft SQL Server, Informix and SQL Anywhere, with support for Sybase through Sybase's JConnect.
Cross-platform support is strong, as it is with the other 100-percent Java products: AIX, HP-UX, Solaris and NT versions are available. Inprise's Visibroker for Java ORB is included; CORBA/IIOP support is solid. Version 2.0 features a Business Object Designer--a full IDL compiler and assistant for creating distributable, CORBA-compliant objects. The NT version of SilverStream can communicate with COM objects as well, via wrappering in Java. EJB support is still unavailable, though it's scheduled to be included in the 3.0 release. We also found a shortage of built-in transaction capabilities.
Architecturally, SilverStream Application Server is robust. The server structure is sound, with server-level load balancing, clustering and basic multitiered failover, all remotely and easily configurable through the new Java-based SilverStream Management Console (SMC). The console is API-based, so developers should be able to write components to remotely manage custom attributes they build into deployments.
Session-level failover is available, but we found it requires a developer to code it into the application, albeit in a relatively simple fashion. The load-balancing algorithms are also fairly simple round-robin and next-available types, with limited levels of management granularity. If you need more complex failover algorithms, SilverStream recommends hardware-based solutions.
Security is a strong point; Application Server can use JNDI (Java Naming and Directory Interface) to authenticate against services including LDAP, Sun NIS (Network Information Services) and NT domains. SNMP management is supported, and drivers for SourceSafe and PVCS source control are included.
SilverStream's price falls in the midrange, with developer environments at $500 per seat, starting with a five-pack for $2,500. Deployment licenses are handled per CPU, at $10,000 each in one-, two- and four-CPU versions.
|