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

- SharePoint 20XX: Script PowerShell pour exporter en CSV toutes les listes d’une ferme pour auditer le contenu avant migration par Blog Technique de Romelard Fabrice le 03-28-2017, 17:53

- Les pièges de l’installation de Visual Studio 2017 par Blog de Jérémy Jeanson le 03-24-2017, 13:05

- UWP or not UWP sur Visual Studio 2015 ? par Blog de Jérémy Jeanson le 03-08-2017, 19:12

- Désinstallation de .net Core RC1 Update 1 ou SDK de Core 1 Preview 2 par Blog de Jérémy Jeanson le 03-07-2017, 19:29

- Office 365: Ajouter un utilisateur ou groupe dans la liste des Site collection Administrator d’un site SharePoint Online via PowerShell et CSOM par Blog Technique de Romelard Fabrice le 02-24-2017, 18:52

- Office 365: Comment créer une document library qui utilise les ContentTypeHub avec PowerShell et CSOM par Blog Technique de Romelard Fabrice le 02-22-2017, 17:06

- [TFS] Supprimer en masse les dépendances à SQL Enterprise ou Developer avant de procéder à une migration par Blog de Jérémy Jeanson le 02-20-2017, 20:30

- Office 365: Attention au volume utilisé par les fichiers de Thèmes de SharePoint Online par Blog Technique de Romelard Fabrice le 02-07-2017, 18:19

- [SCVMM] Supprimer une machine bloquée par Blog de Jérémy Jeanson le 01-31-2017, 21:22

- Microsoft .Net Challenge 2017 par Le Blog (Vert) d'Arnaud JUND le 01-30-2017, 15:25