Cold Fusion 4.5 for Linux: A Review

By: Kevin Reichard
Sunday, November 14, 1999 05:09:10 PM EST
URL: http://www.linuxplanet.com/linuxplanet/reviews/1234/1/

Addressing the Enterprise

One of the biggest criticisms of Linux in the IT world is the lack of available robust server-side applications. Sure, you have Apache and sendmail, but you don't have the wide range of server products, like application servers and database-management products, that you do in the Solaris and Windows NT world.

By and large that's true, but more and more server-software vendors are realizing that Linux support is a smart business proposition, provided there are accompanying software tools to fit specific needs. The latest entry in the Linux enterprise-software field is Cold Fusion 4.5 for Linux. Allaire pioneered the application-server field, and with this upcoming release, Linux should be considered as a serious player in the enterprise-server market. Cold Fusion 4.5 for Linux joins IBM's WebSphere and BEA's WebLogic as a serious enterprise-level application server that runs on Linux.

We downloaded Cold Fusion 4.5 from the beta site a few weeks ago and put it through its paces. Despite its status as beta software, Cold Fusion 4.5 was stable and surprisingly useful software. Anyone who's used Cold Fusion in the past should have no problems finding their way around this new release. By and large, most older Cold Fusion applications should work with minimal modifications in 4.5.

One of the biggest past criticisms of Cold Fusion is that it was developed originally and exclusively for the Windows platform, but with version 4.5 Cold Fusion is extended with native Linux and Sun Solaris support. (An HP-UX release is planned for the first quarter of 2000.)

However, the Linux support isn't as extensive as we'd like: currently Allaire supports Cold Fusion 4.5 only on Red Hat Linux 6.0 or 6.1 running Apache HTTP Server 1.3.6 or 1.3.9. (To use this technology requires some small changes in your Linux configuration: you must have the ksh shell installed, and you must compile in some optional modules into Apache.) That's a shame, considering that the clustering technologies in TurboLinux or the sheer performance of Slackware Linux would be perfectly suited to an application server in an enterprise situation.

Our hope is that Allaire puts some effort into making sure that Cold Fusion 4.5 runs on a wide variety of Linux distributions (an effort to do so, according to the Allaire Cold Fusion release notes, is currently underway). On the Windows platform, Cold Fusions 4.5 works with a variety of technologies, including any Web server running a Common Gateway Interface (CGI), and that wide variety of support should be replicated in the Linux and UNIX worlds.

In addition, Allaire sees Linux as a server platform, not as a development platform. Allaire separately sells Cold Fusion Studio, a package for developing Cold Fusion applications, only in a Windows version. (This is too bad, as Cold Fusion Studio is a great development platform, providing support for JavaScript as well as support for object middleware like COM and CORBA.) But except for a few features (for instance, the Verity indexing engine and the Allaire Forums discussion software don't run under Linux, and there are some security differences that we'll cover later in this review), system administrators shouldn't see a big difference between the Linux and Windows versions of Cold Fusion.

The lack of Linux support isn’t the only criticism that Allaire addresses with version 4.5. A pleasant surprise is the added emphasis on Java within Cold Fusion. In the past, Cold Fusion was built around a proprietary markup language, CFML, that never really gained wide acceptance outside the Cold Fusion audience. While we're not going to get into a deep discussion of the CFML markup language--Cold Fusion devotees defend it in much the same manner as Tcl devotees defend Tcl and Perl devotees defend Perl--it was clear that if Cold Fusion were to ever gain a wider acceptance in the application-server world (where Java now reigns) it would need to address Java support at some point.

And that time is now.

Embracing Java

Cold Fusion is now much more extensible, with support for technologies other than CFML. Most notable is the Java support, and Allaire added this support in a big way with a number of enhancements. The most notable is Java Object and Enterprise JavaBean (EJB) connectivity, where a Cold Fusion application can connect to any EJB server to access complex business logic or third-party distributed components. On a practical level, this means that an enterprise already committed to Java and EJB can now integrate Cold Fusion technology into its existing scheme.

The Java support continues with a servlets engine, JRun, that gives Cold Fusion applications the ability to call Java servlets. In addition, Cold Fusion Extensions (CFXs) can be created in Java. The add-on market for Cold Fusion is a lively one, so this Java support is important for many smaller developers.

