SlideShare une entreprise Scribd logo
Workflow Foundation 4.5 avec Visual Studio 2012
Module 4 : Services Avancés
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 1
MODULE 4 – SERVICES AVANCÉS
Section 1 : Persistance
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 2
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
Pourquoi la persistance ?
 Libérer les ressources occupées par un processus dont l’exécution peut prendre une longue
durée (jours, mois,…)
 Reprendre des activités importantes après une panne ou une défaillance.
 Un nombre important de workflows s’exécutant simultanément prendrait beaucoup de
ressources système. Il serait judicieux de décharger les workflows inactifs.
 Un mécanisme de persistance est indispensables pour les processus de longue exécution
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 3
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
Activer la persistance
 La persistance des workflows n’est pas activée par défaut. Les workflows s’exécutent alors
uniquement en mémoire.
 Lorsque la persistance est activée, lorsqu’un workflow est en mode veille, le service le
décharge de la mémoire et le persiste dans un référentiel (par exemple une base de données).
 WF4.5 fournit un mécanisme de persistance qui s’intègre facilement avec SQL Server.
 En plus de la persistance et le déchargement, le service fournit un mécanisme permettant de
restituer un workflow à son état d’avant la persistance
La persistance permet aussi à un workflow d’être exécutés par plusieurs hôtes.
 La persistance ne fonctionne qu’avec des hôtes de type « WorkflowApplication » ou
« WorkflowServiceHost »
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 4
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
Instances de workflow
 Une instance d’un workflow est une exécution d’un workflow.
 Souvent, plusieurs instances d’un workflow s’exécutent simultanément. Par exemple, plusieurs
instances du workflow d’embauche.
 Chaque instance peut être sur un point d’exécution différent des autres instances.
 Chaque instance est identifiée par un identifiant unique de type GUID
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 5
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
Déclencheurs de persistance
 Lorsque le workflow est en mode veille
 Lorsque le moteur est instruit implicitement de déclencher une persistence
Lorsqu’un workflow se termine
Lorsqu’une transaction se termine
 Lorsqu’une activité « Persist » est exécutée
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 6
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
La persistance en utilisant SQL Server
 La persistance peut être assurée en utilisant n’importe quel référentiel mais .NET Framework
facilite son implémentation en utilisant SQL Server
 Le sous-répertoire SQL du répertoire .NET Framwork contient les scripts nécessaires à la
création de la base de données sous SQL Server
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 7
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
Scripts de persistance
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 8
Script Description
SqlWorkflowInstanceStoreSchema.sql Crée la base de données de persistance (tables)
SqlWorkflowInstanceStoreLogic.sql Crée les procédures stockées nécessaires à la mise en place de
la persistance
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
Schéma de la BDD de persistance
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 9
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
Table des instances (InstancesTable)
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 10
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
La classe « SqlWorkflowInstanceStore »
 Permet de configurer un référentiel de stockage sous SQL Server
 La propriété « ConnectionString » permet de connecter le store à une base de données SQL
Server de persistance
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 11
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
La propriété « PersistIdle » de
WorkflowApplication
 « Delegate » permettant de spécifier le comportement en cas de veille induisant à la
persistance
 Retourne une des valeurs suivantes :
 Unload : persiste et décharge le workflow de la mémoire
 Persist : persiste le workflow mais ne le décharge pas
 None : ne persiste pas et ne décharge pas le workflow
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 12
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
L’activité « Persist »
 Permet de « forcer » la persistance lorsqu’elle est exécutée
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 13
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
L’activité « NoPersistScope »
 Empêche la persistance lorsqu’une des activités enfants est exécutée
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 14
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
L’activité « NoPersistScope »
 Empêche la persistance lorsqu’une des activités enfants est exécutée
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 15
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
Les participants de persistance
 Des données peuvent être attachées aux workflows en plus de états de ces activités
 Les participants de persistance attachent des données au workflow
 Un participant est une classe héritant de « PersistentParticipant »
 Il faut implémenter les méthodes « CollectValues » et « PublishValues » pour écrire et lire les
