CFUNITED 2007 Website
 Receive our newsletter   about | contact us | home  
Interview Page

"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 .NET.

MS: So what kind of things can you do on CFML/.Net that you can't do on CFML/J2EE?

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 Flash controls?

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 platform.

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.