For the fourth time since last September, a Microsoft spokesperson has contacted Betanews to suggest that our explanation of the remote application services deployment model brought closer by today's release of Beta 1 of .NET Framework 4.0 might confuse some folks. Thing is, we at least have reason to believe we understand the concept of it pretty well, having first spent up-front time with it last October at PDC.

So what exactly is going on? The big idea is that Microsoft is making it possible to design .NET applications that utilize Windows Communication Foundation (WCF, its service-oriented model introduced with Vista) and Windows Workflow Foundation (WF -- just one "W, so as to avoid enraging the World Wildlife Fund), that can be distributed using an applications server. The ideal of service-oriented logic is that an online application defines its services well so that its functions can be discoverable -- that client apps can discern how to utilize or "consume" those services. This way an online service doesn't have to be tailored exclusively for particular clients.


Meanwhile, WF is a way for applications to better define the way they will work by dividing their functions into discrete jobs. One reason for doing this (other than the fact that it lends to more logical design) is so that the runtime schedulers can determine which of these jobs may be scheduled simultaneously with one another, and which require others to be completed first.

Both of these concepts, you'd think, would be crucial for deploying an application remotely through an app server. The truth is, we're only just now getting around to them with regard to Microsoft.

Now, all technologies ever devised by Microsoft since it first got paid for that traffic light regulator, have been conceived and implemented in components. Sometimes a component that pertains to a broader concept gets a funky code-name. In this case, "Dublin" was created to pertain to the company's Windows Applications Server project, which is a huge expansion of its app server capabilities to enable WCF and WF on a distributed scale.

.NET Framework 4.0, whose Beta 1 was released to the general public today, contains the necessary expansions for programmers especially using the Visual Studio 2010 Beta 1, also released today, to code apps on the local level that utilize WCF and WF, and that can eventually be deployed remotely. VS 2010 adds the modeling tools a developer needs to get the concepts down, test them out, and deploy them once they're whittled down.

You've heard us talk about .NET Services. That's Microsoft's implementation of .NET in the cloud -- specifically, it's own cloud, where Windows Azure reigns. One big way to produce a distributed application is to devise it first for .NET 4.0, then to deploy it over Azure where it's managed by .NET Services. Obviously there's a difference between the two components regarding location; .NET Framework 4.0 is on your system, while .NET Services is on Microsoft's. It's generally regarded that Dublin is the underlying technology behind .NET Services. Meanwhile, Dublin technology will eventually be distributed with the Application Server role of Windows Server, hopefully with the WS2K8 R2 release.

As Microsoft's spokesperson told us this afternoon, "One clarifying point is that while Dublin and .NET Framework technologies are related parts of Microsoft's application server investments, Dublin, .NET Services, and .NET 4 are three separate technologies. Of course, as you might expect, customers will often see value in using them together from a use-scenario perspective, but they are not part of the same beta and will not ship together."

Kind of, in the way different layers of an onion are separate parts of a salad, especially once you've peeled it. But they're not really different vegetables. Indeed, you won't be seeing the app server extensions of Dublin with .NET Framework 4.0 Beta 1; and .NET Services, as you now know, is way out there. But they all fit together and rely upon one another, which is why you'll sometimes hear the "Dublin" umbrella extended to include technologies beyond its original purview.

An excellent article from Microsoft itself on this subject is "WCF and WF Services in the .NET Framework 4.0 and 'Dublin'" by Aaron Skonnard.