données vers et depuis la base de données
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 16
MODULE 4 – SERVICE AVANCÉS
SECTION1:PERSISTANCE
Tutoriel 4.1
 Implémentation d’un long processus d’embauche en utilisant la persistance
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 17
MODULE 4 – SERVICES AVANCÉS
Section 2 : Suivi
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 18
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Pourquoi le suivi ?
 Pour connaître l’évolution de mon workflow (activités, états, …)
Monitoring : durées, interventions
 Temps : temps d’exécution des workflow
 Logs : pour analyse et maintenance
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 19
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Le service de suivi
 Capture les évènements émis par les moteurs de workflow
Les évènement sont appelés enregistrements
Un enregistrement est représenté par la classe « TrackingRecord »
 Un enregistrement contient des informations sur le workflow, les activités et les signets
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 20
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Informations de l’enregistrement
 Annotations : méta-données sur les activités
 Heure / date de l’évènement
 Identifiant de l’instance
 Niveau (erreur, avertissement, info,…)
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 21
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Types d’enregistrement
 Lorsque le workflow change d’état, un enregistrement de type « WorkflowInstanceRecord »
est émis : suspension, terminaison, erreur,…
Un enregistrement de type « ActivityStateRecord » est émis lorsque une activité change d’état
Lorsqu’une erreur est déclenchée, un enregistrement de type « FaultPropagatedRecord » est
émis
 Lorsqu’un signet est émis, un enregistrement de type « BookmarkResumptionRecord » est
émis
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 22
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Enregistrements personnalisés
 L’utilisateur peut créer ses propres enregistrements
 Les enregistrements personnalisés sont des classes héritant de « CustomTrackingRecord »
 Le contexte de l’activité est utilisé pour émettre l’enregistrement en utilisant la méthode
« Track »
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 23
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Profils de suivi
 Permettent de spécifier quelles activités suivre pendant l’exécution
 La propriété « Queries » définit une requête permettant de filtrer les activités.
 Les profils peuvent être définis en XML (en mode service) ou par code lorsqu’on travaille avec
« WorkflowApplication » ou « WorkflowInvoker »
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 24
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Configuration XML d’un profil
<tracking><profiles>
<trackingProfile name="Custom Tracking Profile">
<workflow>
<workflowInstanceQueries>
<workflowInstanceQuery>
<states><state name="*"/></states>
</workflowInstanceQuery>
</workflowInstanceQueries>
</workflow>
</trackingProfile>
</profiles></tracking>
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 25
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Création d’un profil par code
TrackingProfile = new TrackingProfile()
{
Name = "Formation WF",
Queries = {
new WorkflowInstanceQuery()
{
States = {"*"}
}
}
}
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 26
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Les participants de suivi (Trackers)
 Des extensions permettant d’inclure le suivi
 WF 4.5 a changé le mécanisme de suivi
 WF 4.5 fournit une implémentation standard d’un tracker qui écrit sur l’observateur des
évènements appelée « EtwTrackingParticipant »
 On peut implémenter un tracker en héritant de la classe « TrackingParticipant »
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 27
MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT
SECTION2:SUIVI
Tutoriel 4.2
 Mise en place du suivi
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 28

Contenu connexe

PPTX
Microsoft Workflow Foundation - Cours 2
PPTX
PPTX
Introduction to Workflow Foundation
PPTX
Workflow Foundation - Cours 5
PPTX
Sécurisation des applications ASP.NET
PPTX
Module 7 intégration d'ajax et les services web dans les applications asp.net
PPTX
Le Manifeste Agile
PPTX
Cycle de vie d’un logiciel
Microsoft Workflow Foundation - Cours 2
Introduction to Workflow Foundation
Workflow Foundation - Cours 5
Sécurisation des applications ASP.NET
Module 7 intégration d'ajax et les services web dans les applications asp.net
Le Manifeste Agile
Cycle de vie d’un logiciel

Similaire à Workflow Foundation Module 4 (20)

