Having just returned from TechEd 2006 I am excited to begin sharing my passion for Windows Workflow Foundation (WF). It is my opinion that WF is the tool that will enable model driven development that will become the de facto standard for application and system development. If you are not familiar with WF yet, then its time to start reading up on it over at www.netfx3.com . Currently Microsoft is shipping WF beta 2.2 with both Sequential and State Machine workflow activities. Later this year they are planning to release WF and a CTP of a new WF activity know as PageFlow. While you wait you might check out the Webcast from Israel Hilerio to see some of the ideas going into the page flow activities. I really enjoyed meeting Israel and the other members of the WF team as well as Kashif Alam. Kashif is the point of contact for the ASP.NET team when it comes to WF integration and the coming Page Flow activities. I have spent the last few weeks trying to build a page flow model on top of a State Machine since I was not aware of the model Microsoft is working on. Now that I have a better understanding of where Microsoft is heading as well as a working prototype of my own I would like to begin sharing my code and ideas. I look forward to other feedback and ideas for improvement. I am ready to use WF now! My hope is that, together with anyone who reads this, we can create and maintain a set of tools that will enable powerful WF solutions underneath very thin UI layers. I will be focusing on starting a WF powered web application from scratch. What will make it different from a traditional application is that all logic and flow will be driven by the WF engine, activities, and abstraction layers. In the end I will have a web UI that is completely brainless. All short and long term persistence will be managed by WF activities and WF code. All navigation and page flow will be driven by WF models, yet equally supportive of non-linear processes and browser back buttons. Running a Windows UI on top of the workflow will be fully supported, though at this time I do not plan to explore that scenario, except to ensure that system.web is not referenced anywhere except the UI layer. I will be demonstrating an ASP.NET WorkflowManager (WFM), but it should be trivial to create a similar Smart Client WorkflowManager as well. The WFM will by the abstraction layer between the UI and the WF making it simple for the developer to pass objects between the 2 and manage the runtime and WF instances. In addition I will share my implementation of the Simple Read and Write activities that were introduced in the MS Help Desk sample application. The Help Desk sample application was also written by Israel Hilerio to demonstrate an option for simplifying the sharing for data between a workflow and the hosting application. I have found it to be very effective for many scenarios and I look forward to presenting some enhancements to it for enabling additional scenarios. These will be incorporated
Read More...