)| "E : =) À
SN, Le re SO Fr d
ECC2
+ _A .
ER
ee
=, LP
N°
PR |à o
>
eme OL TNT N ||| (ie IRL
KFLOWFOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICES AVANCES
Pourquoi la persistance ?
LI Libérer les ressources occupées par un processus dont l'exécution peut prendre une longue
durée (jours, mois...)
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
Activer la persistance
LI La persistance des workflows n’est pas activée par défaut. Les workflows s'exécutent alors
uniquement en mémoire.
LI Lorsque la persistance est activée, lorsqu'un workflow est en mode veille,le service le
SECTION 1 : PERSISTANCE
décharge de la mémoire et le persiste dans un référentiel (par exemple une base de données).
LI WF4.5 fournit un mécanisme de persistance qui s'intègre facilement avec SQL Server.
LLa persistance permet aussi à un workflow d’être exécutés par plusieurs hôtes.
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
Instances de workflow
L] Une instance d’un workflow est une exécution d’un workflow.
LI Souvent, plusieurs instances d’un workflow s'exécutent simultanément. Par exemple, plusieurs
instances du workflow d'embauche.
SECTION 1 : PERSISTANCE
LI Chaque instance peut être sur un point d'exécution différent des autres instances.
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
Déclencheurs de persistance
LI Lorsque le workflow est en mode veille
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
La persistance en utilisant SQL Server
LI La persistance peut être assurée en utilisant n'importe quel référentiel mais .NET Framework
facilite son implémentation en utilisant SQLServer
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
Scripts de persistance
Script Description
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
Schéma de la BDD de persistance
e (4 FormationWF
@ Ca Detabase Disgrams
SECTION 1 : PERSISTANCE
æ@ C1 System.Activities.Durablelnstancing.DefinitionidentityTable
C1 System.Activities.Durablelnstancing.IdentityOwnerTable
&© @ © @ ©
© System.Activities.Durablelnstancing.InstanceMetadataChangesTable
C1 System.Activities.Durablelnstancing.instancePromotedPropertiesTable
G
C1 System.Actmities.Durablelnstancing.KeysTable
æ@ C1 System.Activities.Durablelnstancing.LockOwnersTable
æ 1 System.Activities.Durablelnstancing.RunnablelnstancesTable
@ C1 System.Activities.Durablelnstancing.ServiceDeploymentsTable
æ 1 System.Activities.Durablelnstancing.SalWorkflowinstanceStoreVersionTable
© C3 Views
æ Ca Synonyms
@ C3 Programmability
æ Ca Service Broker
æ Ca Storage
@ Ca Security
Security
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHy AMINE | JUIN 201 MODULE 4 SERVICE AVANCES
Table des instances (InstancesTable)
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
La propriété « Persistidle » de
WorkflowApplication
LI « Delegate » permettant de spécifier le comportement en cas de veille induisant à la
persistance
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
L'activité « Persist »
LI Permet de « forcer » la persistance lorsqu'elle est exécutée
SECTION 1 : PERSISTANCE
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
L'activité « NoPersistScope »
LI Empêche la persistance lorsqu'une des activités enfants est exécutée
SECTION 1 : PERSISTANCE
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
L'activité « NoPersistScope »
LI Empêche la persistance lorsqu'une des activités enfants est exécutée
SECTION 1 : PERSISTANCE
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
Les participants de persistance
LI Des données peuvent être attachées aux workflows en plus de états de ces activités
L 1! faut implémenter les méthodes « CollectValues » et « PublishValues » pour écrire et lire les
donnéesvers et depuis la base de données
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
Tutoriel 4.1
LI implémentation d’un long processus d'embauche en utilisant la persistance
SECTION 1 : PERSISTANCE
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICE AVANCES
Section 2 : SUIVI
KFLOWFOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 4 SERVICES AVANCES
Pourquoi le suivi ?
LI Pour connaître l’évolution de mon workflow (activités, états, ..)
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 DIAGRAMMIES DE FLUXET DIAGRAMMES DE MACHINES D'ETAT
Le service de suivi
LI Capture les évènements émis par les moteurs de workflow
LI Un enregistrement contient des informations sur le workflow, les activités et les signets
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 DIAGRAMMIES DE FLUXET DIAGRAMMES DE MACHINES D'ETAT
Informations de l'enregistrement
L] Annotations : méta-données sur les activités
LI Identifiant de l'instance
SECTION 2: SUIVI
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 DIAGRAMMIES DE FLUXET DIAGRAMMES DE MACHINES D'ETAT
Types d'enregistrement
LI] Lorsque le workflow change d'état, un enregistrement de type « WorkflowinstanceRecord »
est émis : suspension, terminaison, erreur...
LI Un enregistrement de type « ActivityStateRecord » est émis lorsque une activité change d'état
SECTION 2: SUIVI
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 DIAGRAMMIES DE FLUXET DIAGRAMMES DE MACHINES D'ETAT
Enregistrements personnalisés
L L'utilisateur peut créer ses propres enregistrements
L Les enregistrements personnalisés sont des classes héritant de « CustomTrackingRecord »
« Track »
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 DIAGRAMMIES DE FLUXET DIAGRAMMES DE MACHINES D'ETAT
Profils de suivi
1 Permettent de spécifier quelles activités suivre pendant l’exécution
LI Les profils peuvent être définis en XML (en mode service) où par code lorsqu'on travaille avec
SECTION 2: SUIVI
« WorkflowApplication » ou « Workflowinvoker »
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 DIAGRAMMIES DE FLUXET DIAGRAMMES DE MACHINES D'ETAT
Configuration XML d'un profil
<tracking><profiles>
<trackingProfile name="Custom Tracking Profile">
<workflow>
<workflowinstanceQueries>
SECTION 2: SUIVI
<workflowinstanceQuery>
<states><state name="*"/></states>
</workflowinstanceQuery>
</workflowinstanceQueries>
</workflow>
</trackingProfile>
</profiles></tracking>
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 D: MMES DE FLUXET DIAG ES DE MACHINES D'ETAT
Création d’un profil par code
TrackingProfile = new TrackingProfile()
{
Name = “Formation WF",
SECTION 2: SUIVI
Queries = {
new WorkflowInstanceQuery()
{
States = 1777}
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 DIAGRAMMIES DE FLUXET DIAGRAMMES DE MACHINES D'ETAT
Les participants de suivi (Trackers)
L1 Des extensions permettant d'inclure le suivi
LI WF 4,5 fournit une implémentation standard d’un tracker qui écrit sur l'observateur des
SECTION 2: SUIVI
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 DIAGRAMMIES DE FLUXET DIAGRAMMES DE MACHINES D'ETAT
Tutoriel 4.2
L1 Mise en place du suivi
SECTION 2: SUIVI
WORKFLOW FOUNDATION 4.5 | MOSTEFAI MOHAMMED AMINE | JUIN 2013 MODULE 3 DIAGRAMMIES DE FLUXET DIAGRAMMES DE MACHINES D'ETAT