Workflow Foundation: combining sequences, state machines and flowchart–Workflow Foundation: combiner séquences, machines et états et flowchart
English | Français |
One of the latest update of Windows Workflow Foundation 4 brings state machines. They were available with WF3 and disappeared with WF4. There are now back again. WF4 also has sequence diagrams as well as flowcharts. Sequence diagrams look like this | Une des dernières mises à jour de Windows Workflow Foundation 4 permet d’implémenter des machines à états. Les machines à états étaient disponibles en WF3 et avaient disparues avec WF4. Elles sont à nouveau disponibles. WF4 a aussi les diagrammes de séquence et les flowcharts. Les diagrammes de séquence ont l’aspect suivant: |
Flowcharts look like this | Les flowcharts ressemblent à cela |
State machines looks like this | Les machines à états sont comme suit |
WF4 makes it possible to combine these types of diagrams in a single workflow. Let’s see an example. In this sample, we use a custom code activity that Trace.WriteLines its string argument | WF4 permet de combiner ces différents types de diagrammes. Voyons cela sur un exemple. Dans cet exemple, on utilise une activité spécifique de type code qui appelle Trace.WriteLine avec la chaîne de caractères qu’elle a reçue. |
The workflow looks like this | Le workflow se présente comme suit |
so we have a sequence embedding a state machine and a flowchart. The sequence detail is the following - receive Start call and respond, - trace, - run State Machine, - trace - run Flowchart - trace | On a donc une séquence qui inclut une machine à états et un flowchart. Le détail de la séquence est: - recevoir un appel de démarrage et répondre, - tracer, - exécuter la machine à état, - tracer, - exécuter le flowchart, - tracer |
The state machine looks like this | la machine à états est |
State1 receives a Web Service call to continue the workflow. | l’état 1 reçoit l’appel de Web Service qui permet ensuite de continuer le WF |
The call argument useState2 tells wether state machine should go from state1 to state2, then state3, or state3 | Le paramètre d’appel useState2 indique s’il faut passer à l’état2 puis l’état 3 ou directement à l’état 3 |
The flow chart looks like this | Le flowchart est, dans le détail: |
Let’s now start 2 instances of this in parallel | Exécutons maintenant 2 instances du workflow en parallèle |
Benjamin