Durante l'ultima PDC, che si è svolta nel settembre 2005 a Los Angeles, Microsoft ha annunciato lo sviluppo di un nuovo framework destinato alla creazione di flussi di lavoro e battezzato con il nome di Windows Workflow Foundation.
Con quest'articolo cercheremo di capire perché ne sia nata la necessità e cosa ci viene messo a disposizione con questa tecnologia, parte di quel gruppo di API conosciuto con il nome di WinFX.
Perché Windows Workflow Foundation
Un workflow non è altro che una rappresentazione logica costituita da passaggi volta a descrivere un processo reale. E' un concetto semplice che aiuta a schematizzare un'esigenza o un problema ed è l'approccio con il quale chi si avvicina al mondo della programmazione raffigura quello che sarà il codice da scrivere, indipendentemente dal linguaggio.
Nel mondo moderno un workflow è spesso utile nella gestione documentale, caratterizzata dalla presenza di più attori quali autori, editori e moderatori che stendono, rifiutano o approvano un documento o un contenuto qualsiasi da pubblicare.
Spesso le applicazioni richiedono una personalizzazione a seconda del cliente e delle logiche di business che possono variare frequentemente ed essere più o meno complesse.
Anche nelle applicazioni web, il semplice navigare tra pagine legate tra loro, come può essere un portale di e-commerce può essere rappresentato da un workflow costituito da vari passaggi quali la consultazione, la scelta del prodotto, l'immissione dei dati, il pagamento e la spedizione.
Queste logiche sono molte volte simili tra loro e l'uso di componenti può non bastare per astrarre in modo completo ed abbracciare tutte queste esigenze.
Ne consegue il ripetersi della stesura di codice spesso simile, alla quale diversi sviluppatori devono mettere mano, modificare e dedurre la logica di chi ha scritto in precedenza il codice. Il risultato è un applicativo poco mantenibile nel tempo, che richiede più risorse per lo sviluppo e poco personalizzabile per il cliente.
Architettura
Windows Workflow Foundation (WF) è quindi un tentativo di fornire gli strumenti sia per noi sviluppatori, sia per l'utente finale. Si tratta di un framework scritto in .NET basato su un motore in grado di eseguire uno o più workflows anche lunghi nel tempo.
Questo motore, rappresentato dalla classe WorkflowRuntime può essere ospitato, con una singola istanza per appDomain, in qualsiasi processo sia esso una applicazione Console o Winforms, un servizio Windows o un sito web ASP.NET.
Non è quindi un prodotto finito, ma si completa unendolo allo sviluppo specifico per la nostra applicazione.
L'architettura di WF è la seguente:
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.