The magazine of the Melbourne PC User Group

ColdFusion 4.5
Bernadette Houghton
bernieh@iaccess.com.au

With ColdFusion 4.5, you can create and process interactive Web pages and applications. Think heavy-duty Web sites, such as e-commerce and dynamic information dissemination. While ColdFusion is suitable for simple applications developed and maintained by one person, its real strength lies in its support for large, multi-site development environments with complex multi-layered applications. Here, I offer an overview of ColdFusion's main features rather than an in-depth analysis of its strengths and weaknesses. Since, I don't have access to an active Web server, I was unable to review the full range of features.

There are 2 main components to ColdFusion -

  • ColdFusion Studio, the development tool. Studio is actually an enhanced version of HomeSite, a HTML editor reviewed in PC Update, June 1999.
  • ColdFusion Server, the platform on which ColdFusion applications run. ColdFusion Server is available for a range of platforms, including Windows, Solaris, Linux and HP-UX.
ColdFusion Architecture

When visitors to a Web site request a page containing CFML (ColdFusion Markup Language) tags, the request passes over the Internet (or intranet) to the Web Server, which in turn passes the request to the ColdFusion Server. ColdFusion Server processes the CFML in the page and interacts with any backend systems, such as databases, file systems, mail or directory servers as required. It then dynamically generates a HTML page based on the results of the interaction and returns the page to the Web Server and thence to the visitor's browser. The process is wholly transparent to users and has the advantage of requiring no special software or plug-ins since the processing occurs on the ColdFusion Server.


Figure 1. Creating Applications in ColdFusion Studio


Figure 2. Configuring ColdFusion Studio

Development Environment

While ColdFusion Studio is primarily a HTML editor, it also offers a visual development environment for prototyping purposes. There is a range of features to speed up development, including wizards, support for reusable code, collapsible code, colour-coded tags, automatic tag completion and 'insights' to prompt users for the next value or attribute. An integrated file browser provides access through a single Explorer window to all files, including those on the Windows file system, ColdFusion Remote Development Services and FTP servers. New in the latest release is an Image Map Editor.

Integrated with Studio is TopStyle Lite for creating cascading style sheets to control the look of your Web pages. Studio supports HTML, XML, SMIL and, of course, CFML. There are two built-in languages, VTML and WIZML, for customising the development environment (e.g. Tag Editors and Expression Builders) and adding wizards to your applications.

You can preview your HTML pages in Studio's internal browser, or choose to use an external one (e.g. Netscape). However, if you're developing a Web site, it's best to test your pages in as realistic an environment as possible. This means routing your pages through an active Web server so that server-side processing (e.g. CFML) also occurs. Studio supports a wide range of Web servers, and you can map projects to multiple servers.

To make it easier to manage complex projects, you can create your own file system. This means you can link files from anywhere on your hard drive, network or remote drives into project folders. Files remain in their original location, but are accessible from the project folder. You can organise files into either physical or virtual folders. Physical folders correspond to a directory (full or part) on your computer, while virtual folders can contain files from anywhere, including remote sites. Within each project, you can automatically view the resources making up the project (e.g. the HTML or CFML documents or images). Once you're ready to deploy your application, you use VBScript or JavaScript to create deployment scripts or, alternatively, use a wizard.

Database tools include an SQL visual query builder, while team development features include server-side source control and support for external source-code control products such as Microsoft Visual SourceSafe.

Scalability

You can optimise the deployment of ColdFusion applications as the site load fluctuates. The ColdFusion Server is multi-threaded, and ColdFusion can cache pages or query results to reduce the load on the server and increase performance at the user's end. Developers can programmatically control the refreshing of client-side cached pages to ensure users see the most current output and avoid re-downloading pages which haven't changed.

For very large volume sites, the Enterprise Edition offers extra functionality. Administrators can balance load over multiple servers, with automatic server fail over. This means that if one server fails due to hardware failure or application problems, others in the cluster pick up the load until the failed server recovers. Integration with Cisco Local Director means that ColdFusion applications can take advantage of intelligent load balancing based on application server load and availability.

The ColdFusion server collates real-time performance statistics, and maintains a number of logs to help administrators optimise the site load. Administrators can manage the server remotely, with support for multiple administrative accounts. Developers can track performance bottlenecks or instability via scripts which track key server metrics.


Figure 3. Deploying Applications with the Deployment Wizard


Figure 4. Creating Cascading Stylesheets in TopStyle Lite

Open Integration

ColdFusion supports the full range of Internet protocols and technologies, including XML and native integration with e-mail servers, directories, file servers and distributed Web servers. ColdFusion applications can access external databases via ODBC, OLE-DB and native database drivers, and you can hook up existing systems via COM, CORBA, C/C++, VBScript, Java, JavaScript, CFML and Enterprise JavaBeans.

Security

ColdFusion's security features include configurable user accounts, SSL encryption, page encoding and the use of existing authentication systems, including LDAP directories or Windows NT domains to authenticate users. Server administrators can control security at run-time, and developers can leverage existing Web server security to control access within applications. ColdFusion Enterprise Edition supports Server Sandbox Security, which means that companies can host multiple applications on a single server without risking security breaches. Under Windows NT, developers can secure Sandboxes under a designated NT user account, and utilise existing security architecture to secure entire applications and control file access.

Cost and Availability

ColdFusion Studio $911 (includes a single-user version of Server). ColdFusion Server Express available as a free download. ColdFusion Server Professional $2,858. ColdFusion Server Enterprise $7,500. Available from your local software reseller; otherwise contact Firmware Design, phone (02) 4721 7211, fax (02) 4721 7215, email frontdesk@firmware.com.au or http://www.firmware.com.au. Download an evaluation copy from http://www.allaire.com/coldfusion

Minimum System Requirements

ColdFusion Studio: Pentium processor, Windows 95 or Windows NT 4.0, 32 MB RAM (64 MB recommended), CD-ROM drive, 35 MB free hard disk space.

ColdFusion Server: Pentium processor, Windows NT 4.0, 128 MB RAM (256 MB recommended for clustering), CD-ROM drive, 150 MB free hard disk space, Web Server.

Reprinted from the March 2000 issue of PC Update, the magazine of Melbourne PC User Group, Australia