ColdFusion Makes Speed, Control Gains

Macromedia confirms next release is Java-based.

Macromedia Inc.s first release of what was Allaire Corp.s ColdFusion Web application server, which will ship early next month, provides some innovative but incremental changes that current ColdFusion developers will welcome.

eWeek Labs tested a near-release-candidate build of Macromedia ColdFusion 5. Virtually all the changes we found are administrative updates (such as reporting and monitoring tools that go further than what any other script-based application server provides) or under-the-hood engineering such as performance tuning.

There are a handful of new language capabilities, including a tag that let us dynamically create graphs from database data (in Macromedia Flash or JPEG formats) and a query-a-query feature that will provide faster and more flexible database access, but language changes arent the focus of this release.

Thats because the biggest news for enterprise developers isnt what ColdFusion 5 is but what it will become. When Macromedia briefed us about this release, we finally got official confirmation of what weve anticipated for some time: ColdFusion 6 will be a Java-based application server.

Specifically, Macromedia is reimplementing the ColdFusion language as JavaServer Page tags. As a result, ColdFusion pages will compile to Java servlets, and ColdFusion users will be able to freely mix and match Java with ColdFusion.

What Java Will Fix

This change addresses the biggest negative of ColdFusion for enterprise development—lack of any language scalability to large projects. ColdFusion physically scales well through its support for server clustering, but developing large applications with reusable, modular objects in ColdFusion tags is a sticky proposition. Native Java support will fix all of that. Macromedia is showing early versions of Cold-Fusion 6 at user group meetings but has not announced any release dates.

The Professional Edition of ColdFusion 5 runs on Windows NT, Windows 2000 and Linux; the Enterprise Edition runs on the same operating systems as well as Solaris and HP-UX. The Enterprise Edition adds support for clustering and native database drivers and includes a bundled copy of Netegrity Inc.s SiteMinder 4.11 authentication and access control software. The Enterprise Edition will be available for Solaris, HP-UX and Linux later this summer (the Windows Enterprise Edition will be available next month with the Professional Edition release).

The Professional Edition costs $1,295; an upgrade from 4.x Professional costs $650. The Enterprise Edition costs $4,995; an upgrade from 4.x Enterprise costs $2,495.

There are a number of substantial administrative changes in this release. A new performance module tracked usage statistics over time, and we could view statistics by hour, day, week or month, although, unfortunately, without the benefit of graphs, making it hard to detect changes in usage patterns. We could use the Windows Performance Monitor tool to graphically display statistics, but thats not an option on Unix systems.

Another module tracked all server configuration changes, making it easier to tell how and when the server was reconfigured.

An SNMP agent is included for the first time; it will enable centralized management consoles like Hewlett-Packard Co.s OpenView to track ColdFusion usage statistics, and a new application packaging function let us package all site code and settings for easy backup or deployment to a new server.

Log management and viewing has also been completely redone. We could sort and filter logs by a number of criteria, including time or severity, and set up e-mail alerts for when Web server loads passed certain levels.

ColdFusion Administrator can also do some system monitoring itself now. We could configure a ColdFusion monitoring agent to check every minute to see whether the server was up or not, and if it wasnt, try to restart the server or run a custom program.

This new management infrastructure is going to be shared with Macromedias JRun Java application server (an embedded version of JRun is included with ColdFusion 5 for the programs internal use), showing a steady merger trend between ColdFusion and JRun.

Good Scores Get Better

Performance was a big focus for this release, although as our comparative benchmark tests showed, the previous version of ColdFusion had decent performance.

According to Macromedia officials, faster performance was a top feature request, and so they spent considerable effort profiling and hand-tuning ColdFusion, going so far as to replace standard C library function string handling calls with custom replacements stripped down for speed.

Using the same benchmark code running on a dual-processor 450MHz Pentium III system with 512MB of RAM, ColdFusion 4.51 with Service Pack 1 ran at 37 pages per second while ColdFusion 5 ran at 65 pages per second—a 75 percent increase. We did not have to edit our Web application at all—it ran unchanged with Version 5.

We used Oracle Corp.s Oracle8i Release 2 database in our tests and found that the ODBC (Open Database Connectivity) driver we used with Oracle had a huge impact on overall throughput. Oracles own ODBC driver had the slowest performance; the Merant plc. drivers included with Cold-Fusion had good performance, and Microsoft Corp.s ODBC driver for Oracle was fastest of all. At least for those using ColdFusion with Oracle, simply changing the ODBC driver used might yield a big performance gain.

As with previous releases, Cold- Fusion 5 supports application server clustering in its Enterprise Edition, providing fault tolerance and a path to higher throughput.

ColdFusion includes software-based clustering software as well as tools to integrate with Cisco Systems Inc.s Local Director hardware-based IP traffic load balancer.

This release finally introduces support for native ColdFusion functions (instead of the kludge that previous versions of ColdFusion used, defining custom tags as stand-alone ColdFusion pages).