Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Azra [Florent Santin]

.Net, X'Net, aucun lien de parenté V2.0

Actualités


  • MSN Alerts
    View Florent Santin's profile on LinkedIn
WF 4.0: Le retour du State Machine!

Après une belle absence remarquée (et reprochée?!) dans le cycle des Beta de Visual Studio 2010 / Workflow Foundation 4.0, le State Machine Workflow (ou automate à états finis) fait enfin son grand retour parmi les modèles de WF de base (aux cotés du Sequential WF et du FlowChart)!

Bon, c’est un peu après la bataille, Visual Studio RTM à été livré il y’a 2 semaines… mais bon, du coup, le voila rendu disponible avec son code source directement sur CodePlex (http://wf.codeplex.com) dans le nouveau concept “d’Activity Pack” (ensemble d’activités complémentaires mis gratuitement à disposition par l’équipe WF). Un “Activity Pack” est donc un complément de Workflow Foundation proposé par l’équipe produit avec MSI pour installation directe dans Visual Studio, code source si nécessaire et surtout une bonne documentation qui explique comment fonctionne et s’utilisent les activités.

A noter au passage qu’un 2eme Activity Code Pack “ADO.NET Activity Code Pack” a également été rendu disponible. Moins intéressant que le StateMachine, je prendrai quand même le temps d’en toucher deux mots dans un prochain post.

image

Détail du pack:

image

Ce pack se compose de 3 activités visibles

  • StateMachine (le conteneur)
  • FinalState (l’état de fin, obligatoire, le conteneur contenant également obligatoirement un état de départ) / Initial)
  • State (l’état) en soit, qui peut contenir deux sous séquences
    • Entry: L’action (ou la séquence) à exécuter quand le Workflow entre dans l’état
    • Exit: L’action lorsque le Workflow quitte l’état

image

Et d’une “invisible”:

  • Transition: L’action qui permet de passer d’un état à un autre (correspondant aux flèches entre les états donc) et qui contient trois zones:
    • Trigger: L’événement qui déclenche/motive la transition (qui met donc le workflow en “Idle”: Delay “Timeout” / interaction utilisateur / appel WCF…)
    • Condition: Un trigger peut être câblé sur plusieurs branches, dans ce cas la condition permet de dire quel est l’état suivant
    • Action: L’activité à exécuter une fois que le trigger s’est déclenché et si la Condition est évaluée comme état juste (juste avant d’arriver sur l’état suivant donc)

image 

Flowchart vs StateMachine

Mais alors, quelle est la différence entre un FlowChart et un StateMachine? Finalement d’un point de vue purement technique, il serai possible de réécrire un StateMachine avec un FlowChart, le contraire n’étant pas forcement aisé.

Un FlowChart est un Workflow motivé (ou de synchronisation) par des actions et / ou des événements pour les transitions entre ses étapes (flowstep) alors que le StateMachine est un type de Workflow motivé uniquement par des événements pour ses transitions entre états. Un automate à état finit (StateMachine) est donc idéal pour les Workflow humains, car purement taillé pour.

Le revoilà parmi nous, les premiers tests sont très concluants et me mettent déjà dans tout mes états  :)

Posted: mercredi 28 avril 2010 23:36 par azra
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

JeremyJeanson a dit :

Bonjour Florent,

La StateMachine enfin de retour? Peut être un peu tardif le retour... mais tellement bon en comparaison à la WF3.

J'ai bien peur qu'elle ne trouve pas son public tellement le FlowChart peut être populaire maintenant :(

Pour ADO, Mr Maurice de Beijer nous a gratifié d'une très belle introduction via ce post :

http://msmvps.com/blogs/theproblemsolver/archive/2010/04/27/trying-the-wf-ado-net-activity-pack-ctp-1.aspx

@+

# avril 29, 2010 09:45
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Comment exporter tous les comptes Azure Active Directory ayant une license via PowerShell par Blog Technique de Romelard Fabrice le 05-17-2018, 13:46

- PowerShell: Comment avoir le Country Name depuis un Country Code par Blog Technique de Romelard Fabrice le 05-17-2018, 13:20

- Office 365: Comment supprimer un compte externe d’un site SharePoint Online en mode Extranet par Blog Technique de Romelard Fabrice le 05-11-2018, 17:00

- Office 365: Comment reconfigurer le lien “Bloc-notes” d’un teamsite par Blog Technique de Romelard Fabrice le 05-09-2018, 16:45

- Office 365: Utiliser l’option “Alert Me” de la page de résultat de recherche par Blog Technique de Romelard Fabrice le 05-09-2018, 14:57

- Office 365: Comment télécharger l’image de profil de Delve par Blog Technique de Romelard Fabrice le 05-09-2018, 14:28

- Office 365: Valeur “Country or Region” et “User Location” dans Azure AD par Blog Technique de Romelard Fabrice le 05-04-2018, 12:08

- Office 365: Menu d’administration non visible dans une page SharePoint par Blog Technique de Romelard Fabrice le 05-04-2018, 11:50

- Office 365: Comment avoir un minimum de statistiques d’usage de votre site SharePoint Online par Blog Technique de Romelard Fabrice le 05-04-2018, 11:41

- Office 365: Reconfigure la gestion des demande d’accès dans SharePoint par Blog Technique de Romelard Fabrice le 05-04-2018, 10:41