Now we’re introduced to the WF programming model by implementing the more abstract examples in Chapter 1 into actual WF classes. The basic elements are explained including;
- Activity – the basic element, analogous to a program statement
- ActivityExecutionContext – a bit like a thread or transaction context, that spans the episodic(!) code. It allows the activity to access the workflow services relevant to it
- WorkflowQueuingService – Provides (so far) core services for communication with and shelving (or persisting) the activities
- Program Queue – the gateway where external code can put data into the queue that then influences or stimulates the activities to read from the queue and process the data
- Composite Activity – an activity that contains other activities, used to create control workflows, e.g. sequence analogous to a program block
- WF Program – hierarchy of activities, declaratively represented in XAML
- Binding – a way to declare the property of one element is the input to another
- How to host a WorkflowInstance via XmlTextReader-ing the XAML
- Passivation – (the words I’m learning) when WF program becomes inactive (waiting) the WF runtime can persist to a store. It can then be resumed – maybe on a different machine (hinting to the scalability) – via the instance Id.
The chapter is good but not without some minor issues. To re-enforce the concepts I decided to implement them, only the order of implementation is mixed up. Like I say, a minor point. It would also be nice to add a few comments to the code examples, maybe I’ll publish my code as a sample soon. I’ve go a feeling the next chapter is going to step up some with ‘Activity Automaton’.