ColdFusion has always been a powerful Web-application server. Its simple tag-based programming environment and built-in functions have made it an obvious choice for developers more interested in building useable, dynamic sites. With the launch of ColdFusion MX, Macromedia has made significant advances; improving the performance and feature set, integrating it closely with other development tools, and adding support for many existing Web standards.
ColdFusion MX is more than just an upgrade, the entire application has been re-engineered on a J2EE-compliant Java technology platform. This means you can now integrate with existing Java applications and call JSPs or Java servlets directly from within a CFML page, allowing you to leverage the power of Java all within a simple ColdFusion tag-based environment.
The motivation has been to open up the potential of ColdFusion by making it compliant with a range of existing standards and platforms. For example, ColdFusion MX now has support for Microsoft’s .NET framework, and a standards-based Web-services engine that allows developers to access other Web-application functionality remotely over the Internet – regardless the technology it was developed on.
New to ColdFusion MX is a set of functions and tags designed to make working with XML a breeze. You can read XML text directly into ColdFusion, create and modify and extract data from XML objects, and since ColdFusion XML is handled as a form of structure, the rich structure-manipulation tools already built in to ColdFusion all now apply to XML.
For many Digit readers, however, the key advances in ColdFusion MX will be the improved integration with other development tools, and the real promise that ColdFusion can successfully bridge the gap between programming and design. Most ColdFusion developers still swear by the code-centric approach of ColdFusion Studio, only ever using Dreamweaver for layout templates. Dreamweaver MX, however, now integrates exceptionally well with ColdFusion MX and provides all the powerful visual-layout tools.
Perhaps even more useful is the close integration with Flash MX, which will almost certainly change the way users develop Flash-based Web sites in the future. In the past, the process of passing data between Flash on the client side and ColdFusion on the server side hasn’t been easy.
Using the new Flash Remoting Service running on ColdFusion MX means that tricky data transformations are no longer required. You can now send structured variables, such as query results or arrays, from your server to the Flash movie directly through the use
of ColdFusion Components (CFCs). Using just a few simple ActionScript techniques, Flash applications can invoke CFCs on the ColdFusion server directly.
CFCs are an important new feature, and are simple, reusable chunks of functional code. They are similar to custom tags from previous versions, but they allow functions to be grouped together into more manageable units. Components can be used to organize functions either as CFML, as Web services, or as Macromedia Flash Remoting services. They can be written using a new set of CFML tags or as server side ActionScript, which is handy for existing Flash developers. These files are actually saved as .cfc files however, rather than the normal .cfm file extension.
Apart from simplifying the process of writing structured code and connecting ColdFusion with Flash, components actually transfer some of the processing overhead back to the server and can result in significant performance increases for the end-user.
Moving directly to MX on your production servers is probably not a great idea just yet, however. There are a several differences in the way the application works. For example, a few problems with the dot notation used in programming methodologies such as Fusebox. A code analyzer is provided to help you migrate existing apps to the new ColdFusion MX format, but you may still experience a few teething problems.
However, any small changes you may have to make in your coding style will be more than made up for by the numerous performance and feature enhancements, and ColdFusion MX sure to be a big hit with existing ColdFusion developers.