Un flusso di lavoro sta semplicemente applicando uno stato ai dati della tua applicazione.
E il tipo di flusso di lavoro che hai descritto (semplice, sequenziale) si adatta molto bene al modello asincrono richiesto da WCF.
Quando un utente invia una richiesta per una risorsa, deve attendere fino a quando il suo supervisore (e così via sulla catena) approva la richiesta. Nel frattempo, l'utente è libero di svolgere altri lavori o semplicemente attendere che la richiesta di risorse venga approvata. I meccanismi di polling o notifica di qualche tipo sono richiesti per l'utente e gli approvatori. L'utente ha bisogno di una notifica per quando la risorsa è disponibile e gli approvatori devono notificare che hanno lavoro (concessione | nega approvazione) da fare.
Una possibilità per quei meccanismi è aggiungere una routine di polling ai tuoi View-Models. Un'altra opzione sarebbe quella di guardare le notifiche di tipo push. Tuttavia, non c'è nulla in Silverlight o WCF che renda la creazione di un flusso di lavoro intrinsecamente più difficile rispetto a qualsiasi altro framework.