As announced on the community site, Windows Workflow Foundation (WF) Beta 2.2 is available here.
A very important point to note: You can not install this on top of an installation of the February CTP of WinFx. So, if you have WinFx installed you will have to uninstall it, all the pieces and parts, in order to install Beta 2.2. If you are focused on a solution that only leverages WF, and not WCF or WPF, and want to upgrade to a newer version of the bits which are closer to the version which will be released, this is the path for you. If you are building a solution that leverages additional WinFx technologies, you will want to stick with the February CTP.
The install of Beta 2.2 contains all of the components (see below) of a WF install, and is titled the "Microsoft Visual Studio 2005 Extensions for Windows Workflow Foundation Beta 2.2." That's a mouthful. For Beta 2.2, this is the only thing that you need to install. A summary of the changes are contained here.
On to a completely different topic. I've also gotten some questions about why the WinFx install contains what seems like 3 different installs. The simple answer is that there are really three components to WinFx (and thus, applies to WF).
So, three pieces: runtime, SDK, designer, and now you know why they are there.
Jurgen put together a great webcast on building rules-based applications using WF.
Check it out. Now.
So, everybody out there probably saw this XBox 360 tracker application from http://untitlednet.com/. I know that I've heard reports of links of this thing smoking through offices faster than a "it's Friday so you can leave an hour early" email.
Craig takes the idea and really kicks it up a notch, while at the same time showing off some cool features that will ship as part of WinFx. Go check out the code, and I'd like to point out the way that he uses workflow as a means by which to organize all of the work that he needs his application to do. He also shows some ways to get your workflow instance to communicate back to your user interface.
Check out this channel9 video that documents the approach he took, and how he leveraged these technologies, WCF, Workflow, and WPF in order to create a pretty sweet application. Now I just need to find an XBox 360 in Seattle!
So here I am...Two weeks following my NEO (new employee orientation) here in Redmond, I've finally caught my breath enough to put an entry up on this blog.First, a little bit about me, before I dive right into all things workflow. I'm from St. Louis, where I grew up, and spent the last five years working for two different Microsoft partners. Then, in January, I decided to accept a position here at Microsoft as the technical evangelist for Windows Workflow. My wife, daughter, and pug then headed out here.I'm out here now as the Technical Evangelist for Windows Workflow. I'm working in James Conard's Longhorn Server Evangilism team, with some other evangelists are doing some cool things.
I'm focused on talking about Windows Workflow, so let me start by talking about why I am so excited about it. Almost every application, from an embedded video controller, to an enterprise content management system, manages a lot of the same things. We manage where we're at, where we're going. We (should) track where we've been, what we're doing right now, how long things are taking, and we should make that information easy to see. We usually need to act over a period of time that's longer than a quick void main(), and we should be able to gracefully recover in the case where something goes wrong. If we don't like the way a current app is handling these things, we should be able to swap that out with an implementationthat fits our situation a litle better.
Now, a well-designed, well-planned, well-coded and well-tested solution will handle a lot of these scenarios. Windows Workflow Foundation gives a toolkit to developers that does a lot of this for us, giving us a very well designed base to build our apps on top of. A lot of that infrastructure that we write again and again on applications, or bake into frameworks we push out to our organization's developers to use, exists in Workflow already. We can easily extend it to map to our specific objects by writing our own activities. We can incorporate those activities (graphically) into our program flow or composite those basic activities into more complicated ones. If the out of the box host doesn't meet our needs, we can write a new tracking service, a new persistance provider.
These are common problems faced in many problem domains, and this is an incredibly versatile swiss-army knife that many developers will be able to use. I'm excited becuase I think it's a well designed product, and I think it's something that almost every developer can use, and I can't wait to hear about how everyone's using it! Until next time, check things out at