PDF
Ol66 g formation-outils-d-analyse-de-performance-pour-ibm-i-6-1-et-7-1
PDF
Km612 g formation-ibm-infosphere-business-glossary-essentials-v9-1
PDF
Es42 g formation-atelier-d-implementation-de-parallel-sysplex
PPTX
Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...
PDF
Présentation de la plateforme Cloud Simplicité
PPTX
Azure Automation, Le nouveau service pour automatiser vos tâches
PPTX
Agilité à l'échelle à la dsi @Pôle Emploi (SAFe) - Michel Levaslot - Agile en...
PDF
Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...
PDF
Série de TD 2 Les Diagrammes UML CORRIGE (1).pdf
PDF
Tm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentaux
PPTX
Projet de fin de module Django Framework site e-commerce pour la reservation ...
PDF
Alphorm.com Formation Cisco CCNP TSHOOT
PPT
Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...
PDF
Tv355 g formation-ibm-tivoli-monitoring-6-3-mise-en-oeuvre
PPTX
Mise en oeuvre du 5S
PDF
Cours spring
DOCX
conception et réalisation plateforme collaboratif basant sur la methode agile...
PDF
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
PPTX
Présentation.pptx
Ol66 g formation-outils-d-analyse-de-performance-pour-ibm-i-6-1-et-7-1
Km612 g formation-ibm-infosphere-business-glossary-essentials-v9-1
Es42 g formation-atelier-d-implementation-de-parallel-sysplex
Présentation du Progiciel ProPlus.Net:La solution de suivi de production à co...
Présentation de la plateforme Cloud Simplicité
Azure Automation, Le nouveau service pour automatiser vos tâches
Agilité à l'échelle à la dsi @Pôle Emploi (SAFe) - Michel Levaslot - Agile en...
Ngt71 g formation-ibm-puresystems-smartcloud-entry-implementation-dans-ibm-pu...
Série de TD 2 Les Diagrammes UML CORRIGE (1).pdf
Tm023 g formation-ibm-tivoli-monitoring-6-3-les-fondamentaux
Projet de fin de module Django Framework site e-commerce pour la reservation ...
Alphorm.com Formation Cisco CCNP TSHOOT
Master's defence presentation : Architecture Basée Agents Pour la Prise en Ch...
Tv355 g formation-ibm-tivoli-monitoring-6-3-mise-en-oeuvre
Mise en oeuvre du 5S
Cours spring
conception et réalisation plateforme collaboratif basant sur la methode agile...
Mémoire - L'automatisation des tests fonctionnels - Emeline Simon
Présentation.pptx
Publicité

Plus de Mohammed Amine Mostefai (20)

PPTX
Utilisation de Sharepoint (Collaboration)
PPTX
Utilisation de Sharepoint 2013 - Personnalisation
PPTX
Utilisation Sharepoint (Listes)
PPTX
Utilisation de Sharepoint - Gestion de Documents
PPTX
Utilisation de Sharepoiunt - Introduction
PPTX
Pratiques agiles
PPTX
Introduction à Scrum
PPTX
Méthodes Agiles - La Méthode XP
PPTX
Méthodes Agiles - Généralités
PPTX
Introduction aux technologies mobiles
PPTX
Présentation cloud journée azure
PPTX
Le Langage CSS
PPTX
Présentation sharepoint 2013
PPTX
Module 8 programmation avancée d'asp.net
PPTX
Module 6 développement d'applications de bases de données avec asp.net
PPTX
Module 5 validation de données
PPTX
Module 4 navigation et homogénéisation des les applications web
PPTX
Module 3 intégration de traitement dans les applications web asp.net
PPTX
Module 2 introduction à asp.net web forms
PPTX
Module 1 introduction au développement web avec visual studio 2012
Utilisation de Sharepoint (Collaboration)
Utilisation de Sharepoint 2013 - Personnalisation
Utilisation Sharepoint (Listes)
Utilisation de Sharepoint - Gestion de Documents
Utilisation de Sharepoiunt - Introduction
Pratiques agiles
Introduction à Scrum
Méthodes Agiles - La Méthode XP
Méthodes Agiles - Généralités
Introduction aux technologies mobiles
Présentation cloud journée azure
Le Langage CSS
Présentation sharepoint 2013
Module 8 programmation avancée d'asp.net
Module 6 développement d'applications de bases de données avec asp.net
Module 5 validation de données
Module 4 navigation et homogénéisation des les applications web
Module 3 intégration de traitement dans les applications web asp.net
Module 2 introduction à asp.net web forms
Module 1 introduction au développement web avec visual studio 2012
Publicité

