Workflow Foundation 4.0 Activity Data Model (III)

We talked about WF4 Activity overview and WF parameters in particular in previous posts. In this installment, I’m going to focus on WF variables. Variable Variables are modeled by Variable class.     namespace System.Activities     {           public abstract class Variable : LocationReference         {             public ActivityWithResult Default { get; set; }             public…

1

WF State Machine Activity Pack CTP1 Released

The WF State Machine Activity Pack CTP1 is released on CodePlex NOW!!  Please check it out. Last year in PDC2009, I ran a chalk talk on our work on WF 4 State Machine Activities and promised the team would ship an implementation for public review after the release of Visual Studio 2010.  Today, I am so…

3

WF ADO.NET Activity Pack CTP1 Released

We are happy to announce that we have released the WF ADO.NET Activity Pack CTP1 on CodePlex. The WF ADO.NET Activity Pack CTP1 contains a set of WF 4 Activities based on .NET Framework Data Providers. These activities enable accessing a database through SQL commands or stored procedures within a workflow.  You can drag-and-drop the ADO.NET…

0

Workflow Foundation 4.0 Activity Data Model (II)

In the 1st segment, I talked about high level principle for WF4’s data model design. I’m going to talk about WF Argument in particular in this post. Argument We’ve briefly touched this before: in WF4, arguments are modeled by Argument class. namespace System.Activities {   public abstract class Argument {     public Type ArgumentType { get;…

1

Workflow Foundation 4.0 Activity Data Model (I)

In previous blogs, we went through how define an Activity’s execution logic. But this is not enough. To build any meaningful Activity, developers also need to the activity’s state and data flow. In this post, I’m going to talk about WF4’s Activity data model. Argument and Variable 101   WF is just another higher level…

0

Workflow Foundation Internals (III)

Workflow Foundation Internals (III) Andrew Au Continue with our last article, we will work on allowing parallelism and create the workflow/host communication pattern. This pattern is actually very common, such as waiting for multiple approvers to approve a document. Last time we notice the problem is that ScheduleActivity can only be called once, so the…

0

Workflow Foundation Internals (II)

Workflow Foundation Internals (II) Andrew Au Continue with our last article, we will work on separating program and data. Program and data are very distinct concepts from the perspective of a programmer. For example, you can run code, but you can’t run data. Code are not expected to be changed during runtime (except some circumstances…

0

Workflow Foundation Internals (I)

Workflow Foundation Internals (I) Andrew Au Inspired by the book Essential Windows Workflow Foundation that describes the last version of Workflow Foundation, I can’t stop myself trying to write an equivalent piece for WF4. While the basic working principle is fundamentally the same, the programming model is quite different. We will start from the same…

1

Workflow Foundation 4.0 Activity Model (II)

In previous post I introduced WF4’s Activity model. In this section, I’m going to use 2 samples to demo 4 styles to create a custom Activity. How to build a leaf activity – HttpGet   Today HTTP based RESTful services are getting popular, so it might be useful to perform some basic HTTP operations in workflow….

1

Workflow Foundation 4.0 Activity Model (I)

Workflow as Activities If you have programmed with Windows Workflow Foundation (WF), you should be very familiar with Activities. In WF, programs are defined by a tree of Activities. Some Activities are used to control the flow of program, like Sequence, If, and While; some Activities perform specific actions, like Assign, InvokeMethod and WriteLine; some…

4