Microsoft .NET 3.0

I’ve recently had the chance to discover some of the new tiers in Microsoft .NET 3.0; most notably Windows Workflow Foundation. Just recently .NET 3.0 was certified as RC1, final being the next step. Any of you reading who somewhat follow .NET are shouting out, “it’s only been 12 months since 2.0 was released!” Well, yes, you’re right. 2.0 was released in November of 2005, including Visual Studio 2005 and SQL Server 2005. However, the impact of .NET 3.0 isn’t quite the same as 2.0. 2.0 was a major release of the core frameworks and APIs of .NET. The 3.0 release contains the same 2.0 core frameworks and APIs with the addition of Workflow Foundation, Communication Foundation, Presentation Foundation, and CardSpace. So dropping the 3.0 badge kinds of pollutes the picture but hopefully that puts it into perspective. 3.0 will be a big deal, especially regarding Windows Vista. You can think of 3.0 as the “Windows Vista .NET release”.

Workflow Foundation (WF) is quite an interesting framework. Conceptually WF is something you use everyday as a developer of business applications. Business applications, generally speaking, consist of solving processes through code, effectively automating much of what may have previously been done manually. Where WF comes in is with the business workflows. Consider an employee timesheet process. Employee A fills out their timesheet on Friday afternoon, submits it, and goes home for the weekend. HR representative A comes in on Monday and looks over the timesheet our employee submitted last week. If everything checks out, they approve the timesheet and move along. Otherwise, if an exception is discovered, they take a different path of action. This process is a very common business process. What WF allows you, the developer, to do is visually design this process in Visual Studio and incorporate rules. So if a timesheet cannot be submitted with less than 40 hours, a rule would inforce that. Rules are stored in XML and can be stored in a persisted state, such as SQL Server. The WF runtime can load these rule sets dynamically and apply them as needed, and the rule sets can even be versioned as rules change.

As of right now I haven’t been able to dig into any of the other pillars of the .NET 3.0 framework. I’m really looking forward to digesting Communication Foundation. I’ve always been into Web Services and can’t wait to see how that has changed in .NET 3.0.

Leave a Reply