save and close methods for workflow designer hosting, 287
scheduling services
adding to workflows, 343
DefaultworkflowSchedulerService, 165
developing, 190
features of, 164
ManualWorkflowSchedulerService, 165–166
using, 43–44
schema, role in BizTalk Server, 54–55
Sequence activity
description of, 85
using, 138
sequential (nonchained) chaining, using with rules, 234
Sequential Workflow Console Application option, selecting, 20–21
Sequential Workflow Console Application template, creating projects from, 73–74
Sequential Workflow Library project template, description of, 75
sequential workflows
accessing fault handlers for, 299
in code-only workflow, 65–66
example of, 16
identifying, 35–36
versus state-machine workflows, 36
using EventDriven activity with, 131
sequential workflows view designer, description of, 82
Serializable attribute, using with External- DataEventArgs class, 106
serialization, 66–68
service providers, use of Windows Workflow Foundation by, 18
ServiceBase class, location of, 353
services-oriented architecture (SOA)
versus connected systems, 333
explanation of, 334
relationship to WCF, 13
session between web service client and web service, managing, 342
set accessor
using in workflow communication, 103
using with FirstName class in HelloWorld project, 22
using with WriteFileActivity class, 153
SetState activity, using, 138, 254
SetState method, using, 261–262
SetStateActivity state-machine activity class, description of, 39
Settings class, using with web service called inside workflow, 342
SharedConnectionWorkflowCommitWorkBatch- Service, using, 167
SharePoint 2007
debugging custom workflows in, 391–392
deploying and configuring custom workflows to, 390–391
enabling workflows in, 361
features of, 358–359
as host, 360
integration with Windows Workflow Foundation, 57–59
workflow associations in, 368–370
SharePoint Designer 2007
choosing field data types in, 376
data types for variables in, 377
defining Actions in, 378
defining conditions in, 378
developing in, 375–379
SharePoint workflow features
administration, 368
history, 367
reporting, 368
tasks, 366–367, 369
SharePoint workflow project templates, installing for Visual Studio, 380
SharePoint workflows.
See also SharePoint 2007;
workflows
Approval, 361–362
associating to content types, 369
Collect Feedback, 362–363
Collect Signatures, 363
deploying to servers, 390–391
developing in Visual Studio, 383–386
Disposition Approval, 364–365
enabling, 361
running, 371
Three-state, 366
Translation Management, 365–366
using WorkflowInvoked event handler with, 384
SharePoint-specific tasks, adding to Visual Studio, Toolbox, 383
shopping cart workflow application
description of, 262–263
state machine for, 263–264
Site Collection Features page, accessing, 390
Skelta Workflow.NET web address, 10–11
SOA (services-oriented architecture)
versus connected systems, 333
explanation of, 334
relationship to WCF, 13
solutions in Visual Studio
adding projects to, 73
contents of, 71–72
creating, 72–73
creating empty solutions, 72
SomeMessage input parameter, using in workflow communication, 103
SomeOtherMessage output parameter, using in workflow communication, 103
SQL persistence service, preparing, 169–171
SQL Server Management Studio, downloading, 169
SQL tracking query code sample, 185
SQL tracking service
adding to workflow runtime, 50–51
using, 182–183
sqlException class variable, relationship to Fault property, 133
SqlTrackingService class.
See also tracking services
data maintenance of, 186
features of, 181–182
preparing, 182–183
profiles used with, 183–184
querying, 184–186
using with tracking services, 42
using Workflow Monitor with, 186–187
SqlWorkflowPersistenceService class
and delays, 173
description of, 168–169
preparing, 169–171
relationship to persistence services, 42
using, 171
standard activities, explanation of, 125
Start method of WorkflowInstance class
calling, 100
description of, 100
Start Options, using with workflow associations, 369
StartRuntime public method, using with WorkflowRuntime class, 93–94
state, setting current state of workflow instances, 261–262
State activity, using, 138, 253–254
state machine implementation
example of, 16–17
guidelines for use of, 252–253
using with shopping cart workflow, 263–264
state machine workflow designer, using, 257–260
State Machine Workflow Library project template, description of, 75
StateActivity state-machine activity class, description of, 39
StateFinalization activity, using, 139, 254
StateFinalizationActivity state-machine activity class, description of, 39
StateInitialization activity, using, 139, 254
StateInitializationActivity state-machine activity class, description of, 39
state-machine activities.
See also activities
EventDriven, 254
SetState, 254
State, 253–254
StateFinalization, 254
StateInitialization, 254
StateMachineWorkflowActivity class, 253
state-machine activity classes, 39
state-machine designer, using, 290–293
state-machine instances, querying, 261
State-Machine Workflow Console Application project template, description of, 75
state-machine workflows.
See also Three-state workflow in SharePoint
versus sequential workflows, 36
using SetState activity with, 138
using State activity with, 138
state-machine workflows, using EventDriven activity with, 131
state-machine workflows view designer, description of, 84–85
StateMachineWorkflowActivity class, using, 253
StateMachineWorkflowInstance class
flexibility of, 261–262
information provided by, 261
using, 260–261
states versus transitions, 251–252
static void Main(string[]args) signature, 73
StopRuntime public method, using with Work- flowRuntime class, 93
stored procedures, including in SQL persistence setup, 170
string variable, using with HelloWorld project, 25
StringWriter instance, using with tracking profile, 178
submit action, adding to form, 389
Subscribe method, using with e-mail activity, 216
Suspend activity, using, 139–140
Suspend method of WorkflowInstance class, description of, 100
SynchronizationScope activity, using, 140
syntax.
See also code listings
of CallExternalMethod activity, 126
of Code activity, 126
of CompensatableSequence activity, 127
of CompensatableTransactionScope activity, 128
of Compensate activity, 127
of CompensationHandler activity, 127
of ConditionedActivityGroup activity, 130
for defining rules, 224
of Delay activity, 130
of EventDriven activity, 131
of EventHandlingScope and EventHandlers activities, 131
of FaultHandler activity, 132
of FaultHandlers activity, 132
of HandleExternalEvent activity, 133
of IfElse and IfElseBranch activities, 133
of InvokeWebService activity, 134
of InvokeWorkflow activity, 135
of Listen activity, 135
of Parallel activity, 135–136
of Policy activity, 137
of Replicator activity, 137
of Sequence activity, 138
of SetState activity, 138
of State activity, 138
of StateFinalization and StateInitialization activities, 139
of Suspend activity, 139
of SynchronizationScope activity, 140
of Terminate activity, 141
of Throw activity, 141
of TransactionScope activity, 128
of WebServiceFault activity, 141
of WebServiceInput activity, 141
of WebServiceOutput activity, 142
of While activity, 142
System.* namespaces, contents of, 52–53
system-to-system interaction scenario, 6