Windows Workflow Foundation What is hot, what is not? Maurice de Beijer ABL – The Problem Solver
Wie ben ik? Maurice de Beijer. The Problem Solver. Visual Basic MVP. Blog: theproblemsolver/default.aspx Web:
Agenda Waarom Windows Workflow Foundation? Een overzicht van WF. Een workflow maken. External Data Exchange. Transacties. Queues. Event driven.
Een plaatje zegt meer dan 1000 woorden!
Workflows maken XAML Markup Only XAMLC#/VB Markup + Code C#/VB Code only Workflow CompilerC#/VB Compiler XAML Markup Only NET Assembly Workflow Runtime Workflow Instance
Workflows uitvoeren Host Application Workflow Runtime Runtime Services XAML Workflow Instance PersistenceLoader Idle! Workflow Instance
Activities WhileActivity –CodeCondition –Declarative rule condition SequenceActivity IfElseActivity CodeActivity DelayActivity
External Data Exchange ExternalDataExchangeService Interface met ExternalDataExchange attribuut. Functie aanroep van de workflow naar de service. Event met ExternalDataEventArgs van de service terug naar de workflow.
Transacties TransactionScopeActivity –Atomic, Consistent, Isolation, and Durable (ACID) CompensatableTransactionScopeActivity –Voor lang lopende transacties. WorkBatch –Actie pas uitvoeren als de workflow persist wordt. Een WorkflowPersistenceService is verplicht!
Custom Activities en Queues WorkflowQueuingService –CreateWorkflowQueue() WorkflowQueue –Registreer QueueItemAvailable event. –Dequeue() WorkflowRuntime –GetWorkflow(instanceId) WorkflowInstance – instance.EnqueueItem("QueueName", "Data object", IPendingWork, workItem)
Custom Activities en Events IEventActivity –HandleExternalEventActivity –WebServiceInputActivity –DelayActivity –Custom activities ListenActivity EventDrivenActivity –ConditionedActivityGroup –StateActivity
Vragen?