Services de flux de travail enfichables
Dernière modification : vendredi 16 avril 2010
S’applique à : SharePoint Foundation 2010
Dans cet article
Vue d’ensemble
Exemple d’utilisation
Étapes de développement
Les services de flux de travail enfichables fournissent un mécanisme qui permet aux composants ou aux applications externes de communiquer par programme avec des instances de flux de travail en cours d’exécution sur le serveur.
Vue d’ensemble
Dans Windows SharePoint Services 3.0, les flux de travail pouvaient réagir à un nombre limité d’événements. Pour étendre leurs fonctionnalités, les développeurs devaient mettre au point un mécanisme permettant à un flux de travail d’appeler un service externe par le biais d’un code, puis écrire un service Web qui accepte des paramètres pour mettre à jour une instance de flux de travail spécifique en cours d’exécution. Les nouveaux flux de travail dans Microsoft SharePoint Foundation 2010 offrent une extensibilité plus large que les flux de travail issus des versions antérieures, ce qui favorise l’interaction et autorise une réaction à un nombre plus élevé d’événements personnalisés, tant internes qu’externes. SharePoint Foundation permet à un développeur de coder les flux de travail afin d’être à l’écoute de certains événements externes.
Les services de flux de travail enfichables permettent aux flux de travail de s’exécuter jusqu’à un point spécifié, puis d’attendre des informations de la part d’un processus externe.
Architecture
Le processus suivant indique le flux de données déclenché au démarrage d’un service de flux de travail enfichable :
Le code de flux de travail démarre et charge le moteur de flux de travail.
Le moteur de flux de travail lit les assemblys et les classes de canaux à partir du fichier de configuration.
Les canaux sont chargés à partir du Global Assembly Cache (GAC) et l’exécution du flux de travail est démarrée.
SPWorkflowService est la classe abstraite qui permet aux services d’accéder aux données et aux fonctionnalités de base. Tous les services enfichables doivent hériter de cette classe.
Exemple d’utilisation
Utilisation de services enfichables dans un flux de travail pour recevoir des communications en provenance d’un système d’expédition externe
Une société a mis en place un système de gestion de commande complet à l’aide de SharePoint Foundation. Chaque commande est représentée par un élément de liste dans la liste de commandes de la société. Celle-ci utilise des flux de travail pour automatiser ses processus d’entreprise depuis la saisie de la commande jusqu’à son exécution. Toutefois, pour l’expédition, elle fait appel à différents transporteurs pour la livraison à ses clients dans le monde entier.
Récemment, elle s’est fixée pour objectif d’obtenir des mises à jour en temps voulu de la part des compagnies de navigation et d’intégrer ces informations dans les détails de la commande. Elle doit être en mesure de recevoir automatiquement les mises à jour de la compagnie de navigation afin que les informations de la commande soient constamment à jour. Les compagnies de navigation disposent de systèmes automatisés permettant d’indiquer aux clients le statut de livraison de leurs expéditions.
À l’aide de services de flux de travail enfichables, le développeur de la société peut suspendre le flux de travail pendant qu’il attend une notification de livraison de la part de l’expéditeur. Lorsque le flux de travail reçoit le statut de livraison, il met à jour la liste SharePoint et passe à l’étape suivante du flux de travail, en l’occurrence la facturation.
Étapes de développement
Un développeur de service de flux de travail ne doit implémenter que deux éléments :
Le service de flux de travail personnalisé.
Un gestionnaire d’événements ou un service Web pour recevoir l’événement externe et réagir en appelant la fonction appropriée dans le service de flux de travail personnalisé, ce qui permet la reprise du flux de travail adéquat.