Editor's Note

Take a Deep Breath

Howard Dierking

  

As I write this, I'm on a flight from Seattle to the East Coast. I'll spend a few days in our New York office, then I'm off to a conference in Texas. From there, it's back to Redmond for another couple of meetings and, finally, I head to Tech•Ed EMEA in Barcelona. Conference season is obviously in full swing—another way to tell that 2007 is nearly over! How did we get here so fast? It's a good time to reflect on where we've come as developers this year and what 2008 might bring.

While 2007 saw the launch of several different technologies, two primary themes emerged: AJAX and the Microsoft .NET Framework 3.0. AJAX was inaugurated as a first-class Web application development platform with the ASP.NET AJAX Extensions. The extensions library introduced both client and server libraries that can abstract much of the plumbing detail involved in connecting JavaScript code running in the browser with business logic running on an application server. Additionally, the library established a new mechanism for dynamically associating script behaviors with existing controls, provided localization functionality on both client and server, and much more.

The .NET Framework 3.0 introduced three technologies that are already causing a dramatic shift in how applications are architected. Windows Presentation Foundation (WPF) took the traditional message-pump, clipping-rectangle architecture of Win32 and flipped it on its head, leveraging advancements in graphic cards and offering Windows developers the declarative, container-based mode of authoring user interface elements long enjoyed by Web application developers. Windows Communication Foundation (WCF) pulled together all the various methods of creating a distributed application under one abstraction layer. And Windows Workflow Foundation (Windows WF) added a declarative workflow modeling language and execution engine, functionality that was previously available only as an additional app, not as a platform service.

When you consider the enormity of the .NET Framework 3.0 and AJAX, feeling overwhelmed as a developer is completely understandable. The implications that technologies like Windows WF and WCF bring to traditional application architectural patterns such as the rich domain pattern are potentially significant. For example, is it now a best practice to abandon all of those OO practices and split class hierarchies into pairs of logic service classes and data token classes that can easily be passed between remote services? What are the best practices around unit-testing long-running workflows? When is it better to use AJAX script service methods as opposed to partial rendering?

And if those questions aren't significant enough, 2008 looks likely to accelerate the trend. Ever since MIX 2007, Silverlight has been poised to take the world by storm, enabling a richer browser-based user experience than has yet been possible in Web application development. Moreover, with the release of LINQ in Visual Studio 2008 and the ADO.NET Entity Framework (following soon after the Visual Studio release), how we think about data access is about to undergo a major paradigm shift. And along with all of the great platform technologies being released, the 2007 Office system, including SharePoint technologies running on the application tier, continues to grow in its capabilities to provide highly integrated, functional apps for businesses.

So if you're like me and are wondering when we're going to get two seconds to take a breath, keep holding on. Like my travel schedule, it doesn't look like it's going to let up any time soon. As always, though, we at MSDN Magazine will continue to do what we do best—help you sort through the noise and grow into the best developer out there, hopefully entertaining you a bit along the way! —Howard

Thanks to the following Microsoft technical experts for their help with this issue: Derek Del Conte, Beatriz de Oliveira Costa, Chris Davis, Steve Fox, Matt Gibbs, Lee Holmes, Chris Houser, John Justice, Matt Steele, Nenad Stefanovic and Stephen Toub.