1. Windows Workflow Foundation 4.5
What’s new
29 Luglio 2014 @felicepescatore Disciplined Agile Delivery Italy Groupwww.felicepescatore.it
2. WF 4.5 - What’s news2
Agenda
• Windows Workflow Foundation
• Novità principali della versione 4.5
• Improvements della versione 4.5
Per una presentazione dettagliata su Workflow Foundation, si faccia riferimento alla presentazione «Windows Workflow Foundation»
3. WF 4.5 - What’s news3
Windows Workflow Foundation
Un Workflow, in generale, è una sequenza di
azioni legate tra loro in modo da formare un
grafo o un albero che modella e astrae un
contesto reale.
Microsoft ha introdotto Workflow Foundation
(WF) a partire dalla versione 3.0 del .NET
Framework, integrandolo in modo debole nella
v.3.5 con WCF e in modo completo dalla 4.0:
• API
• Workflow Engine
• Workflow Design
4. WF 4.5 - What’s news4
Windows Workflow Foundation Goals
Il contesto naturale di utilizzo dei Workflow è quello dei processi
long-running, tipicamente incentrati su una comunicazione
machine-to-machine e richiedendo caratteristiche come
scalabilità e persistenza.
WF gestisce due tipi primari di Workflow:
• Workflow Application, utilizzate all’interno delle proprie applicazioni
come «semplice» componente
• Workflow Services, utilizzati come servizi (Hosted o Self-Hosted)
5. WF 4.5 - What’s news5
Windows Workflow Foundation
Workflow Foundation
6. WF 4.5 - What’s news6
Windows Workflow Foundation 4.5
Authoring
Improvements
Versioning
Runtime
Enhancements
7. WF 4.5 - What’s news7
Windows Workflow Foundation: novità principali
• Contract-First Authoring, ovvero la possibilità di definire un
Workflow Service partendo dal Contract
• Versioning, gestione di più definizioni dello stesso WF senza il rischio
di mandare in fault le istanze già esistenti
• Dynamic Update, aggiornamento delle istanze precedenti alle nuove
definizioni
8. WF 4.5 - What’s news8
WF 4.5: Contract First
Con WF 4.5 è possibile adottare un approccio «Contract First» nella
definizione dei WF Services:
• Definizione del Service Contract tramite XSD/SVCUtils o ri-utilizzo di
una libreria pre-definita;
• Verifica automatica della corretta implementazione di quanto
previsto nel contract;
9. WF 4.5 - What’s news9
WF 4.5: Versioning
Con la nuova versione è possibile finalmente gestire il Versioning di un
Workflow, essendo prevista un’associazione diretta tra l’istanza e lo schema
che tiene conto della versione specifica:
• Workflow Identity
• Richiede la gestione della persistenza
Instance Data
(1.0.0.0)
Instance Data
(2.0.0.0)
Instance Data for
“My Workflow”
1.0.0.0
Instance Data for
“My Workflow” 2.0.0.0
Workflow Identity
+
Workflow Versioning
10. WF 4.5 - What’s news10
WF 4.5: Dynamic Update
E’ possibile aggiornare le istanze in corso ad una nuova definizione
(versione), attraverso tre step sequenziali:
• Preparare una mappa di aggiornamento;
• Applicare la mappa di aggiornamento alla specifica istanza;
• Caricare l’istanza con la nuova definizione.
L’aggiornamento può essere, ad esempio, indispensabile nel caso di bug fix.
11. WF 4.5 - What’s news11
Windows Workflow Foundation: improvements
• Supporto alle espressioni C# (in 4.0 solo VB);
• Supporto del Designer per le Activity Delegate;
• Validazione in background;
• View State ben delineato nello XAMLX.
Activities
• NoPersist Scope
• Nuove caratteristiche per i Flow Chart
• Reintroduzione degli State Machine (disponibile prima tramite codeplex)
Designer
• Funzionalità di Ricerca nella modalità «design»
• Pan mode
• Selezione Multipla degli elementi
• Annotazioni
• Auto-connessione e auto-inserimento di Activity all’interno dei Flowchart e degli State Machine
12. WF 4.5 - What’s news
@felicepescatore
get in touch
Disciplined Agile Delivery Italy Group
Felice Pescatore, Agile Software
Architect
Email: felice.pescatore@gmail.com
Cell. 392/7157684
www.felicepescatore.it
12
ABOUT ME
13. WF 4.5 - What’s news
THANKS FOR WATCHING
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale 3.0 Italia.
Editor's Notes
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond
Sample & KNOWN: the domain of the actual
Cause and effect relationships repeatable, perceivable and predictable
Legitimate best practice
Standard operating procedures
Process re-engineering
Sense | Categorise | Respond
Complicated & KNOWABLE: the domain of the probable:
Cause and effect separated over time and space
Analytical/reductionist
Scenarios planning
Systems thinking
Sense | Analyse | Respond
COMPLEX: the domain of many possibilities
Cause and effect are only coherent in retrospect and do not repeat
Pattern management
Perspective filters
Complex adaptive systems
Probe | Sense | Respond
Chaotic & CHAOS: the domain of the inconceivable
No cause and effect relationships perceivable
Stability-focused intervention
Enactment tools
Crisis management
Act | Sense | Respond