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.
Détail du pack:
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
Et d’une “invisible”:
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 :)