Condividi tramite


Processo di approvazione del documento

L'esempio DocumentApprovalProcess illustra l'uso di molte funzionalità di Windows Workflow Foundation (WF) e Windows Communication Foundation (WCF). Insieme implementano uno scenario di processo di approvazione dei documenti. Un'applicazione client può inviare documenti per l'approvazione e approvare i documenti. Esiste un'applicazione di gestione approvazione per facilitare le comunicazioni tra i client e per applicare le regole del processo di approvazione. Il processo di approvazione è un flusso di lavoro in grado di eseguire diversi tipi di approvazione. Esistono attività per ottenere una singola approvazione, un'approvazione di quorum (una percentuale di un set di approvatori) e un processo di approvazione complesso che si compone di un quorum e una singola approvazione in sequenza.

Dettagli di esempio

L'immagine seguente illustra il flusso di lavoro del processo di approvazione del documento:

Flusso di lavoro del processo di approvazione dei documenti

Dal punto di vista del client, il processo di approvazione funziona come segue:

  1. Un cliente si iscrive al sistema di approvazione come utente.

  2. Un client WCF invia a un servizio WCF ospitato dall'applicazione del responsabile delle approvazioni.

  3. Viene restituito un ID utente univoco al client. Il client può ora partecipare ai processi di approvazione.

  4. Una volta aggiunto, un client può inviare un documento per l'approvazione usando processi di approvazione singoli, quorum o complessi.

  5. Viene fatto clic su un pulsante nell'interfaccia del client, avviando un'istanza del flusso di lavoro in un host del servizio flusso di lavoro client.

  6. Il flusso di lavoro invia una richiesta di approvazione all'applicazione di gestione approvazione.

  7. Il manager di gestione avvia un flusso di lavoro per suo conto per rappresentare un processo di approvazione.

  8. Una volta eseguito il flusso di lavoro di approvazione del manager, i risultati vengono inviati al client.

  9. Il client visualizza i risultati.

  10. Un client può ricevere una richiesta di approvazione e rispondere alla richiesta in qualsiasi momento.

  11. Un servizio WCF ospitato nel client può ricevere una richiesta di approvazione dall'applicazione di gestione approvazione.

  12. Le informazioni del documento vengono presentate al cliente per la revisione.

  13. L'utente può approvare o rifiutare il documento.

  14. Un client WCF viene usato per inviare una risposta di approvazione all'applicazione di gestione approvazione.

Dal punto di vista dell'applicazione di gestione approvazione, il processo di approvazione funziona come segue:

  1. Un client richiede di partecipare al sistema del processo di approvazione.

  2. Un servizio WCF sul gestore delle approvazioni riceve una richiesta di far parte del sistema del processo di approvazioni.

  3. Viene generato un ID univoco per il client. Le informazioni utente vengono archiviate in un database.

  4. L'ID univoco viene inviato all'utente.

  5. Viene ricevuta una richiesta di approvazione. Il responsabile approvazione esegue un processo di approvazione.

  6. Una richiesta di approvazione viene ricevuta dal responsabile approvazione, avviando un nuovo flusso di lavoro.

  7. A seconda del tipo di richiesta (semplice, quorum o complesso) viene eseguita un'attività diversa.

  8. Le attività di invio e ricezione con correlazione vengono usate per inviare la richiesta di approvazione al client per la revisione e ricevere la risposta.

  9. Il risultato del flusso di lavoro del processo di approvazione viene inviato al client.

Uso dell'esempio

Per configurare il database

  1. Da un prompt dei comandi di Visual Studio aperto con privilegi di amministratore passare alla cartella DocumentApprovalProcess ed eseguire Setup.cmd.

Per configurare l'applicazione

  1. Usando Visual Studio, aprire il file della soluzione DocumentApprovalProcess.sln.

  2. Per compilare la soluzione, premere CTRL+MAIUSC+B.

  3. Per eseguire la soluzione, avviare l'applicazione Approval Manager facendo clic con il pulsante destro del mouse sul progetto ApprovalManager in Esplora soluzioni e scegliendo Debug-Avvia> nuova istanza dal menu di scelta rapida.

    Attendere che l'output del manager indichi che è pronto.

Per eseguire lo scenario di approvazione singola

  1. Aprire un prompt dei comandi con l'autorizzazione di amministratore.

  2. Passare alla directory che contiene la soluzione.

  3. Passare a ApprovalClient\Bin\Debug folder and execute two instances of ApprovalClient.exe.

  4. Fare clic su scoprire, attendere che il pulsante iscriviti sia attivo.

  5. Digitare qualsiasi nome utente e fare clic su Sottoscrivi. Per un cliente, utilizzare UserType1 e l'altro tipo UserType2.

  6. UserType1 Nel client selezionare il tipo di approvazione singolo dal menu a discesa e digitare un nome e un contenuto del documento. Fare clic su Richiedi approvazione.

  7. UserType2 Nel client viene visualizzato un documento in attesa dell'approvazione. Selezionarlo e premere approva o rifiuta. I risultati dovrebbero essere visualizzati nel UserType1 client.

Per eseguire lo scenario di approvazione del quorum

  1. Aprire un prompt dei comandi con l'autorizzazione di amministratore.

  2. Passare alla directory che contiene la soluzione.

  3. Passare a ApprovalClient\Bin\Debug folder and execute three instances of ApprovalClient.exe.

  4. Fare clic su scoprire, attendere che il pulsante iscriviti sia attivo.

  5. Digitare qualsiasi nome utente e fare clic su Sottoscrivi. Per un client usare UserType1 e gli altri due tipi UserType2.

  6. UserType1 Nel client selezionare il tipo di approvazione quorum dal menu a discesa e digitare un nome e un contenuto del documento. Fare clic su Richiedi approvazione. Questa richiesta chiede ai due UserType2 clienti di approvare o rifiutare il documento. Mentre entrambi UserType2 i client devono rispondere, solo un client deve approvare il documento affinché venga approvato.

  7. Nei clienti UserType2 compare un documento in attesa di approvazione. Selezionarlo e premere approva o rifiuta. I risultati dovrebbero essere visualizzati nel UserType1 client.

Per eseguire lo scenario complesso di approvazione

  1. Aprire un prompt dei comandi con l'autorizzazione di amministratore.

  2. Passare alla directory che contiene la soluzione.

  3. Passare a ApprovalClient\Bin\Debug folder and execute four instances of ApprovalClient.exe.

  4. Fare clic su scoprire, attendere che il pulsante iscriviti sia attivo.

  5. Digitare qualsiasi nome utente e fare clic su Sottoscrivi. Per un client usare UserType1, in due usa il tipo UserType2, e nell'ultimo uso UserType3.

  6. UserType1 Nel client selezionare il tipo di approvazione singolo dal menu a discesa e digitare un nome e un contenuto del documento. Fare clic su Richiedi approvazione.

  7. Nei clienti UserType2 compare un documento in attesa di approvazione. Selezionarlo e premere Approva, il documento viene passato al UserType3 client.

    Se il documento viene approvato dal primo UserType2 quorum, il documento viene passato al UserType3 client.

  8. Approvare o rifiutare il documento dal UserType3 client. I risultati dovrebbero essere visualizzati nel UserType1 client.

Per pulire

  1. Da un prompt dei comandi di Visual Studio passare alla cartella DocumentApprovalProcess ed eseguire Cleanup.cmd.