1° approche des workflows
Littéralement, workflow signifie « flux de travail ». Cette notion est employée pour désigner de façon générale, la modélisation et la gestion informatique de l’ensemble des tâches et acteurs rentrant dans la composition d’un processus métier. Leur objectif final est d’automatiser au mieux les procédures de travail. Il est à noter que, couramment, le terme workflow représente aussi bien le processus modélisé que le système utilisé lors de sa modélisation. C’est pourquoi, afin de différencier les deux et conformément au vocabulaire de la WorkFlow Management Coalition (WFMC) [1][2], nous emploierons le terme procédure pour parler du processus et workflow pour le logiciel qui permet de le modéliser. Il existe néanmoins deux grands types de workflows que je vais à présent détailler, définir, et finalement, en expliquer le fonctionnement général.
Définitions
Business Workflow
Les business workflows (BWFs), en français workflows d’entreprise, sont apparus dans les années 70 et la définition que nous en retenons est celle donnée par la WFMC [3] :
The automation of a business process, in whole or parts, where documents, information or tasks are passed from one participant to another to be processed, according to a set of procedural rules.
De façon plus pratique, ils permettent d’automatiser les procédures de travail au sein des entreprises, se qui était jusqu’alors réalisé à la main. Les BWFs sont des logiciels orientés tâches, permettant de réaliser des procédures complexes avec un important control-flow. La notion d’orienté tâches se traduit par le fait que toutes les entités que l’utilisateur est amené à manipuler lors de l’emploi d’un BWF représentent des actions qui doivent être réalisées par un acteur quelconque, qu’il s’agisse d’un humain ou d’un programme informatique.
Scientific workflows
Les scientific workflows (SWFs), en français workflows scientifiques, sont une variante des BWFs. Ils sont donc relativement similaires mais possèdent différentes fonctionnalités qui ne sont pas présent dans les BWFs. Nous retiendrons comme définition celle de Bertram Ludascher [4] :
These are networks of analytical steps that may involve, e.g., database access and querying steps, data analysis and mining steps, and many other steps including computationally intensive jobs on high performance cluster computers
Comme leur nom l’indique, ce type de workflow est destiné aux scientifiques et, par conséquent, est en mesure de répondre à leurs besoins spécifiques. C’est pourquoi, alors que les BWFs sont orientés control-flow, les SWFs sont à l’inverse, orientés data-flow. Ils donnent ainsi la possibilité à leurs utilisateurs d’opérer facilement, sur un grand nombre de données complexes et hétérogènes, des calculs intensifs et des traitements répartis.
Constitution d’un workflow
Bien qu’il existe un grand nombre de workflows sur le marché, tous partagent un certain nombre de caractéristiques communes. Pour le comprendre, nous nous basons sur les travaux de la WFMC et leur modèle de référence [5] qui tente d’apporter une réponse aux problèmes d’intégration et d’intéropérabilité entre les différents systèmes. Comme le montre la figure 1, un workflow est donc constitué de plusieurs couches logicielles :
Process Definition Tools
Les Process Definition Tools sont les outils qui permettent de modéliser la procédure à exécuter. Ainsi, dans la grande majorité des cas, les workflows sont équipés d’outils graphiques permettant de glisser/déposer facilement les tâches et acteurs rentrant dans la composition de leur processus métier. Les communications existantes entre les entités sont ensuite définies en les reliant tout aussi simplement entre elles.
Workflow Enactment Service
Au coeur même du workflow se trouve le Workflow Enactment System (en français service de Workflow). C’est un service logiciel qui permet de créer, gérer, exécuter les instances de procédures et de gérer leurs intéractions avec l’extérieur. Il est composé d’un ou plusieurs moteurs de workflow qui lui permettent de maintenir un contrôle interne des données, de façon centralisée ou distribuée.
Workflow engine
Le moteur de workflow est également un service logiciel qui fournit et contrôle la totalité, ou une partie seulement, de l’environnement d’exécution d’une instance d’une procédure.
La nécessité d’obtenir un standard est justifiée par le fait que tous ces outils sont basés sur un langage qui leur est propre ainsi que sur un modèle de relations entre objets et un ensemble de commandes permettant le transfert d’informations entre les participants.
Worflows existants
Notre objectif ici n’est pas d’établir une liste exhaustive de tous les workflows existants. Nous nous tournons plutôt du côté des workflows scientifiques et nous en citons quelques un à titre d’exemple, mais il en existe bien d’autres.
Kepler
Kepler [6] est un système de workflow scientifique générique (écologie, bioinformatique, géologie…), se qui le fait tendre à vouloir être universel. Il est basé sur le système Ptolemy II développé par le département EECS (Electrical Engineering and Computer Science) de l’université de Berkeley. Les procédures définies avec Kepler sont composées d’un ensemble d’acteurs et leur exécution est placée sous la supervision d’un ou plusieurs directeurs qui vont déterminer la sémantique à appliquer aux liens entre les acteurs.
Taverna
Taverna [7] est un système fortement typé bioinformatique (dont il propose en standart de nombreux outils) développé par l’European Bioinformatics Institute et l’université de Manchester. Il a pour but de fournir un langage et des outils logiciels pour faciliter l’utilisation de workflows et les calculs distribués au sein de la communauté scientifique. Il met également à disposition, en plus des applications locales, de nombreux outils sous forme de Services Web.
Triana
Triana [8] est un systèmes de workflow construit initialement pour fournir un outil d’analyse rapide pour des données d’ondes gravitationnelle. A ces débuts, les procédures modélisées étaient exécutées en local ou à distance en utilisant RMI. Plus récemment, Triana s’est vu étendue afin d’incorporer des composants distribués qui sont soit orientés grille de calculs, soit orientés Services Web.
Vers un nouveau type de workflow
Ces dernières années, face à l’engouement pour les workflows et pour répondre à de nouvelles attentes, un nouveau type de workflow a fait son apparition, que nous nommerons « adaptative workflow » (les workflows adaptatifs). Dans la littérature, nous pouvons le voir nommer sous différentes appellations, ie. « WDOs » [9][10] (Workflows-Driven Ontologies) ou encore « flexible workflow ». La caractéristique principal de ce type de workflow est d’offrir la possibilité de modifier, de manière plus ou moins automatique, la structure d’une procédure durant son exécution. Ainsi une plus grande flexibilité est offerte aux utilisateurs en leur permettant de tenir compte de l’environnement d’exécution de leurs procédures. Pour se faire, ces workflows se basent sur une notion que nous avons abordé lors du précédent article, et qui est la notion d’ontologies.
Références
[1] W. M. Coalition. Glossaire – terminology and glossary french, May 1999. Document Number WFMC-TC00-103[2] http://www.wfmc.org[3] W. M. Coalition. Terminology & glossary, Feb 1999. Document Number WFMC-TC-1011[4] B. Ludascher and al. Scientific workflow management and the kepler system, March 2005[5] W. M. Coalition. The workflow reference model, Jan 1995. Document Number WFMC-TC-1003[6] http://kepler-project.org[7] http://taverna.sourceforge.net[8] http://www.trianacode.org[9] A. Q. G. Leonardo Salayandia, Paulo Pinheiro da Silva and F. Salcedo. Workflow-driven ontologies: An earth sciences case study, December 2006[10] A. Q. G. Leonardo Salayandia, Paulo Pinheiro da Silva and A. Rebellon. A model-based workflow approach for scientific applications, October 20062 commentaires pour 1° approche des workflows
il n’ya pas une version francaise pour le shema de la figure1:
Caractéristiques de bases d’un WFMS
Je n’en n’ai pas trouvé, mais je pense que le schéma en lui-même n’est pas trop compliqué à comprendre. Il est d’ailleurs expliquer en détails dans les documents de la WFMC où ils reprennent chaque partie le composant.

Lundi 27 décembre 2010