Notes de lecture du livre Pro WF de Bruce Bukovics
Ce livre a deux mérites : il est exhaustif (800 pages pour couvrir les fonctionnalités de Windows Workflow) et à jour puisqu’il aborde les ajouts de la version 3.5 du Framework dans le domaine du workflow.
Ayant travaillé avec son pendant dans le monde JAVA, jBPM, je voulais voir ce que couvrait le “workflow foundation” en .NET sachant qu’il va jouer un rôle plus important dans Dublin, le serveur d’application basé sur .NET Framework 4.0.
On retrouve bien sûr dans cet ouvrage l’explication sur les workflows de type séquentiel, machine à états et les activités de base, comment interagir avec l’environnement d’execution (runtime du workflow). Ainsi on retrouve la notion de services attachés à l’hôte. Ceux-ci sont de deux sortes :
- locaux, ils sont personnalisés et c’est eux qui permettent d’interagir depuis ou vers les activités définis dans les processus par le biais d’évènements et d’identifiant de corrélation
- de base : le service qui gère la persistance dans le cas des processus “long” ou de tracking pour faire de l’audit très fin sur les activités (par exemple conserver la valeur de propriétés tout au long du processus). Ces services ont une implémentation de base fourni par le framework, on peut aussi en fournir une pour des traitements spécifiques. Le libre aborde façon détaillée cette partie notamment le système de queue qui permet au sein du framework de passer des messages (notamment pour la persistance).
La partie sur les transactions est aussi intéressante, WF propose des activités spécifiques autour de la gestion des transactions et de la compensation ce qui permet une vision plus “métier” que technique.
La version 3 ne proposait qu’un système sommaire pour supporter les webservices (obligation de passer par des webservices client avec cookie) mais l’intégration avec WCF dans la version 3.5 autour des services de workflow permettent des scenarios plus évolués par le bais d’un host WCF dédié comme il a été fait pour les services de type REST ou JSON.
La dernière partie est consacrée aux activités personnalisées, là aussi le côté graphique de WF est très appréciable (c’était une partie dans JBPM qui était très obscur et très attaché à Eclipse), l’auteur montre même un exemple de designer complètement personnalisé dans une application de type client lourd. Le futur designer de WF 4.0 devant être basé sur WPF, j’espère qu’on ne perdra pas de souplesse.
Billet publié dans les rubriques Programmation, Lecture le