by Judith Dinowitz
Finally, the day has arrived. ColdFusion 8 is now available to developers worldwide. Contrary to an article in MacWorld, the Mac version is available (they reported otherwise, but by the time you read this, they may have corrected that). Of course, the product is no mystery to the more than 14,000 developers that beta tested it. And the amount of press and blog coverage that have preceded the release might make you feel that you know this product, even if you haven't participated in the beta. But there is still much to say about ColdFusion 8.
Most people start with the features, but I'm going to start with the best news of all. ColdFusion Standard is still $1299 and its feature set has been expanded too. Some ColdFusion 7 Enterprise features -- event gateways, high performance email delivery and structured reporting -- have been added to ColdFusion 8 standard, albeit in a limited scope. In addition, certain ColdFusion 8 Enterprise features -- PDF and document services, multi-threading (the CFTHREAD tag), Microsoft Exchange Server integration, and on-demand presentation generation -- are also present (though limited) in Standard. Both editions of the product fully support .NET integration. All of this adds up to a rather robust version of ColdFusion 8 Standard, one that most small development shops would be happy with.
You'll find a full "Feature Improvement History" chart at http://www.adobe.com/products/coldfusion/pdfs/cf8_featurecomp.pdf.
While Standard stayed the same price, the price for Enterprise went up about $750 per CPU. One blogger feels that this price increase is the "nail in ColdFusion's coffin". He had been intending to upgrade to Enterprise, but with the new pricing, decided against it. He feels that this price increase will work against the product. His post on the ColdFusion-Talk list sparked a discussion on the value of the Enterprise edition vs. its price.
To be honest, the difference between $3,000/CPU and $3,750/CPU is pretty negligible in an enterprise world,
said Sean Corfield in answer to Fraser's ColdFusion-Talk post. For the – new-in-8 – (multi-)server monitoring and RDS/Admin user management features, unlimited CFTHREAD and unlimited MS Exchange integration, that extra $750/CPU is well worth it.
He also cited Enterprise features such as unlimited event gateways, PDF/document services, reporting, etc., that he felt were well worth the additional cost.
ColdFusion 8's new features really focus on three areas: developer productivity, integration with external environments and technologies, and rich Internet experience.
Developer Productivity – These are the features that make developers' jobs easier, the cogs under the hood that enhance your application's performance or help you to do so. For example, the multi-threading with the CFTHREAD tag will allow an application to spawn off multiple threads, so that actions can happen asynchronously rather than in other, more cumbersome techniques, such as a loop. The new Administrator, monitoring and debugging features in Enterprise can help developers attain finer control over their applications, or find and fix bugs more easily.
One of the most talked-about features is the boost in performance that developers have seen in ColdFusion 8. Adobe states that Overall Server Performance of Adobe ColdFusion 8 is up to 4.25 times faster than Macromedia ColdFusion MX 7.
They base these findings on extensive tests conducted on two applications the community knows well: CanvasWiki and BlogCFC.
Here are some of the benchmark facts and figures that Adobe has provided:
Table 1. Overall server performance gains in ColdFusion 8 compared to ColdFusion MX 7.0.2 and ColdFusion MX 6.1.
| Area | Improvement over v. 7.0.2 | Improvement over v. 6.1 |
| Overall server performance (CanvasWiki) | 4.25X | NA |
| Overall server performance (BlogCFC) | 48% | 45% |
Table 2. ColdFusion 8 performance gains in specific areas: ColdFusion 8 compared with ColdFusion MX 7.0.2 and ColdFusion MX 6.1.
| Area | Improvement over v. 7.0.2 | Improvement over v. 6.1 |
| CFParam | 35.4X | 38.7X |
| CFC creation and invocation | 23.1X | 7.1X |
| REReplaceNoCase | 7.5X | 7.5X |
| CFForm | 7% | NA |
| Date functions | 6X | 6X |
| Evaluate | 2.9X | 2.8X |
| List functions | 3X | 3X |
| CFSwitch/CFCase | 2.7X | 4.3X |
| REFindNoCase | 2.7X | 2.7X |
| ColdFusion structures | 1.9X | 1.9X |
| IsDefined | 2X | 10% |
The statements on performance and the figures above are all courtesy of Adobe and can be found in Adobe's Performance Brief: http://www.adobe.com/products/coldfusion/pdfs/cf8_performancebrief.pdf.
Integration with External Environments and Technologies – These features make it easier for developers to create more complex Rich Internet Applications that may use several different technologies such as Ajax, .NET and Flex together with ColdFusion in the same application. The addition of the Ajax user interface features, .NET integration, and new integration with both Flex, LiveCycle Data Services, and AIR applications, make the ColdFusion application the perfect intermediary on the back end.
Rich Internet Experience – ColdFusion has always been seen as a great language for data interaction, but not so much for designing great-looking front end user interfaces. While ColdFusion can programmatically generate good looking UI, it is not specifically known for it. The enhancements in ColdFusion 8 open the door to a richer look and feel for your ColdFusion applications. There are fifty new tags and functions for creating and manipulating images, the prime example being the CFIMAGE tag, which allows you to read, write, resize, rotate and convert images to different formats. In addition, ColdFusion 8 applications can now dynamically generate and interact with PDF documents and forms. You can fill PDF forms in using a datasource, or change the data in a PDF form and let your user print the updated form... And then, let's not forget the On-Demand Presentation feature, which lets you take external source files, such as audio, video and animation files, and put them together dynamically to create high-quality online presentations.
Upgrading to a new version of a product should always be done with forethought, and with a plan. It might be wise to try out ColdFusion 8 for a few days on a testing server before taking the plunge, just to check your code base and find any unforeseen problems. Tobe Goldfinger, head of JDT Technology, a consulting business, gave this advice on upgrading:
"The combination of new language features and new server monitoring features in ColdFusion8 make this release a truly compelling upgrade and one we are anxious to take advantage of as quickly as possible. As is true however with all software upgrades, we plan to exercise appropriate caution and do a fair amount of testing of all our systems before migrating servers to the new release. Given the broad community acceptance of ColdFusion8 thus far, we are quite hopeful that the testing and migration process will go smoothly."
That being said, between the performance gains and the new features, we should not be asking, Should I upgrade?
but instead taking the advice of Hillel, a revered Jewish sage, who asked, If not now, when?