An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

CFUNITED 2007 - Day Two Morning

July 5, 2007 ·

John Paul Ashenfelter kicked off my day with his talk about testing ColdFusion applications. He started out by defining the different types of testing and then talked about some tools that help you test applications. He mentioned cfcUnit for writing unit tests but didn't go into details (Paul Kenney was doing a talk on Test-Driven Development with cfcUnit later on at CFUNITED). John Paul did go into quite a bit of detail about Selenium which is an incredibly cool browser capture / playback testing tool written entirely in JavaScript. I downloaded Selenium and within a few minutes - with a little help from John Paul - I was recording test scripts for a web application and automatically running entire suites of test scripts. Very impressive - highly recommended! John Paul also covered continuous integration (where tests are run automatically for you as you change code) and different types of load testing: testing under expected load, testing for bottlenecks, stress testing - to see what traffic will break the site. Overall, this was a great session and John Paul is an engaging and passionate speaker. The next talk I attended was also about testing: Thomas Burleson of Universal Mind, talking about continuous testing with Flex and ColdFusion. He was plagued with technical problems (the A/V system failed in Ballroom GH for several speakers) and didn't get through all of his presentation, unfortunately. The big takeaway for me was that Universal Mind have developed a Java application that keeps your source code (CFCs and I think AS3 classes too) in sync with your unit tests (assuming you use FlexUnit and cfcUnit). The Java app automatically generates new stub tests (that fail) for any new methods you create in your source code. Unfortunately, I didn't see a URL for this "Synchronizer" tool. Next was Vince Bonfanti's keynote talk about BlueDragon. He surveyed the audience and found nearly half of those present were at their very first CFUNITED and a few people in the audience had never heard of BlueDragon. After a brief overview of New Atlanta, who are now ten years old, he talked about the three main innovations coming down the pike from New Atlanta over the next few years:
  • IIS 7 integrated administration and request pipeline (Application.cfc) (2007)
  • AJAX & Silverlight support (2007-2008)
  • DLR integration (2008 onwards)
Vince talked about how with IIS 6 there are three request pipelines: IIS, ASP.NET, BlueDragon (Application.cfc). With IIS 7, these can be integrated into a single set of handlers, allowing you to write event handlers in Application.cfc that apply to all requests - not just CFML pages. This will also allow for three new Application.cfc event handlers: onAuthenticationRequest(), onRequestAuthorize() and onRequestLog(). This will allow you to write security wrappers in CFML that apply in general across your web server, e.g., for images, HTML pages etc. Vince also showed an early build of the integrated administration, which exposes BlueDragon admin functions directly into the IIS 7 control panel. That means that all of the IIS 7 administrative concepts (cascading settings, remote delegation, deployable application configuration through web.config files) will now be applicable to BlueDragon. Bugs aside in these early builds, this level of integration is pretty impressive and I can see it being very appealing to people who are heavily invested in the Windows platform and IIS 7. Vince went on to show a new tag - <cfupdatepanel> - which allows a portion of a CFML page to be executed remotely as part of an AJAX region. It's a different approach to the AJAX widgets in ColdFusion 8 and my initial impression was that ColdFusion 8's approach is more powerful and more flexible. Vince has since assured me that this is just the first step in AJAX support for BlueDragon so comparisons should wait for now. The final demo in the keynote was a console application that compiled and executed CFML code by using the BlueDragon engine running on the DLR - Dynamic Language Runtime - that Microsoft recently announced. This is codenamed IronDragon (in the spirit of Microsoft's version of Python that runs on the DLR: IronPython). Since Silverlight implements the DLR, this opens up the possibility of using CFML on both the server (as today) and the client (in Silverlight). Given the appearance of Monolight - an implementation of Silverlight on top of Mono (the open source .NET runtime implementation) - this could be a very interesting development.

Tags: bluedragon · cfunited07 · coldfusion

1 response

  • 1 Elliott Sprehn // Jul 13, 2007 at 11:56 AM

    Sean, if you could send me an email with details regarding the presentations that had technical problems, what they were and when the presentation was that'd be awesome.

    We're going to be doing a full review with the AV company shortly and I'd love to know more about what kinds of problems attendees and speakers experienced.