BlueDragon Blog
Here you'll find tips and information about making the most of BlueDragon, which offers several compelling implementation alternatives for your CFML applications. This blog was created originally by Charlie Arehart, who was New Atlanta CTO from 2003-2006.,He has since moved on to become an independent consultant but continues to answer comments raised in existing blog entries. BlueDragon continues, and you should look to the newer BlueDragon blog, from New Atlanta president, Vince Bonfanti, for more updated information.

BlueDragon/.NET Intro: Part 2, CFML/ASP.NET Integration

posted Tuesday, 2 November 2004

Continuing the discussion started in part 1 of this thread, this entry discusses the options for integrating CFML and ASP.NET. The first entry concluded pointing out that BlueDragon for the Microsoft .NET Framework offers both the architectural solution to the need to run CFML natively on .NET while also offering the advanced CFML features introduced in CFMX. More than that, BD/.NET offers the following important advances:

  • Integration of CFML, ASP.NET, and .NET Objects
  • Passing CFML Query Results to ASP.NET Data Controls
  • Revitalizing Existing CFML Without Changing Code

Integration of CFML, ASP.NET, and .NET Objects

More than that, though, CFML on BD/.NET can integrate with ASP.NET pages including such features as sharing sessions, request, and application variables, including ASP.NET pages from CFML (and vice-versa), the ability to call .NET objects from CFML (via CFOBJECT/createObject), and more. These options will be familiar to those who knew that CFMX and BlueDragon java editions offered such integration with JSP/servlets and other Java objects.

Unique to BlueDragon/.NET, however, is an important new set of capabilities to allow those who really want to leverage their existing CFML to take advantage of it from ASP.NET pages. Only with BlueDragon/.NET 6/2, you can now also invoke CFC methods or call CFML custom tags. Even more compelling for some, you can now simply drop CFML into an ASP.NET page. ColdFusion developers have never been able to take advantage of their CFML so effectively from Java programs.

Passing CFML Query Results to ASP.NET Data Controls

Those familiar with ASP.NET will also know that that language includes powerful and easy-to-use controls to create database-driven grids, calendars, drop-down lists, and more. BlueDragon allows CFML query results to be bound to such controls. Again, a later blog entry will show examples, but you can choose from several options, including new ones you may never have considered.

  • A CFML page can set a query into the session, request, or application scope and then CFINCLUDE an ASP.NET page that outputs that data using an asp:datagrid (or other control).
  • An ASP.NET page can include a CFML page (or call a CFML custom tag) that sets a query into the session, request, or application scope and then output that data using an asp:datagrid.
  • An ASP.NET page can invoke a CFC method that returns a query and then output that data using an asp:datagrid.
  • An ASP.NET page can simply have a CFQUERY dropped into the page as inline CFML and then output that data using an asp:datagrid.

However you envision CFML's role (as something to add to ASP.NET, or call from ASP.NET), you can maximize the possibilities for integration in BlueDragon/.NET in ways you never could in ColdFusion.

Revitalizing Existing CFML Without Changing Code

Some organizations simply won't want to change the CFML code. In their mind, CFML apps are stable and shouldn't be changed. Even for those folks, there are benefits of deploying CFML on .NET. The .NET framework offers declaritive XML configuration options whose behavior will affect CFML pages just like they do ASP.NET pages. (A later blog entry will explain how CFML pages are processed just like ASP.NET pages.)

For instance, but such declarative configuration options, you can set sessions to be persisted across restarts, by writing them to a persistence datastore (database) or state server (provided by .NET). With a simple XML change, your users will never be forced out/logged out when your server restarts while they're working on a form or reading a page. Their session won't disappear just because of a server restart. Further,  those working in a clustered environment can replicate sessions across the cluster.

Others may want to leverage the ability in ASP.NET to implement login security that integrates with Windows authentication or a database (or simpler XML authentication). These are just some of the many, many options that are opened to CFML developers.

Whether you want to park your CFML on .NET, or expand upon it via .NET configuration options, start to integrate CFML and ASP.NET, or call CFCs from ASP.NET, these are just some of the many cool new possibilities enabled in BlueDragon for the Microsoft .NET Framework.

It's free to try, with an open beta currently in progress. All BlueDragon editions are also available as non-expiring developer editions (single IP address but no time expiration). We have an active mailing list (low-volume, but high quality). It's natural to be skeptical if you've never heard of BlueDragon (or New Atlanta). See our web site for more on our heritage (7 year old company, consistently profitable, serving 11,000 current customers in 70 countries).

BlueDragon/.NET is based on the same engine that's underlied the Java editions (BlueDragon Server, Server JX, and J2EE). It's just been redeployed on .NET. Microsoft even has written a whitepaper extolling the virtues of that approach and the value of running CFML on .NET. Yes, Microsoft is very supportive of this product. (Even Macromedia folks have blogged favorable comments toward BlueDragon.)

See previous entries in this blog, or the web site, for information about BlueDragon's heritage and evolution. We're solving problems for people who have invested significantly in CFML. We're here to keep CFML alive, and indeed to offer deployment options that CFML customers need. In future entries, I'll offer more specific examples of the options I've described here.




1. a reader left...
Sunday, 7 November 2004 11:37 am

This sounds awesome. Can you direct me to some code examples?

rich [rbrant@gmail.com]


2. Charlie Arehart left...
Sunday, 7 November 2004 11:19 pm

Sure, just check out our manual, available online. For the beta 6.2 version, which adds many of the most compelling new features, see "Deploying CFML on ASP.NET and the MS .NET Framework", at http://www.newatlanta.com/c/products/bluedragon-beta/download/home.

The examples there are still a little sparse. Again, more will come both here and there.