12 mai 2008

Pourquoi développer des workflows avec Workflow Foundation ?

Tout d'abord, Workflow Foundation est un Framework permettant de réaliser des workflows tout en respectant une bonne productivité. Dorénavant, si vous pensez créer des workflows dans vos prochains projets, il est clair que vous devez penser à Workflow Foundation, surtout si vous êtes familier du Framework .Net. Si vous êtes issu du monde J2EE, PHP ou autre, il est tout à fait possible et Microsoft a travaillé dessus, de mettre en place un service quelconque, qui expose par des méthodes vos propres workflows. Tout ceci est réalisé avec un minimum d'effort si bien sûr vous disposez de Visual Studio 2005 ou 2008.


WF propose un ensemble d'outils cohérent pour concevoir vos workflows. L'investissement requis pour comprendre WF et mettre en place un workflow est vite rentabilisé. L'éditeur de workflow fourni, permet un développement visuel et non plus textuel de vos processus. Cela se résume le plus souvent à du glisser/déplacer et à de la configuration de propriétés. Il est alors très facile à comprendre que cela augmente la maintenabilité de vos workflows.


Cet environnement graphique permet d'exposer et de discuter de vos workflows avec le client. En effet, un graphique est bien plus parlant que du texte et rien que penser à montrer du code à un client est complètement absurde. Un processus conçu visuellement avec WF est vite compréhensible par quiconque comprenant le vocabulaire métier exposé.


Lorsque vous développez vos propres workflows, vous êtes souvent amené à créer des custom activity (activités personnalisées). Ces composants ont la particularité d'être fortement réutilisables, d'une part dans un même projet mais aussi entre projets (du moment qu'ils sont indépendants). Il est tout à fait envisageable de créer une bibliothèque d'activité, que chaque développeur et architecte utilisera et alimentera.

Le Framework est fourni avec une suite d'activités standards qui couvrent un ensemble important de cas conventionnels. D'une part, ces activités vous aiguillent dans la conception de vos workflows, et d'autre part vous bénéficiez de l'expérience de Microsoft dans la matérialisation de vos processus. De plus, avec le service de persistance fourni, qui permet le stockage de vos workflows en base de données, cela a pour effet d'augmenter la fiabilité et les performances de vos applications. Le service de trace aussi fourni, permet de suivre l'exécution de vos workflows en quasi temps réel.