Didacticiel : créer une application de workflow avec ASP.NET

Lors de l'hébergement d'une application de workflow dans ASP.NET il y a plusieurs choses à considérer : spécifiquement, créer l'exécution du workflow, gérer le flux de page et rendre les données persistantes et les récupérer. Ce didacticiel vous guide à travers une série d'étapes pour créer une bibliothèque de workflow de base et un site Web qui exécutent et interagissent avec les workflows. Ce didacticiel présente les rubriques de Workflow suivantes :

  • Création de l'exécution du workflow.

  • Ajout des services à l'exécution du workflow.

  • Communication entre le workflow et l'application hôte.

  • Stockage et récupération des informations de suivi du workflow.

  • Persistance du workflow.

  • Planification manuelle du workflow.

Dans cette application, l'exécution du workflow sera créée au démarrage de l'application et stockée dans la collection Application. La page référencera ensuite le runtime via cette collection, ainsi, l'application Web entière utilisera la même instance de runtime.

Lorsque le runtime est créé dans le gestionnaire d'événements Application_Start, les services de suivi, de planification, de persistance et de communication hôte sont ajoutés. La planification et les services de communication de l'hôte seront accessibles via GetService lorsqu'ils seront exigés, mais les services de suivi et de persistance fonctionneront sans interaction supplémentaire avec l'application hôte.

La communication entre l'application hôte et les workflows est établie de trois manières :

  • Les paramètres sont passés de l'application dans le workflow lorsqu'il est créé. Ces paramètres sont envoyés comme arguments d'appel à CreateWorkflow.

  • Les messages sont envoyés de l'application hôte aux workflows courants à l'aide d'un service de communication local.

  • Les messages sont envoyés indirectement des workflows à l'application hôte, via l'infrastructure de suivi. Le workflow stocke des informations à propos de lui-même dans une base de données SQL à l'aide de la méthode TrackData. Ces données de suivi sont ensuite récupérées par l'hôte via une SqlTrackingQuery. Cette méthode est utilisée au lieu du service de communication, du fait que dans une application ASP sans état il n'y aura aucun code utilisateur courant pour gérer des événements générés par le workflow.

Cette application utilise le SqlWorkflowPersistenceService prédéfini pour rendre les workflows inactifs persistants. Outre l'ajout du service de persistance à l'exécution, aucun code utilisateur supplémentaire n'est exigé pour rendre des workflows persistants ; le runtime rendra les workflows persistants, les déchargera et les rechargera automatiquement au besoin une fois le service en place.

En raison des spécifications des applications ASP, l'application doit exécuter des workflows dans son propre processus. Le service de planification du workflow par défaut ne peut pas être utilisé parce qu'il exécute des workflows dans leur propre processus. À la place, ce didacticiel utilise le ManualWorkflowSchedulerService pour piloter l'exécution du workflow.

L'application que vous générerez dans ce didacticiel est un simulateur d'approbation d'emprunt. La première partie de l'application permet à l'utilisateur de créer une demande d'emprunt. Lorsqu'une demande d'emprunt est entrée, une nouvelle instance de workflow est créée et démarrée. Une fois démarré, le workflow enregistre des informations de suivi, puis tourne au ralenti et est rendu persistant sur une base de données et déchargé, pendant que le runtime attend un message de l'application. La deuxième partie de l'application autorise l'utilisateur à consulter les demandes d'emprunts existantes (via la récupération des informations de suivi). L'utilisateur peut également marquer les demandes d'emprunt existantes comme approuvées ou déclinées ; ceci envoie un message au workflow associé via l'exécution du workflow. Lorsque le runtime reçoit le message pour le workflow, celui-ci est rechargé, il reçoit ensuite le message à l'aide d'un HandleExternalEventActivity. Le workflow enregistre ensuite si l'emprunt a été approuvé ou non (via l'infrastructure de suivi du workflow), puis s'arrête.

Vous aurez besoin qu'IIS (Internet Information Services) soit installé pour terminer ce didacticiel. Vous aurez également besoin de Microsoft SQL Server ou MSDE pour le suivi et la persistance du workflow.

Dans cette section

Exercice 1 : créer le projet de workflow

Exercice 2 : créer le site Web

Rubriques connexes

Utilisation de workflows avec ASP.NET

Voir aussi

Autres ressources

Didacticiels Windows Workflow Foundation

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.