> Mobilité > Développer avec Visual Studio 2010

Développer avec Visual Studio 2010

Mobilité - Par Serge Luca et Didier Danse - Publié le 17 août 2011
email

Comme pour SharePoint Designer, toute une série de nouveautés ont été apportées à Visual Studio 2010 pour le développement SharePoint.

Ainsi, le processus de création de workflows sous Visual Studio 2010 bénéficie de toutes les facilités apportées à la gestion des features (grâce au Feature Designer), des solutions SharePoint (grâce au Package Designer) et au débogage automatique (avec association au pool d’application approprié) lorsqu’on presse la touche F5.

Bien entendu, tous les concepts valables pour les workflows au sein de SharePoint s’appliquent également au développement sous Visual Studio. Comme précédemment, nous disposons de templates Sequential workflow ainsi que State machine workflow.

Développer avec Visual Studio 2010

Encore l’ancien Designer

Workflow Foundation 3.5 étant le moteur de workflow de SharePoint 2010 (la version 4.0 avec son nouveau designer n’étant pas supportée), le designer de workflow est identique à celui de la version précédente, pas de surprise à ce niveau.

Pas de mode sandBox

Un wizard nous indique clairement que les workflows générés sous Visual Studio 2010 ne fonctionnent pas en mode Sandbox, mais uniquement en mode full trust ; dès lors, pas question d’utiliser ce genre de workflows sous SharePoint Online contrairement aux workflows générés sous SharePoint Designer 2010.

L’import de SharePoint Designer 2010, irréversible

Il est enfin possible de facilement réutiliser en Visual Studio 2010 des workflows générés par SharePoint Designer 2010 ; sachez que le processus est irréversible contrairement à la trajectoire Visio 2010 – SharePoint Designer.

Les événements workflows

Il est désormais possible de gérer les évènements déclenchés lorsqu’un workflow lié à une liste est en cours de démarrage, démarré, terminé ou mis en attente. Ceci est également valable pour les workflows créés sous SharePoint Designer 2010.

Les formulaires d’association et d’initialisation

Créer des formulaires d’association d’un workflow à une liste ou d’initialisation d’un workflow est rendu plus aisé grâce à 2 nouveaux templates générant des pages ASPX ainsi que du code permettant l’échange de données entre le workflow et ces mêmes formulaires.

Le développeur n’a plus qu’à ajouter des contrôles spécifiques au sein des formulaires et d’implémenter 2 méthodes, respectivement GetAssociationData() et GetInitiationData().Nous regrettons l’absence de génération de formulaires de Tâches pourtant bien utiles.

La communication avec l’extérieur

Une des améliorations les plus importantes est la possibilité de créer des pluggable workflow services c’est-à-dire un moyen d’échanger des événements entre le workflow et le monde extérieur ; ce système disponible dès la version 3.0 de Workflow Foundation avait été bloqué (à notre grande surprise à l’époque) par le team SharePoint dans la version 2007 de SharePoint.

En effet, une caractéristique importante d’un workflow est d’être retiré de la mémoire du processus hôte et stocké dans la base de contenu (sérialisé) lorsqu’il se met à l’écoute d’un événement pour ensuite être ramené en vie lorsque l’évènement est déclenché; c’est ce qui se passe lorsqu’on utilise les activités vertes telles qu’illustrées dans la figure suivante.

Ce mécanisme permet une excellente montée en charge et l’utilisation de milliers de workflows en même temps. En SharePoint 2007, nous devions nous contenter d’une série limitées d’activités événementielles ; appeler une application extérieure telle que SAP nous imposait de créer des activités customisées et d’appeler des services webs sans être désérialisé/sérialisé ; ce n’est désormais plus le cas, nous pouvons nous mettre à l’écoute de n’importe quel événement et profiter de ce système de sérialisation/désérialisation en utilisant l’activité HandleExternalEvent (également illustrée sur le figure 11) fournie dès 2006 et fréquemment utilisée par les développeurs .Net !

Sans entrer dans le détail, cela nécessite l’implémentation d’une classe dérivée de SPWorkflowExternalDataExchangeService et son annotation dans le fichier web.config de la web application au sein de nouvelles balises .

Conclusion

Bien qu’il n’y ait pas de véritable révolution au niveau de la création de workflows sous SharePoint 2010, il s’agit tout de même d’une excellente évolution de l’existant. La possibilité de customiser les workflows « out of the box », la possibilité de créer de vrais workflows réutilisables sous SharePoint Designer 2010 ou sous Visio 2010, ainsi qu’une meilleure ouverture entre les workflows et le monde extérieur constituent les nouveautés marquantes de l’expérience workflow dans SharePoint 2010.

Intéressé par la collaboration en entreprise ? Visitez notre hub dédié « Collaboration et productivité d’entreprise » pour découvrir nos ressources éditoriales consacrées aux nouveaux outils collaboratifs pour les entreprises.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Mobilité - Par Serge Luca et Didier Danse - Publié le 17 août 2011