Workflow Foundation Module 4

  • 1. Workflow Foundation 4.5 avec Visual Studio 2012 Module 4 : Services Avancés WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 1
  • 2. MODULE 4 – SERVICES AVANCÉS Section 1 : Persistance WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 2
  • 3. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE Pourquoi la persistance ?  Libérer les ressources occupées par un processus dont l’exécution peut prendre une longue durée (jours, mois,…)  Reprendre des activités importantes après une panne ou une défaillance.  Un nombre important de workflows s’exécutant simultanément prendrait beaucoup de ressources système. Il serait judicieux de décharger les workflows inactifs.  Un mécanisme de persistance est indispensables pour les processus de longue exécution WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 3
  • 4. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE Activer la persistance  La persistance des workflows n’est pas activée par défaut. Les workflows s’exécutent alors uniquement en mémoire.  Lorsque la persistance est activée, lorsqu’un workflow est en mode veille, le service le décharge de la mémoire et le persiste dans un référentiel (par exemple une base de données).  WF4.5 fournit un mécanisme de persistance qui s’intègre facilement avec SQL Server.  En plus de la persistance et le déchargement, le service fournit un mécanisme permettant de restituer un workflow à son état d’avant la persistance La persistance permet aussi à un workflow d’être exécutés par plusieurs hôtes.  La persistance ne fonctionne qu’avec des hôtes de type « WorkflowApplication » ou « WorkflowServiceHost » WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 4
  • 5. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE Instances de workflow  Une instance d’un workflow est une exécution d’un workflow.  Souvent, plusieurs instances d’un workflow s’exécutent simultanément. Par exemple, plusieurs instances du workflow d’embauche.  Chaque instance peut être sur un point d’exécution différent des autres instances.  Chaque instance est identifiée par un identifiant unique de type GUID WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 5
  • 6. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE Déclencheurs de persistance  Lorsque le workflow est en mode veille  Lorsque le moteur est instruit implicitement de déclencher une persistence Lorsqu’un workflow se termine Lorsqu’une transaction se termine  Lorsqu’une activité « Persist » est exécutée WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 6
  • 7. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE La persistance en utilisant SQL Server  La persistance peut être assurée en utilisant n’importe quel référentiel mais .NET Framework facilite son implémentation en utilisant SQL Server  Le sous-répertoire SQL du répertoire .NET Framwork contient les scripts nécessaires à la création de la base de données sous SQL Server WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 7
  • 8. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE Scripts de persistance WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 8 Script Description SqlWorkflowInstanceStoreSchema.sql Crée la base de données de persistance (tables) SqlWorkflowInstanceStoreLogic.sql Crée les procédures stockées nécessaires à la mise en place de la persistance
  • 9. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE Schéma de la BDD de persistance WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 9
  • 10. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE Table des instances (InstancesTable) WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 10
  • 11. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE La classe « SqlWorkflowInstanceStore »  Permet de configurer un référentiel de stockage sous SQL Server  La propriété « ConnectionString » permet de connecter le store à une base de données SQL Server de persistance WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 11
  • 12. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE La propriété « PersistIdle » de WorkflowApplication  « Delegate » permettant de spécifier le comportement en cas de veille induisant à la persistance  Retourne une des valeurs suivantes :  Unload : persiste et décharge le workflow de la mémoire  Persist : persiste le workflow mais ne le décharge pas  None : ne persiste pas et ne décharge pas le workflow WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 12
  • 13. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE L’activité « Persist »  Permet de « forcer » la persistance lorsqu’elle est exécutée WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 13
  • 14. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE L’activité « NoPersistScope »  Empêche la persistance lorsqu’une des activités enfants est exécutée WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 14
  • 15. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE L’activité « NoPersistScope »  Empêche la persistance lorsqu’une des activités enfants est exécutée WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 15
  • 16. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE Les participants de persistance  Des données peuvent être attachées aux workflows en plus de états de ces activités  Les participants de persistance attachent des données au workflow  Un participant est une classe héritant de « PersistentParticipant »  Il faut implémenter les méthodes « CollectValues » et « PublishValues » pour écrire et lire les données vers et depuis la base de données WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 16
  • 17. MODULE 4 – SERVICE AVANCÉS SECTION1:PERSISTANCE Tutoriel 4.1  Implémentation d’un long processus d’embauche en utilisant la persistance WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 17
  • 18. MODULE 4 – SERVICES AVANCÉS Section 2 : Suivi WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 18
  • 19. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Pourquoi le suivi ?  Pour connaître l’évolution de mon workflow (activités, états, …) Monitoring : durées, interventions  Temps : temps d’exécution des workflow  Logs : pour analyse et maintenance WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 19
  • 20. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Le service de suivi  Capture les évènements émis par les moteurs de workflow Les évènement sont appelés enregistrements Un enregistrement est représenté par la classe « TrackingRecord »  Un enregistrement contient des informations sur le workflow, les activités et les signets WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 20
  • 21. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Informations de l’enregistrement  Annotations : méta-données sur les activités  Heure / date de l’évènement  Identifiant de l’instance  Niveau (erreur, avertissement, info,…) WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 21
  • 22. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Types d’enregistrement  Lorsque le workflow change d’état, un enregistrement de type « WorkflowInstanceRecord » est émis : suspension, terminaison, erreur,… Un enregistrement de type « ActivityStateRecord » est émis lorsque une activité change d’état Lorsqu’une erreur est déclenchée, un enregistrement de type « FaultPropagatedRecord » est émis  Lorsqu’un signet est émis, un enregistrement de type « BookmarkResumptionRecord » est émis WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 22
  • 23. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Enregistrements personnalisés  L’utilisateur peut créer ses propres enregistrements  Les enregistrements personnalisés sont des classes héritant de « CustomTrackingRecord »  Le contexte de l’activité est utilisé pour émettre l’enregistrement en utilisant la méthode « Track » WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 23
  • 24. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Profils de suivi  Permettent de spécifier quelles activités suivre pendant l’exécution  La propriété « Queries » définit une requête permettant de filtrer les activités.  Les profils peuvent être définis en XML (en mode service) ou par code lorsqu’on travaille avec « WorkflowApplication » ou « WorkflowInvoker » WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 24
  • 25. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Configuration XML d’un profil <tracking><profiles> <trackingProfile name="Custom Tracking Profile"> <workflow> <workflowInstanceQueries> <workflowInstanceQuery> <states><state name="*"/></states> </workflowInstanceQuery> </workflowInstanceQueries> </workflow> </trackingProfile> </profiles></tracking> WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 25
  • 26. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Création d’un profil par code TrackingProfile = new TrackingProfile() { Name = "Formation WF", Queries = { new WorkflowInstanceQuery() { States = {"*"} } } } WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 26
  • 27. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Les participants de suivi (Trackers)  Des extensions permettant d’inclure le suivi  WF 4.5 a changé le mécanisme de suivi  WF 4.5 fournit une implémentation standard d’un tracker qui écrit sur l’observateur des évènements appelée « EtwTrackingParticipant »  On peut implémenter un tracker en héritant de la classe « TrackingParticipant » WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 27
  • 28. MODULE 3 - DIAGRAMMES DE FLUX ET DIAGRAMMES DE MACHINES D’ETAT SECTION2:SUIVI Tutoriel 4.2  Mise en place du suivi WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 28