Windows Workflow Foundation
ed esempio di codice
Di Massimiliano Brolli
I
Concetti base
WF è l’acronimo di Workflow
Foundation, conosciuto precedentemente con il nome di Orcas,
consiste in un insieme di librerie che implementano una infrastruttura
standard per la gestione di applicazioni incentrate sulla collaborazione e sui
flussi di lavoro.
Workflow Foundation permette di avvalersi di due tipologie di flussi di lavoro:
- flussi
di lavoro Sequenziali
- flussi
di lavoro a Stati.
Workflow
Sequenziale : è un
Workflow che definisce delle Attività che dovranno essere eseguite in modo sequenziale
definendo un percorso ripetitivo.
Workflow
a Stati : detti anche StateMachine, definiscono un flusso di lavoro
composto da Stati, dove ogni stato è l’insieme di diverse Attività. La
transazione tra uno stato e un'altro definisce un evento.
Workflow Foundation è un Framework Bidirezionale, ciò vuol dire
che è possibile dal Workflow controllare l’applicazione e permette
all’applicazione di controllare direttamente il Workflow oltre che dare
la possibilità di definire nuove attività a RunTime in maniera programmatica.

La
notevole varietà di attività presenti in WorkFlow Foundation (Mostrate nella
figura riportata in seguito) rende semplice e intuitivo creare Workflow
complessi e difficili da realizzare in maniera tradizionale.

Come
visto nella slide precedente, Workflow Foundation definisce molteplici attività
che possono essere utilizzate all’interno del Workflow come ad esempio
delle chiamate a codice esterno denominate CallExternalMethodActivity oppure
accettare eventi dall’applicazione che ne fa utilizzo denominate
HandleExternalEvent oppure iterazioni, condizioni, processi paralleli
ecc..
WF permette anche di rendere persistenti le istanze di Workflow in
hosting nel suo Runtime per ovviare alla perdita dei dati dovuta ad un
eventuale crash applicativo o di sistema.
A tale scopo è possibile utilizzare le classi presenti nel set Workflow
Foundation denominate SqlWorkflowPersistenceService e SqlTrackingService
che eseguono operazioni di Tracking e persistenza del
Workflow Stesso su una base dati Sql Server 2005.
Per rendere disponibile l’infrastruttura di persistenza occorrerà
eseguire dei file script SQL sul server DBMS che predisporranno il database
alla persistenza dei dati del Workflow.