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:

image

Flowcharts look like this Les flowcharts ressemblent à cela

image

State machines looks like this Les machines à états sont comme suit

image

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.

image

The workflow looks like this Le workflow se présente comme suit

image

image

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

image

The state machine looks like this la machine à états est

image

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

image

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

image

image

image

The flow chart looks like this Le flowchart est, dans le détail:

image

 

Let’s now start 2 instances of this in parallel Exécutons maintenant 2 instances du workflow en parallèle

image

Smile

Benjamin