ColdFusion 9 (CF9) is the most extensive release of ColdFusion to date. Engineers at Adobe, many of them Indian Java gurus, have slaved away for two years to bring us this latest build. The move to Java has allowed the engineers to update many of the key components of earlier versions of ColdFusion to the latest versions. Expect the odd hotfix in the future that is to be expected on a product this extensive.
CF9 built on the codebase of the well received CF8, Adobes' first crack at their own build, and a top seller for the company. CF8 was so good it was not a question of should you upgrade it was a no-brainer.
So what is new in CF9? A lot. Two years in the making and an extensive beta period has resulted in:
Object Relational Mapping
Using the Hibernate library, CF9 provides a bridge between relational databases and ColdFusion components by allowing you to build applications using only objects, without writing any SQL code. This will be better served when ColdFusion Builder is released but you can start using it right now. For Enterprise development or other large scale applications ORM is a key feature to consider upgrading to.
Script the way you like
Prefer to code most tasks in CFScript rather than CFML tags? Now you can. CF9 has extended the ways you can script using the ECMA compliant scripting language. It makes code, funnily enough, more comprehensible than using pure CFML tags. CFScript itself has some nice additions also. Adobe has looked closely at this part of the CF9 experience and it shows.
ColdFusion exposed as Web Services
The beauty of CF now being built on Java is the now the exposure of many services to external sources directly. Security is highly customisable and granular here also so that only trusted sources have access to the services you expose. These services could include the now vastly improved external mailing engine, PDF generation or search services CF9 offers and much more.
Sandbox Security
Many enhancements here. Now that CF9 allows for more "admins" this was crucial. I would be wary here and test any changes you make but this is an enhancement long overdue particularly in hosted environments.
Server Management and Monitoring
Day to day administration tasks for either a single or multi-server installations are now a breeze. CF9 allows multi administration roles to be defined each with customisable privileges. The server monitor, a Flex application, first introduced in CF8 has also been beefed and tweaked.
Flex and AIR integration
Adobe are pushing CF9 as the lynchpin of Flex and AIR even more with CF9. Now with SQLite on the client and ORM on the server all data conflict and sync issues are handled with aplomb. Additionally you can now map to the CF9 server for tasks like sending email messages without writing code using syntax you are already used to (ActionScript 3).
New AJAX controls
Google Maps and multiple file uploads are a breeze with some of the new controls added to CF9. There are many new ones but my favourite is the integrated "Media Player". And CF9 makes these new additions so easy to include it is ludicrous.
New Search Services
CF has for years included the well regarded VERITY search services. And they are still present in CF9. But now you have a new option. Apache SOLR. And just like the Verity support it is just as easy to use SOLR. The tags are essentially the same just the nuances you need to be careful of.
Office, Exhange and Sharepoint integration
CF9 builds on the previous version here for some truly cool integration with Office products like Excel, Word and Powerpoint. For some bizarre reason you need to have OpenOffice installed for some of this power. I need to investigate this further as I only just upgraded to Windows 7 and haven't got around to that yet.
Caching
Caching has always been easy of late in CF. CF9 makes it even easier with control over not only entire pages but individual page elements and even more granular control over caching. You can even dump your cache to a screen to review how your cache is performing and tweak your code according to your your application can better utilise it. The code access to the cache is not elegant yet but this is a powerful update to caching in CF.
Virtual File Storage (RAM Storage or In Memory Files)
Have heaps of memory on your server? Don't want to thrash the hard drive? CF9's new in memory file support allows amazing fast and flexible access to your services RAM as though it was a physical HDD. And securely and quickly manipulate HDD intensive tasks. This could be one of the best new features of CF9. Process tasks in memory almost instantly. Verify they are kosher and then commit.
IMAP Support
Finally. IMAP mail servers are now as easy to manipulate of not easier than your bog standard POP server. Together with the Microsoft Exchange integration this is a particularly strong feature for the Enterprise developers. Google Mail also offers IMAP support remember?
Java Support
CF9 ships with JRE 6 Updater 14. I am running it with Windows 7 Ulitmate with JRE 6 Updater 16 with no issues.