La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Comprendere Workflow Foundation In Windows e in 2007 Microsoft Office system Paolo Pialorsi Roberto Brunetti.

Presentazioni simili


Presentazione sul tema: "Comprendere Workflow Foundation In Windows e in 2007 Microsoft Office system Paolo Pialorsi Roberto Brunetti."— Transcript della presentazione:

1 Comprendere Workflow Foundation In Windows e in 2007 Microsoft Office system Paolo Pialorsi paolo@devleap.itDevLeaphttp://www.devleap.com/ Roberto Brunetti roberto@devleap.itDevLeaphttp://www.devleap.com/

2 Agenda Perché workflow, perché WF Architettura di WF Runtime Engine Activity Base Activity Library Hosting Engine Persistence e State Management Tipologie di workflow Sequential Workflow State Machine Workflow Designer Q&A

3 WinFx (pardon.NET 3.0) Piattaforma per lo sviluppo di applicazioni di prossima generazione Windows Communication Foundation Windows Workflow Foundation Windows Presentation Foundation Windows CardSpace (InfoCard)

4 .NET 3.0 ad oggi è in Beta Quello che vediamo potrebbe cambiare da qui al rilascio Nelle slide e demo ci riferiamo a: Beta2 CTP May 2006 – GoLive!

5 Workflow in generale

6 Perché Workflow? Per descrivere in modo umano i processi di business Per sganciare i processi dalla loro particolare implementazione Per dare procedure e regole operative Perché ognuno faccia il suo lavoro Programmatori: codice (attività) Esperti di dominio: design dei flussi Utenti: operatività

7 System Workflow Processi di business tra sistemi/macchine Unattended e tipicamente brevi nel tempo come durata del singolo flow Regole certe, ma modificabili nel tempo, anche da figure non dev Esempi: Gestione notifiche via email Invio fax notturni Ecc.

8 Human Workflow Richiedono linterazione con lutente/operatore Di solito sono Long Running Se richiedono transazioni saranno Long Running Quindi eventuale Compensation State Management: devono essere Stateful Coinvolgono diversi ambiti applicativi: Task, Office, Email, ecc. Esempi: Processi di approvazione documentale (firma singola, firma multipla) Order processing

9 Perché WF? Framework di gestione dei Workflow a 360° Design, hosting, monitoring, extension Pervasivo in tutte le tecnologie Microsoft Windows Office Sharepoint BizTalk Visual Studio 2005 (ISV custom apps) Ecc. Set di funzionalità di base Programmabile e estendibile con codice.NET

10 Windows Workflow Foundation

11 Per WF un Workflow è: insieme di Activity eseguite in un Workflow disegnato con un Visual Designer ospitato da unapplicazione di Hosting che esegue il Runtime Engine appoggiandosi ai Runtime Services Host Process Windows Workflow Foundation Runtime Engine A Workflow An Activity Runtime Services Base Activity Library Custom Activity Library Visual Designer

12 Un semplice Workflow

13 C#Workflow public sealed partial class MyWorkflow: SequentialWorkflowActivity { public MyWorkflow() { InitializeComponent(); } private void customCodeActivity_ExecuteCode(object sender, EventArgs e) { Console.WriteLine("Hello World!"); } XOML

14 Workflow Un workflow è una classe.NET Deriva da classi base della Runtime Library (System.Workflow.Activities) SequentialWorkflowActivity StateMachineWorkflowActivity Può essere definito come: Flow (graficamente) Codice.NET Codice XOML => Compilato con WFC.EXE Stesso schema di XAML

15 Un workflow in pratica

16 Activity Unità di esecuzione Sono anchesse classi.NET Derivate da System.Workflow.ComponentModel.Activity Ne esistono N già definite da WF Possiamo definire le nostre Activity custom 2007 Microsoft Office system ne prevede diverse custom Possono essere Basic Activity: singoli step di un workflow Composite Activity: gruppi di activity (sequence)

