It's getting better all the time
Nov. 24, 2004 12:00 AM
If you haven't heard of BlueDragon, you're either new to the ColdFusion/CFML community or you've been under a rock somewhere. Back in September 2002, New Atlanta forever changed the CF landscape when it introduced BlueDragon 3.0.
As a quick overview, BlueDragon is a family of server products that allows you to deploy CFML applications as an alternative to using Macromedia's ColdFusion MX. For more background, I refer you to the original product review I did for ColdFusion Developer's Journal, www.sys-con.com/coldfusion/articleprint.cfm?id=546. For this article, I am going to focus on what's new (and improved) with BlueDragon 6.1, which was released in June of this year.
To paraphrase Steve Ballmer's now famous rant, BlueDragon 6.1 is all about "Compatibility, compatibility, compatibility, compatibility!" For the 3.0 release, BlueDragon was targeted at ColdFusion 5 level compatibility. However, CFMX was already on the scene and developers wanted to take advantage of the exciting new features it provided. With the release of BlueDragon 6.1, New Atlanta has achieved an impressive level of language/feature compatibility with CFMX. BlueDragon now supports major CFMX features such as ColdFusion Components (CFCs), CFFUNCTION user defined functions, XML, and Web services.
More and more, CFML developers are recognizing the benefits of using application frameworks in the development process. BlueDragon does not disappoint in this regard. Mach-II, a complex CFC-based application framework, is supported on BlueDragon 6.1. Fusebox developers should take note that BlueDragon 6.1 runs on FB 3.0 and FB 4.0.4 without any modifications. Fusebox 4.1, which is in beta as of this writing, will be supported in BlueDragon 6.2, which is also in beta.
There are, of course, still some differences between CFMX and BlueDragon. There is a short list of unsupported tags (most of them related to CFGRID and CFCHART). There is a longer list of tags that are "supported with limitations." Some of the more notable issues are lack of support for https protocol in the CFHTTP tag, lack of support for username/password in the CFMAIL tag, and lack of support for COM objects in CFOBJECT. (I understand these issues have been addressed in the 6.2 beta. More on that later.)
The compatibility issues are very well documented in the "BlueDragon 6.1 CFML Compatibility and Reference Guide," available on the New Atlanta Web site. Read the document thoroughly and you'll be aware of any potential issues that may arise. In addition, check the BlueDragon mailing list archives as others have discussed and posted workarounds to certain issues. Test early and often, and you should have no trouble deploying your application on BlueDragon 6.1
If you're looking at using BlueDragon to serve your Web site, it's a good idea to check for vendor support for any third-party applications you want to implement. InFusion Mail Server and Tracking Tools bug tracking applications are examples of applications that are supported on BlueDragon. (Disclosure: The author is the developer of Tracking Tools). The FuseTalk discussion forums, however, are not. FarCry, a popular, open source content management system, is also not currently supported.
Fully Featured Free Server
When trying to sell a CFML-based solution or defend CFML against other languages like PHP or ASP, one of the main points of contention is the cost of the application server. I won't go into the whole total cost of ownership issue, since others have already covered that ground, but suffice it to say justifying this cost can be a challenge to budget-strapped organizations. In February 2003, New Atlanta again changed the game by introducing a free edition of BlueDragon 3.1 Server. Although this product was head and shoulders above Macromedia's ColdFusion Express, it still held back certain key features like CFOBJECT, and CFWDDX. The lack of these key tags was still a showstopper for some developers to use the free server. With BlueDragon 6.1, New Atlanta really showed their support for the CFML community by removing all tag restrictions for the free edition. The primary restriction of the free edition is that it's limited to database connectivity via ODBC, MySQL, or PostgreSQL drivers. Now CFML developers going up against a LAMP (Linux/Apache/MySQL/Php) solution can respond with a LAMBDA (Linux/Apache/MySQL/BlueDragon) solution that is just as competitive.
If you need some of the features not supported in the free edition (integration with JSPs, ability to run pre-compiled/encrypted templates), you will need to purchase the JX or J2EE edition. When BD was first released it was offered at an introductory price of $549 per server. This promotion has since expired and the JX edition is now offered at $899 per server. Visit the New Atlanta Web site for full pricing details as well as a comparison matrix for the different editions.
If you don't want to run your own server, several hosting providers have stepped up to the plate to offer BlueDragon hosting. Check the Web site for links to their hosting partners. Finding a suitable host should not be a problem.
With 3.0, New Atlanta showed they were not only going to implement the CFML language but they sought to improve and innovate. They did this by introducing CFFORWARD, a tag not available in ColdFusion. Since then, they have continued this effort and introduced the following tags: CFIMAGE, CFIMAP, CFASSERT, and CFDEBUGGER. Another notable enhancement is that ColdFusion Component (CFC) instances can be serialized. This would be useful in clustered environments. I'll refer you to the product documentation for details as to these tags and other enhancements. I actually haven't used them (preferring to write "vendor neutral" code), but the point is it demonstrates how New Atlanta is willing to listen to their customers and provide additional functionality.
I mentioned previously that COM objects were not supported in BlueDragon. Well, one notable "enhancement" on the horizon is a .NET edition of BlueDragon. This edition will allow you to deploy your CFML on the .NET platform just as the current offerings allow you to deploy to the J2EE platform. You'll not only be able to migrate your CFML to the .NET platform but you'll be able to integrate with and extend your existing .NET applications. I'll be watching this closely, but New Atlanta has already released a beta version that looks very solid. If your company is looking to migrate to .NET you'll want to keep this on your radar as well. This provides yet another option for CFML developers.
From the initial release, New Atlanta has always provided outstanding support. It's nice to see that as they continue to grow and succeed, the quality of their support has not decreased. They are very responsive to questions on the BlueDragon mailing list. Throughout their beta program they have kept their bug database open to the public. As a developer, I really appreciate this service. It helps to know your issues are being heard and you can keep track of the status of bugs that affect you. I hope they continue this practice and wish more companies would adopt it.
What About Blackstone?
Blackstone is the code name for the next major release of CFMX that is currently in beta. From what's been publicly released about Blackstone, there are some exciting new features in store for CFML developers; things like event gateways, rich forms, and PDF generation. These are exciting times. The obvious question is "Can BlueDragon keep up with Blackstone?" It's too early to say, but personally, New Atlanta answered that question for me with 6.1. I consider it a huge accomplishment that they achieved such a high level of compatibility with CFMX. Having done that I'm not sure that keeping up with Blackstone will be that much different. (The folks from Macromedia may beg to differ!) Perhaps, considering some of BlueDragon's features/enhancements (source-less deployment, standard WAR file deployment) and the upcoming .NET edition, the question should be "Can CFMX keep up with BlueDragon?" I understand from New Atlanta that their attitude about Blackstone is "wait and see." After Blackstone is released, if certain features are in high demand, they will build it. I think this is a reasonable strategy and avoids expending resources on less popular tags just for the sake of compatibility. Bottom line, the competition between the two companies is a win for developers.
BlueDragon 6.1 is a very compelling release that provides a high level of compatibility, fully featured free server, and popular enhancements. That, combined with support for the Mach-II and Fusebox application frameworks and their exceptional technical support, New Atlanta has transformed BlueDragon from an interesting product with lots of potential into a mature solution that stands right up there with ColdFusion MX. It's a great time to be a CFML developer and it's getting better all the time.