Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoMilana Di stefano Modificato 11 anni fa
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.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.