Domanda

In particolare, sono interessato a: 1) Ottenere una configurazione di ambiente gratuita per eseguire flussi di lavoro. 2) Come utilizzare gli elementi / stati del flusso di lavoro esistenti e ciò che è coinvolto in questo.

Grazie!

È stato utile?

Soluzione

Stai cercando un laboratorio virtuale come questo da MSDN ?

Per alcuni How Tos, prova a scaricare Labs pratici per Windows Workflow Foundation

Altri suggerimenti

Le altre risposte sono buone, ma penso che sia importante per le persone capire perché usare il flusso di lavoro. Molte persone usano WF quando non ce n'è bisogno, e altri ancora rifiutano di usare quando il loro caso d'uso è il più ideale per l'uso di WF.

La migliore spiegazione che io abbia mai letto su quando e se usare WF è post di blog . È stato l'architetto della prima versione di Windows Workflow Foundation.

Lo incollerò qui per i posteri:


Che cos'è il flusso di lavoro e perché preoccuparsi?

Il flusso di lavoro, ovviamente, è uno di quei termini profondamente sovraccarichi che ostacolano la comunicazione ogni volta che aiuta, quindi è meglio che dica cosa intendo con ciò.

Il flusso di lavoro si riduce a due sole idee: che c'è del lavoro da fare, che un flusso di lavoro vede come unità di comportamento opache; e flusso, che descrive il lavoro svolto quando.

Quindi è un flusso di lavoro?

public void HandleLoanRequest (string customerID, Application app)
{
    if (CheckCredit(customerId, app.Amount))
    {
        MakeOffer (customerId, app);
    }
}

Sì, credo di si. Il lavoro sta verificando il credito del cliente e facendo un'offerta e HandleLoanRequest definisce se e quando viene eseguito questo lavoro.

Ma il fatto che i venditori di flussi di lavoro abbiano tradizionalmente ritenuto necessario qualcosa di più di questo tipo di codice prima di dichiarare la vittoria suggerisce che ci manca ancora una nozione chiave.

Questo, credo, è che non dobbiamo solo descrivere il flusso, ma descriverlo in un modo che possiamo ispezionare, ragionare e manipolare. In breve, il flusso di lavoro ha bisogno di un modello.

C # è un modo per farlo: possiamo definire standard di codifica che ci consentono di scansionare il codice del flusso di lavoro e disegnare un grafico del flusso, ad esempio. Oppure potremmo definire gli attributi che lo sviluppatore può utilizzare per richiamare le parti del suo codice che formano il modello. Questa non è la scelta che abbiamo fatto per Windows Workflow Foundation & # 8211; e parlerò del perché abbiamo scelto ciò che abbiamo fatto nei post successivi & # 8211; ma funzionerebbe.

Ma torniamo al motivo per cui potremmo aver bisogno di un modello. Dovremo impegnarci per crearlo, quindi perché preoccuparsi? Dov'è il rimborso? (o il manzo, come questo inglese all'estero sta imparando a chiamarlo).

Beh, penso che il payback provenga da ciò che il modello consente -

Visualizzazione Utile per lo sviluppatore, sia durante lo sviluppo che per la manutenzione, ma anche per l'utente del flusso di lavoro che vuole sapere perché dovrebbe fare ciò che gli è stato chiesto di fare, o il ragazzo IT Ops che vuole sapere che cosa è o dovrebbe essere un'app che si comporta male.

Espressività Un modello di flusso di lavoro è un linguaggio specifico del dominio, specializzato per supportare problemi caratteristici. Un esempio è un processo di revisione in cui tre voti positivi su cinque recensioni indicano che il documento è valido & # 8211; e tutte le recensioni eccezionali possono essere cancellate. Questo è un po 'noioso da codificare, ma Windows Workflow Foundation include costruzioni predefinite che risolvono tali problemi.

Esecuzione Il runtime può sfruttare il modello per eliminare la necessità di risolvere ripetutamente gli stessi problemi. In Windows Workflow Foundation abbiamo integrato il supporto per i problemi complessi di un flusso di lavoro di lunga durata come la gestione dello stato e la compensazione & # 8211; controllato da elementi modello semplici ed espressivi.

Monitoraggio L'esistenza di un modello consente di produrre un flusso di eventi con una semantica significativa senza alcuno sforzo aggiuntivo da parte degli sviluppatori. Questo può quindi essere utilizzato per monitorare istanze di flussi di lavoro o aggregati. Windows Workflow Foundation consente anche la decorazione dichiarativa di eventi con i dati dell'applicazione estratti dallo stato del flusso di lavoro, in modo da poter dire che il controllo del credito è stato avviato per l'ordine 14532.

Trasformazione I modelli generano modelli. Un esempio è la trasformazione di un modello di flusso di lavoro nel modello di scambio di messaggi necessario per comunicare con esso & # 8211; come Dharma e Don hanno dimostrato così magnificamente al PDC. Un altro è la personalizzazione. Un ISV spedisce un flusso di lavoro, che viene personalizzato da un VAR e quindi di nuovo da un cliente. Quindi l'ISV fornisce una nuova versione di base. L'uso di un modello condiviso e ben compreso per il flusso di lavoro rende le conseguenti fusioni a 3 vie molto più tracciabili.

Composizione Se un'applicazione viene presa in considerazione nel flusso e nel lavoro, gli elementi atomici del lavoro, con le loro interfacce ben comprese, possono essere riutilizzati da altri flussi di lavoro. I flussi di lavoro stessi sono definizioni valide di lavoro che possono essere utilizzate anche da altri flussi di lavoro.

Personalizzazione e trasformazione insieme consentono agli ecosistemi in cui le definizioni di lavoro e flusso diventano artefatti condivisi o scambiati.

Manipolazione Spesso ci sono requisiti per inventare o modificare i flussi di lavoro al volo. Se questo significa cambiare il codice, allora ci saranno problemi con la gente della sicurezza & # 8211; anche se gli utenti capiscono come hackerarlo. L'uso di un modello rende possibile una manipolazione dinamica che è sia controllabile che comprensibile. Windows Workflow Foundation supporta la modifica dinamica sia dei tipi di flusso di lavoro che delle istanze del flusso di lavoro.

In modo che sia (o almeno, tutto ciò che mi viene in mente questo sabato pomeriggio). Questo è il motivo per cui abbiamo pensato che un modello fosse una buona idea e perché pensiamo che abbia un ROI eccezionale. Ma se nessuno di questi vantaggi si applica al tuo scenario, allora davvero, la codifica è ancora molto interessante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top