Interview for Integrating CFML and ASP.NET Server Controls
"Integrating CFML and ASP.NET Server Controls" interview with Charlie Arehart
Michael Smith: This time we are talking with Charlie Arehart about his CFUNITED-
05 talk "Integrating CFML and ASP.NET Server Controls". So why should a
developer come to your session Charlie?
Charlie Arehart: Whether you're being forced to move to .NET, or you are just
curious, it's now possible to integrate your CFML with ASP.NET in ways that you
couldn't even with CFML and JSPs. Putting it another way, if your organization
is moving to .NET, you don't need to rewrite your CFML apps! More important, you
can do things with your CFML-based code when running on .NET that you couldn't
ever do with Java-based CFMX, as I hinted at in the description.
MS: How is that possible?
CA: BlueDragon for the Microsoft .NET Framework enables you to simply run the
CFML on .NET. The code remains CFML--we've just enabled the .NET framework to
know how to run CFML (like Macromedia rebuilt CFMX on top of J2EE). No CF or
BlueDragon server/service is required.
MS: But you do need a license for deploying on each server, right?
CA: Yes, that's right. BlueDragon.NET (a shortcut we use to refer to it) is a
licensed product from New Atlanta. You can install it free for trial purposes
and like ColdFusion it reverts to a single IP developer edition after 30 days.
If you want to use it for production purposes, you would buy a license. Pricing
starts at just $2499 per CPU, with volume discounts and other details posted on
our web site.
MS: So isn't .Net related to ASP?
CA: I know that for many years CF folks have regarded ASP as the evil "other web
app server". ASP.NET, and in particular the .NET framework, are very different.
Indeed, the .NET Framework can be considered Microsoft's answer to J2EE. Where
ColdFusion leverages J2EE only, BlueDragon can leverage either J2EE or .NET. Not
only is that something Macromedia has not done (and as far as we know will not
do), but it also makes CFML the only web app language that runs on both J2EE and
MS: So what kind of things can you do on CFML/.Net that you can't do on
CA: Oh my goodness, the possibilities are many. This is really a two-fold
question. First, what can .NET do that J2EE cannot do, and second what can one
do with CFML and ASP.NET integration that cannot be done with CFML and
JSP/servlet integration on ColdFusion MX.
Of course, the first question would require much more space than we have, but
suffice it to say that Microsoft has put a lot of work into enhancing the .NET
framework over J2EE from several perspectives, including architecture,
performance, productivity, and more. My colleague Vince Bonfanti will be
addressing the first two of those aspects.
MS: So what will you cover?
CA: My talk will focus more on the second part: what one can do with CFML and
ASP.NET integration. To your question, there indeed are things you can do that
CFMX/J2EE does not enable, including calling CFCs from ASP.NET and even
embedding CFML directly into an ASP.NET page.
MS: Are there any cool controls in .NET?
CA: Yes, getting back to what .NET adds over J2EE, more powerful still are the
many cool controls for presenting data. .NET adds datagrids, calendars, ad
rotators, datalists, and more, with still more coming in .NET 2.0 now in beta
(which we support already). These all require little to no coding, even to bind
them to be populated from a CFQUERY, for instance, whether retrieved from a CFC,
a shared session variable, an included CFML page, or by just dropping the
CFQUERY directly into the ASP.NET page.
Add to that the ability of these controls to dynamically change their rendered
output for different languages (globalization) or for mobile devices, to name
just a few possibilities, and one can see that there may be a case for creating
powerful new interfaces in ASP.NET while leveraging the backend work one has
done in CFML, via any of the approaches mentioned previously.
MS: How does that compare to using Flash controls with CFML?
If you're asking how the .NET controls compare with Flash controls, well, that's
a loaded question. .NET's controls create HTML (or DHTML for modern browsers),
and they can be styled and enhanced in many ways, but they're not Flash. Still,
not everyone cares for Flash. Further, Flash controls don't have any inherent
ability to adjust the output for different devices. A .NET calendar, for
instance, presents an entirely different interface on a phone than on a browser.
Also, .NET calendars can also change the month and day names to the language and
character set of the browser user. I'm not aware that the Flash controls in CFMX
7 can change dynamically this way.
MS: While we're talking Flash, can BlueDragon integrate with Flash and create
There are a couple of levels of integration possible with Flash. First, keep in
mind that CFCs in BlueDragon (as in CF) can be called as web services and tools
like Flash Remoting, Flex, and third party alternatives such as FlashOrb,
OpenAMF, and Laszlo Presentation Server all can integrate with web services.
These tools can also call upon a simple CFML web page to produce data.
Further, you can even embed these tools within a BlueDragon webapp in either the
J2EE or .NET editions, subject to the availability of each product for each
But you don't need to embed them to use them with BlueDragon. For instance, even
though Laszlo doesn't yet have a .NET edition, you could certainly implement
their J2EE edition on any J2EE server you may have on your server alongside .NET
(they bundle it with Tomcat, if you have no J2EE server), and then your CFML
pages can generate flash controls using the same kind of XML-based server-side
SWF generator as Flex, which underlies CFMX 7. Best of all, Laszlo is free and
open source. Look for us to make that integration even easier in the future.
MS: That is exciting! See you at CFUNITED.