Automatisation des tâches sous SharePoint : Workflows, Event Receivers Et Timer Jobs

D'un point de vue développeur, SharePoint est un large ensemble d'outils, librairies, contrôles, classes, et bien plus... disponibles pour créer des solutions métiers collaboratives et personnalisables. Au-delà des fonctionnalités prêtes à utiliser "Out of the box", SharePoint offre des mécanismes d'extension puissants permettant de répondre aux besoins les plus avancés en termes de collaboration et de partage. Dans cet article nous allons explorer trois mécanismes supportés par SharePoint pour l'automatisation des tâches et des processus.

 

WORKFLOWS

Les Workflows SharePoint sont la solution la plus efficace pour modéliser des processus métier, ils permettent aux architectes, développeurs et administrateurs SharePoint de définir les étapes associées à ces processus, et d'y intégrer des formulaires autorisant aux utilisateurs finaux d'interagir avec la logique d'exécution du Workflow.
Le lancement des Workflows SharePoint peut être effectué manuellement par un utilisateur ou automatiquement en réponse à un certain évènement tel que la création ou la modification d’un élément d'une liste.
Quand ils sont initiés, les Workflows SharePoint s'exécutent de manière asynchrone, potentiellement pour de longues durées, et ne peuvent être arrêtés avant leurs terminaisons (dernière étape du Workflow).
Les Workflows SharePoint peuvent être créés via SharePoint Designer, Visio (éventuellement par des acteurs non techniques) ou avec Visual Studio par des développeurs.

 

Exemple de Workflow SharePoint

Exemple de Workflow SharePoint

 

EVENT RECIEVERS

Dans SharePoint, les Event Receivers sont des gestionnaires d'évènements prédéfinis associés aux objets SharePoint courants (collection de sites, sites, listes, Workflows, et éléments). Un développeur SharePoint peut associer du code à ces évènements de façon à automatiser l'exécution d'un traitement chaque fois que l'évènement se produit.
Les traitements associés aux Event Receivers peuvent s'exécuter de manière synchrone ou asynchrone selon le besoin, mais sont la plupart du temps instantanés.
La création d’un Event Receiver est une tâche de développement et ne peut se faire qu'à travers Visual Studio, par contre il est possible d'attacher ou détacher les Event Reciever de leurs objets hôtes à travers des outils propriétaires sans avoir recours à des développeurs (SharPoint Event Receiver Manager par exemple http://speventreceiverman.codeplex.com/).

 

Exécution des Event Recievers

Exécution des Event Recivers

 

TIMER JOBS

Les Timer Jobs sont l'équivalent des tâches planifiées Windows, ils sont déclenchés automatiquement selon la configuration du planificateur de tâches SharePoint, mais peuvent aussi être déclenchés manuellement par un administrateur SharePoint en utilisant le site central d'administration.
SharePoint utilise les Timer Jobs de façon extensive pour automatiser différents travaux de maintenance et de surveillance.
Comme les Event Receivers, la création des Timer Jobs constitue une tâche de développement effectuée à travers Visual Studio, mais la gestion de la planification de ces-derniers peut se faire à travers le site d'administration central de Sharepoint.

 

Administration d'un Timer Job

Interface d'administration des Timer Jobs sous SharePoint

 

CONCLUSION

Comme déjà introduit SharePoint est une boite à outils riche pour la création des solutions collaboratives, et les mécanismes d'automatisation présentés dans cet article ne constituent que des simples briques adaptées chacune à un scénario particulier. Le rôle de l'architecte SharePoint est de bien choisir les briques adaptées et de les intégrer de façon optimale pour résoudre la problématique métier de son client.