There are other noteworthy integration features. There's added support for the eXtensible Markup Language (XML), as well as support for Character Large Binary Objects (CLOB), used for encoding binary objects and transmitting them via XML. There's support for Web Distributed Data Exchange (WDDX) 1.0, used to exchange complex data between servers and other programming environments. Cold Fusion 4.5 also increases support for electronic mail on the enterprise level in two ways. First, there's support for LDAP 3.0 for directory access and authentication, moving past the Windows directory support found in previous versions of Cold Fusion. Second, there are advanced tools for creating e-mail-centered applications with new support for controlling mail headers, BCC fields and multiple file attachments.

One area where Cold Fusion 4.5 for Linux is lacking is in the security field, where many of the security tools are still centered around Windows NT. Even though Allaire has done a good job of migrating Cold Fusion to the Linux world, the server still doesn't "feel" like a Linux application in some ways, and security is one area where the Windows NT-only tools are still more advanced than the Linux counterparts. For instance, Cold Fusion security can be set up to work with an existing Windows NT security system architecture, with authenticated users for an application being limited to privileges authorized through Windows security. Similarly, you can create OS Server Sandboxes, which process all requests under the privileges of a designated Windows NT user account. These are Windows NT-only featured that have no counterparts in the Linux version.

Load-Balancing and Failover

Those who haven't followed the application-server market should know that, like Linux, Cold Fusion has been seeking respect in the enterprise world. With availability only on Windows NT, a commitment to a proprietary development language, and the lack of some sorely needed reliability features, Cold Fusion has seen a wide acceptance only in the midsized departmental level, where a small workgroup could easily set up and manage a single Cold Fusion server. That's why the popularity of Cold Fusion is somewhat misleading: without penetration into larger enterprises, Cold Fusion could potentially be ghettoized and eventually lose market share.

The process of tailoring Cold Fusion into a multitiered application server began before the release of 4.5. However, with the introduction of some new scalability and reliability features and the support for Linux (which is a much more stable server platform than Windows NT), Cold Fusion is ready for the enterprise. (By and large, the features listed here are available only in the Enterprise Edition.)

First off, Cold Fusion supports clustering on the Linux platform, something that Linux itself doesn’t do a particularly good job of. Cold Fusion 4.5 enables load balancing and failover with two components: ClusterCATS Server and ClusterCATS Explorer. Those from outside the enterprise or mission-critical-application worlds may not realize how significant these features are, particularly in a Linux environment. Load balancing is pretty much what the name implies: within a cluster of servers, the ClusterCATS server ensures that the workloads of the servers remain appoximately even, so that one server isn't totally overwhelmed while the others are underused. The load balancing in Cold Fusion isn’t among the most advanced, as it relies mainly on some rough calculations of server levels. Similarly, failover means that if a server or an application hangs or fails, then the sessions are switched to another server in the cluster while ClusterCATS attempts to recover the failed application server. (This can be done on Linux servers outside of a cluster as well.)

For the enterprise, the Cold Fusion load balancing can be enhanced on a network using Cisco Local Director software. Local Director provides advanced load clustering based on load metrics and application-server availability, so there's a much more sophisticated analysis of usage levels and a better response to any problems.

Cold Fusion 4.5 also enhances performance with a number of small steps which, when combined, should yield some verifiable results. For instance, client-side page caching improves site performance by keeping frequently accessed pages in RAM. Cold Fusion also reduces white space in pages, making them smaller and faster. Debugging system performance can be done via scriptable performance metrics during runtime, while also accessing debugging information on the performance of each individual page included in an application page.

In the End

Cold Fusion 4.5 for Linux is available in two editions, and the final release is expected sometime in December. Currently Allaire is accepting orders for the Professional and Enterprise Editions. The Professional Edition is available for $995; that price will rise to $1,295 on 1/1/00. Cold Fusion Enterpise 4.5 for Linux (as well as Windows and UNIX, for that matter) costs $3,495. These prices are actually on the low side when compared to other application servers.

Our only hesitation about wholeheartedly recommending Cold Fusion 4.5 for Linux is the lack of some tools, such as a Linux version of Studio and better security controls, that are important in the Cold Fusion world. But this may be a somewhat unfair criticism, as Allaire has done a masterful job in migrating a complex application originally developed solely for Windows NT.

There's no doubt that both Allaire and the larger Linux community will benefit from the release of Cold Fusion 4.5 for Linux. Both have been seeking greater respect in the enterprise community, and with many of the new features found in Cold Fusion, the enterprise should sit up and take note. And, one would think, they'd decide that the affordable, powerful, and efficient Linux operating system makes the most sense for deployment in the enterprise.

Copyright Jupitermedia Corp. All Rights Reserved.