17 Base Activity Library Code Delay IfElse InvokeWebService InvokeWorkflow Sequence Parallel Replicator While CallExternalMethod ecc.

18 Base Activity

19 Activity Development Due possibilità Usare il designer per comporre Activity Aggregandone altre Derivare e personalizzare Activity di base Implementare una classe ex-novo Derivando da: System.Workflow.ComponentModel.Activity Possiamo creare class library di Activity Office Sharepoint Server 2007 2007 Microsoft Office system

20 I Workflow sono Activity SequentialWorkflowActivity StateMachineWorkflowActivity

21 Visual Designers SharePoint Designer (Web Designer) Activity Riutilizzare OOB/deployed Form Auto-generated Form -ASPX Deployment I Workflow vivono sul server Runtime compilation Development Model Wizard-based workflow designer Visual Studio (Pro-Dev) Activity Riutilizzare OOB/deployed Creazione di nuove Activity Form Designed Form -InfoPath-ASPX Deployment Generazione di package Console Administrator installabile Development Model Visual workflow designer

22 Tipi di Workflow

23 Sequential Workflow Sequenze di eventi noti Temporalmente consequenziali Il processo guida il flusso Tipicamente non richiedono human interaction Sono i workflow più semplici A1 A3 A2 A4

24 Sequential Workflow

25 State Machine Workflow Guidati da eventi Interni Esterni La sequenza di eventi non è nota a priori I percorsi di esecuzione sono variabili Può assumere un solo stato per volta Può saltare dinamicamente nel flusso Ogni evento scatena una sequenza assimilabile ad un sequential workflow S1 S2 S3 S4

26 Quando usarli Quando i processi di business sono Molto variabili Molto complessi Difficilmente schematizzabili in sequenze Se le human interaction sono frequenti Quando dobbiamo gestire eventi esterni Comunicazioni dallutente Comunicazioni da applicazioni esterne

27 State Machine Workflow

28 Workflow Hosting

29 Un workflow deve essere ospitato da un processo Windows Application ASP.NET Application SharePoint Office Servizi Windows Lhost si appoggia a WorkflowRuntime Il workflow parla con lhost tramite eventi e interfacce

30 WorkflowRuntime C# using(WorkflowRuntime workflowRuntime = new WorkflowRuntime()) { AutoResetEvent waitHandle = new AutoResetEvent(false); workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) {waitHandle.Set();}; workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e) { Console.WriteLine(e.Exception.Message); waitHandle.Set(); }; WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowConsoleApplication1.MyWorkflow)); instance.Start(); waitHandle.WaitOne(); }

31 Ma non cera già BizTalk?! Sì ma BizTalk è più orientato ai Business Processes BizTalk è orientato alla gestione dei messaggi/file Molto XML/Service Oriented BizTalk prevede connettori verso ERP vari (JDE, PeopleSoft, SAP, ecc.) Database servers MSMQ Ecc. La prossima versione di BizTalk dovrebbe utilizzare WF per la parte di design

32 Ma non cera già SSIS?! Si ma SSIS è più orientato al trasferimento di Dati Da una sorgente a una destinazione Con eventuale trasformazione Gira fuori dal contesto di una applicazione.NET WF gira dentro applicazione SSIS richiede SQL Server WF gestisce i workflow (punto)

33 Ulteriori approfondimenti… http://www.microsoft.com/italy/msdn/ http://msdn.microsoft.com/office/future/ http://www.netfx3.com/ http://wf.netfx3.com/ http://www.devleap.it/ Corso DevLeap su.NET 3.0 (WinFx) Personalizzato

34 Grazie! Domande? Compilate il form di valutazione…

35 © 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Scaricare ppt "Comprendere Workflow Foundation In Windows e in 2007 Microsoft Office system Paolo Pialorsi Roberto Brunetti."

Presentazioni simili


Annunci Google