Présentation de Windows Workflow Foundation
Officiellement présenté et disponible pour le grand public en
version Beta 1 lors de PDC (Professional Developper Conference) organisée par
Microsoft en Septembre 2005, Windows Workflow Foundation,
également appelé plus simplement WF, constitue le nouveau moteur
de workflow gratuit de Microsoft. Windows Workflow Foundation fait partie
intégrante de la nouvelle plate-forme de développement applicatif de Microsoft
qui vient se greffer au dessus du framework .NET 2.0 connue sous le nom de code
WinFX.
Qu'est-ce que WinFX ?
Pour
les personnes peu familières aux noms de code des futurs produits ou
plates-formes de Microsoft, WinFX représente comme dit précédemment la
nouvelle plate-forme de développement applicatif de Microsoft qui vient se
greffer au dessus du framework .NET 2.0. En effet, WinFX n'est pas un
produit comme peuvent l'être Windows Vista, SQL Server ou Biztalk Server mais
bien une surcouche au framework de développement de Microsoft qui est disponible
dans sa version 2.0 depuis Novembre 2005.
WinFX constitue donc un ensemble d'APIs (Application
Programming Interface) qui rajoute des fonctionnalités au framework .NET 2.0 qui
est lui même déjà constitué de plusieurs centaines d'objets et de classes
permettant d'effectuer différents traitements (communication réseau, services
Web, manipulation de bases de données...) et de réaliser différents types
d'applications (application client/serveur, application console, site Web,
services Windows...). Ces fonctionnalités ne tournent pas simplement autour de
Windows Workflow Foundation mais sont constituées de quatre nouvelles
briques permettant chacune d'enrichir autour d'un thème bien précis le framework
.NET 2.0.
Les quatres briques qui constituent WinFX sont :
-
Windows Workflow Foundation (WF)
-
Windows Communication Foundation (WCF)
-
Windows Presentation Foundation (WPF)
-
WinFS
Windows Communication Foundation (WCF)
représente les APIs permettant de réaliser des communications entre applications
via différents moyens de communication tels que les services Web ou le remoting
bien connus des développeurs .NET 1.x mais en leur ajoutant un certain nombre de
nouvelles possibilités (ex : communications sécurisées, modèles transactionnels)
tout en permettant suivant les cas d'avoir moins de code à écrire pour les
développeurs.
Windows Presentation Foundation (WPF)
représente les APIs permettant de réaliser les interfaces graphiques de futures
générations sans forcément avoir besoin de connaissance en développement .NET
grâce notamment au langage XAML qui permet de décrire sous forme de fichiers XML
toute l'interface graphique et le fonctionnement de celle-ci avec des
fonctionnalités avancées (ex : rotation, translation, fondu) qui là encore ne
nécessitent pas forcément de devoir écrire du code .NET.
WinFS représente pour sa part le futur moteur
de stockage de fichiers qui viendra en complément du système NTFS pour lui
ajouter de nouvelles fonctionnalités afin par exemple d'enrichir et d'accélérer
les fonctions de recherche dans les fichiers en se basant sur une base de
données SQL. Ce système de fichiers sera lui même programmable vient un ensemble
d'APIs apportées par WinFS.
WinFX sera disponible gratuitement dans les mois à
venir et pourra être utilisé sur Windows XP, Windows 2003 et Windows Vista.
Un concurrent à Biztalk Server ?
Les personnes s'intéressant de prêt à la mise en oeuvre de
workflows au sein d'applications, et notamment avec les produits Microsoft,
pourront se demander comment se positionne Windows Workflow Foundation
vis à vis de Biztalk Server. La première réponse que l'on peut
donner à cette interrogation est très simple : Biztalk Server est un
produit alors que Windows Workflow Foundation est un framework de
développement ce qui signifie que les deux éléments ne visent pas du tout le
même secteur.
Un produit comme son nom l'indique sous entend qu'il apporte
un certain nombre de fonctionnalités nativement sans que la personne qui va le
mettre en oeuvre ai besoin de réaliser de développement pour arriver à mettre
une solution en oeuvre rapidement. Attention, cela ne signifie pas que
Biztalk Server ne requiert aucun développement pour être mis en oeuvre, mais
il permet de réaliser un certain nombre de choses (ex : connexion à un serveur
SQL, transfert de messages d'une application à l'autre) sans avoir besoin de
taper la moindre ligne de code.
Windows Workflow Foundation représente pour sa part un
framework applicatif et comme cela est sous entendu, un développement plus ou
moins compliqué devra être réalisé pour mettre en oeuvre une application, que
celle-ci soit très simple ou très compliqué. Le framework de développement
propose un certain nombre de briques de base pour réaliser des actions (ex :
communication par service Web, envoi de messages électroniques, persistance des
données) mais vous devrez obligatoirement mettre en place une phase de
développement pour modéliser et mettre en oeuvre vos workflows.
Intégration à Visual Studio 2005
Comme évoqué ci-dessus, il sera nécessaire d'avoir recours à
un outil de développement tel que Visual Studio 2005 pour modéliser et mettre en
oeuvre vos workflows au sein de vos applications.
L'image ci-contre vous montre le designer de workflows de
Windows Workflow Foundation intégré à Visual Studio 2005 que vous utiliserez
pour créer vos workflows. Ce designer vous permet de créer de manière très
conviviale et totalement graphique par simple glisser/déposer des briques
fournies nativement avec Windows Workflow Foundation.