1. Sequential: Its actions are executed in some predefined order with a beginning and an end. 2. State machines: These workflows don't have a path, but it's represented as a set of states and transitions between states.
Windows Workflow Foundation includes support for both system workflow and human workflow across a wide range of scenarios. WWF namespace in Microsoft .NET Framework version 3.0 and 3.5 is called System.Workflow. Windows Workflow Foundation provides a consistent and familiar development experience with other Microsoft .NET Framework version 3.0 and 3.5 technologies such as ASP.NET, Windows Communication Foundation (WCF) and Windows Presentation Foundation (WPF). WWF provides full support for VB.NET and C#, debugging, a graphical workflow designer and the ability to develop your workflow completely in code.
Windows Workflow Foundation also provides an extensible model and designer to build custom activities which encapsulate workflow functionality for end-users or for re-use across multiple projects. A workflow is a set of activities stored as a model that describe a real world process. Work passes through the model from start to finish and activities might be executed by people or by system functions. Activity receives some parameters from the developer, executes it actions, and then transfers the flow to the next activity. Developers can create new activities and use them in their own code or create an ActivityLibrary.
Workflow provides a way of describing the order of execution and dependent relationships between pieces of short or long running work. While it is possible to write a workflow completely in code, workflow is often best viewed graphically. Once a workflow model is compiled it can be executed inside any Windows process including console apps, forms- based apps, Windows Services, ASP.NET web sites and web services.
Download .NET 3.0 Framework from here
Download WWF Extension from here
Download WWF sample code from here
New Features of .NET 3.0
The new framework contains following foundation technologies.
Windows Presentation Foundation (WPF)
This is the one of the most familiar foundation among the four, because it provides interfaces for developing GUI. This is entirely a new way of programming for GUI. Using this foundation class programs can be developed for Desktop, Web, and mobile platforms.
In .NET 3.0 the GUI is defined using a XML language called XAML (Extensible Application Markup Language) pronounced like Zammel, which defines the layout of controls and defines the data binding. In a way, it separates the code and layout of controls, similar to ASP.NET 2.0 web page technology.
A sample XAML definition for Window with a button is given below.
Windows Communication Foundation (WCF)
This is another foundation library used for designing and developing application with communication between applications as a main goal. The communication can happen between the processes of same computer or two different computers in local network or internet.
This foundation is designed in accordance with the principle of service oriented architecture. WCF implements many advanced web services standards, like WS-Addressing, WS-Reliability, and WS-Security. It is basically a service and clients can consume those services over network. The service and client can be hosted in different OS platforms.
Windows workflow foundation (WWF)
It is technology for defining, executing, and managing workflows. Workflow is like a process mapping and definition. The sample application which implements WWF is SharePoint portal.
Visual studio 2005, the developer can design, implement, and test WWF workflows.
Windows card space (WCS)
The new Windows card space technology, is step towards better way of authenticating people, previously it was done using a username and password mechanism with the help of services like Active directory, Passport, and Windows membership.
Using this new technology, any user can create and share his identity. Microsoft implemented this solution in such a way that it can easily integrate with solutions from other company. For example a PHP solution can integrate card space technology with less than 200 lines of code.
These foundations technologies are based on the .Net 2.0, and provide new interfaces for software development. From the name itself, it is understood each foundation technologies are designed to use with specific tasks.