Windows Workflow Foundation

Microsoft Certified Course 6462A

last update: 12/18/2009


Current Class Information

Meeting 1

I've produced a few more example workflow projects:

  1. WorkflowLifecycleDemo.zip - I thought that I'd write-up a simple sequential workflow (console app) that will demonstrate the various workflow life cycle states as show within the first meeting slides (Created, Started, Idle, Terminated, Aborted, Suspended, Resumed, and  Completed. Note that I've placed some TODO comments within the host Program.cs file that directs you to change some parameters or uncomment some lines of code to show some of these state events.
  2. DynamicChangeInternalDemo.zip - demonstrates dynamic changes of a workflow from within the workflow instance (as shown on the last set of slides). As the workflow runs a loop, it will dynamically add additional CodeActivities.
  3. DynamicChangeExternalDemo.zip - demonstrates dynamic changes of a workflow from the host (as shown in the last set of slides). As the workflow runs a loop, the host will dynamically add an addition custom activity when the workflow enters a suspended state.

I negelected to provide you with the contents of the database table AppointmentSlots. Here is a procedure to fill up the table with the contents expected by the lab:

  1. Create the Database as detailed in my text file on the CD (under setup folder).
  2. After you create the database using the provided SQL script, then fill the table by running the test application: LoadAppointmentDB.zip

Here is an updated lab writeup for module 1. I've corrected some of the texts (path to source files) and added some additional information (in blue text). I have also rewrote the solution since I think that excerise 4 could be simplified with respect to the intra-thread transition to the UI thread: UpdateLab_Module1.zip

Meeting 2

no entries

Meeting 3

I've produced a 'simple' stand-alone WCF console based service (the Shopping List). This service will hold a collection of shopping items (name and cost) and will allow you to ask for the total cost and also obtain a list of items currently in the list. I've published this service over named pipe and TCP for localhost-only connections.

I've produced a simple Console based non-workflow client of this service and a simple console based workflow client.

Download and unzip this file: WCFsample.zip

Steps to run and play with this sample:

  1. compile the SimpleConsoleWCF solution. Then run it  (you do not need to run this in the debugger...just find the SimpleConsoleWCF.exe and run it).
  2. The console will run and display some diagnostic info. It will list addresses that you can use when setting up a Service Reference in Visual Studio. These addresses are the ones that start with IMetadataExchange and are one of these:
    1. net.pipe://localhost/mex
    2. net.tcp://localhost/mex
  3. You can setup your own client (use one of the metadata exchange endpoint addresses shown above) or try one of my clients
    1. ConsoleApplication1 - this is a simple plain-old console app that will call the name pipe transport (net.pipe://localhost/mex) to add a couple of shopping items then ask for total cost and then list out the list of items.
    2. WorkflowConsoleApplication1 - a console sequential workflow that will make calls to the shopping list service to add some items, get total cost, get the list and then pass the total cost and list back to the host for display.

Meeting 4

Here are some last minute samples from the last meeting:

  1. IssueWithDesignerBindDlg.zip - sample where I show how inconsistant the designer property page behaves with certain property types (how to bring up the binding dialog by clicking the yellow can)
  2. Persistence_CustomActivityDemo.zip - custom activity written to show the differentence between Initialize and OnActivityExecutionContextLoad

Overview

Windows Workflow Foundation (Course 6462)

Windows Workflow Foundation enables developing domain-specific application development using declarative Extensible Application Markup (XAML) or imperative code-only (or a mix of declarative and imperative development) that runs under the .Net CLR. The WF runtime environment provides an extensible set of services for long-running code, runtime control, auditing/tracing, and runtime logic modifications. Topics include: sequential and state-machine workflows, workflow hosting in console, service, and UI applications, Dependency properties, host and inter-service communication, standard and custom activities, overview of upcoming features in .Net 4.0

Prerequisites: students need to be familiar with .NET 2.0 (C# or Visual Basic). Some familiarity with WCF would be helpful, but not required.

This Microsoft produced class assumes the students are familiar with .Net 2.0 class library, C# and/or Visual Basic..

This class is based on the Microsoft Course 6462A: http://www.microsoft.com/learning/en/us/syllabi/6462a.aspx

The official course syllabus can be downloaded here. : 6462A_Course_Syllabus.xps

Prerequisites

This Microsoft produced class assumes the students are familiar with .Net 2.0 (C# or Visual Basic.Net languages and class library)

.Net 2.0 topics you should be familiar with:

Some experience with IIS 5.1 (XP) or IIS 6.0 (Server 2003) or IIS 7.0 (Vista / Server 2008 / Windows 7) and creation of very simple ASP.Net web services would be a bonus.

Additional topics that would be very good to know (not necessarily for this class, but as a professional developer...but I might use of Reflector and auto-implemented properties and object initializes from time to time in class demos):


Contact Information

Peter Partch email = pmp@pmconsult.com

Windows Presentation Foundation info: http://wpf.pmconsult.com

Windows Communication Foundation info: http://wcf.pmconsult.com

Silverlight info: http://silverlight.pmconsult.com

Windows Workflow Foundation info: http://wwf.pmconsult.com 

Class Offerings at UCI Extension and Available On-Site

Currently Offered

Under Development

Discontinued (not offered at UCI) at but available on-site