Windows Workflow Foundation - Windows Workflow Foundation

Windows Workflow Foundation (WF)
Sviluppatore / i Microsoft
Versione iniziale 21 novembre 2006 ; 14 anni fa  ( 2006-11-21 )
Rilascio stabile
WF45 / 15 agosto 2012 ; 8 anni fa  ( 2012-08-15 )
Sistema operativo Microsoft Windows
piattaforma .NET Framework
genere Framework software
Sito web docs .microsoft .com / it-it / dotnet / framework / windows-workflow-foundation /

Windows Workflow Foundation ( WF ) è una tecnologia Microsoft che fornisce un'API , un motore di flusso di lavoro in-process e un designer rehostable per implementare processi a esecuzione prolungata come flussi di lavoro all'interno di applicazioni .NET . La versione corrente di WF è stata rilasciata come parte di .NET Framework versione 4.5 e viene denominata (WF45).

Un flusso di lavoro, come definito qui, è una serie di passaggi o fasi di programmazione distinti. Ogni passaggio è modellato in WF come attività. .NET Framework fornisce una libreria di attività (come WriteLine, un'attività che scrive testo nella console o altra forma di output). È inoltre possibile sviluppare attività personalizzate per funzionalità aggiuntive. Le attività possono essere assemblate visivamente in flussi di lavoro utilizzando Workflow Designer, un'area di progettazione che viene eseguita in Visual Studio . Il designer può anche essere ospitato in altre applicazioni.

L'incapsulamento della funzionalità di programmazione nelle attività consente allo sviluppatore di creare applicazioni più gestibili; ogni componente di esecuzione può essere sviluppato come oggetto Common Language Runtime la cui esecuzione sarà gestita dal runtime del flusso di lavoro.

Versioni di Workflow Foundation

  • Workflow Foundation è stato rilasciato per la prima volta nella versione 3 di .NET Framework e utilizza principalmente gli spazi dei nomi System.Workflow.Activities, System.Workflow.ComponentModel e System.Workflow.Runtime. I flussi di lavoro nella versione 3 sono stati creati utilizzando il modello sequenziale (in cui le attività vengono eseguite in ordine, con il completamento di un'attività che porta alla successiva), o il modello della macchina a stati (in cui le attività vengono eseguite in risposta a eventi esterni). Microsoft SharePoint 2007 utilizza WF 3.
  • In .NET 3.5 sono state introdotte attività di messaggistica che integravano il flusso di lavoro con Windows Communication Foundation (WCF). Con il nuovo ReceiveActivity, i flussi di lavoro potrebbero rispondere ai messaggi WCF in arrivo. Le nuove funzionalità di Workflow nella versione 3.5 utilizzano lo spazio dei nomi System.ServiceModel. Microsoft SharePoint 2010 utilizza WF 3.5.
  • In .NET 4, Windows Workflow Foundation è stato notevolmente aggiornato, con nuove funzionalità come Data Contract Resolver, Flowchart e altre attività di controllo del flusso aggiunte. Il flusso di lavoro in .NET 4 utilizza lo spazio dei nomi System.Activities. In particolare, non esiste più un oggetto Runtime del flusso di lavoro nella versione 4; i flussi di lavoro vengono eseguiti direttamente utilizzando invece WorkflowApplication o WorkflowInvoker.
  • Le attività create nelle versioni precedenti di .NET Framework possono essere eseguite dai flussi di lavoro .NET 4 utilizzando l'attività Interop.
  • Le versioni e le versioni future di Windows Phone includeranno una macchina a stati aggiornata e un aggiornamento dinamico.

Scenari di utilizzo del flusso di lavoro

Windows Workflow Foundation viene utilizzato per creare applicazioni che eseguono un processo aziendale ordinato, ad esempio i passaggi necessari per approvare un documento, assumere un candidato per una posizione o effettuare un acquisto. Questi processi possono essere eseguiti in un breve lasso di tempo, ma in genere sono di lunga durata, in cui l'applicazione dovrà essere chiusa per risparmiare memoria tra i passaggi. In genere, i processi aziendali da modellare come flussi di lavoro hanno le seguenti caratteristiche:

  • Avere una logica aziendale specifica che potrebbe dover cambiare periodicamente, come l'imposta o il calcolo della spedizione necessari per determinare il prezzo di acquisto di un articolo o la serie di passaggi necessari per approvare un acquisto, un noleggio o un processo.
  • Disporre di diversi input nel flusso di lavoro che possono essere separati da ore o giorni
  • Avere una logica aziendale avanzata che potrebbe richiedere l'esecuzione del flusso di lavoro per spostarsi in diversi rami a seconda delle diverse circostanze.
  • È necessario interagire con altri sistemi, come un database, un sito Web o un'altra applicazione client o un servizio Web.

Creazione di flussi di lavoro

I flussi di lavoro vengono creati definendoli in XAML Extensible Application Markup Language utilizzando la finestra di progettazione del flusso di lavoro oppure assemblati a livello di codice in un linguaggio .NET come C # o VB.NET. Se viene utilizzato il designer, le attività vengono assemblate nell'area di disegno del designer del flusso di lavoro trascinandole dalla casella degli strumenti. Anche gli argomenti e le variabili del flusso di lavoro vengono creati e assegnati all'interno del designer. Se un flusso di lavoro viene assemblato in codice, le attività vengono istanziate come altri oggetti CLR e assemblate in raccolte di una singola attività padre, in genere una sequenza o un diagramma di flusso. L'attività padre singolo viene quindi eseguita utilizzando WorkflowApplication o WorkflowInvoker e viene eseguita come flusso di lavoro. Il termine "Flusso di lavoro" qui di solito si riferisce all'attività di root eseguita dall'host. I flussi di lavoro possono utilizzare sia attività predefinite che attività personalizzate. Le attività predefinite includono attività di controllo del flusso come DoWhile, attività correlate al diagramma di flusso come FlowDecision, attività di messaggistica WCF come Send e attività primitive che eseguono attività semplici come Assign e WriteLine. Le attività personalizzate sono oggetti CLR creati dall'utente che derivano dalla classe System.Activities.Activity e forniscono funzionalità dichiarative consentendo allo sviluppatore di definire il comportamento di esecuzione dell'attività nel codice. Le attività personalizzate possono trarre vantaggio dall'associazione di una finestra di progettazione attività personalizzata per migliorare l'esperienza di creazione visiva nell'IDE di Visual Studio.

Libri sul flusso di lavoro

.NET 3.0 e 3.5

  • Dharma Shukla, Bob Schmidt: Essential Windows Workflow Foundation , Addison-Wesley Professional, 13 ottobre 2006, ISBN   0-321-39983-8
  • Michael Stiefel: Creazione di applicazioni con Windows Workflow Foundation (WF): Basics of Windows Workflow Foundation (Digital Short Cut) , 5 giugno 2007, Kindle, ISBN   0-321-51454-8
  • Brian Noyes: Developing Applications with Windows Workflow Foundation (WF) (Video Training) , 7 giugno 2007, Brian Noyes, ISBN   0-321-50313-9
  • Brian R. Myers: Foundations of WF , Apress, 23 ottobre 2006, ISBN   1-59059-718-4
  • Bruce Bukovics: Pro WF: Windows Workflow in .NET 3.0 , Apress, 19 febbraio 2007, ISBN   1-59059-778-8
  • Todd Kitta: Professional Windows Workflow Foundation , Wrox, 12 marzo 2007, ISBN   0-470-05386-0
  • Kenn Scribner: Microsoft Windows Workflow Foundation Step by Step , Microsoft Press, 28 febbraio 2007, ISBN   0-7356-2335-X

.NET 4.0

.NET 4.5

Riferimenti

link esterno