pensez à WWF pour le M2M

Il n'est pas question ici de la défense des espèces en voie de disparition (pour ça c'est plutôt ici) mais d'une technologie Microsoft : Windows Workflow Foundation.

Je fais parti d'un centre de compétence spécialisé dans le développement de systèmes d'information dans le domaine du Machine to Machine. Les projets de développement sur lesquels j'interviens consistent souvent en un système central gérant une flotte d'équipements embarqués comme des boitiers GPS par exemple.

Pour faciliter le travail sur le système central il est utile de disposer d'un simulateur qui permet de tester le comportement du système face à une flotte de boitiers virtuels. On ne penserait pas forcement à utiliser un composant de gestion de workflow pour réaliser ce simulateur. C'est pourtant ce que je fais et je vais vous expliquer pourquoi ça convient parfaitement.

Windows Workflow Foundation : présentation

Windows Workflow Foundation est une technologie qui fait partie du Framework .Net qui est la base pour le développement de système d'information en technologie Microsoft. Elle permet de programmer simplement des workflows.

  • Un concepteur graphique permet de définir la structure du workflow à partir de briques de bases telle que des affectations de variables, des boucles, des appels de Web Service...
  • On peut également créer nos propres briques en .NET lorsque les briques standard ne suffisent pas.

Plusieurs types de Workflow sont disponibles mais celui qui nous intéresse particulièrement ici est la machine à état.

application à la simulation d'équipement embarqué

On pense plutôt à WWF pour l'implémentation de processus de gestion que pour la simulation d'équipement embarqué. Pourtant c'est souvent sous forme de machine à état qu'est défini le comportement de l'équipement embarqué. Et Windows Workflow Foundation permet de transcrire directement sous cette forme l'implémentation de notre simulateur.

Prenons par exemple un boitier GPS de surveillance de trajet. Voici comment se présente sa machine à état (un peu simplifiée) dans l'environnement de développement Microsoft Visual Studio 2010.

Le boitier envoie sa position régulièrement au système central pendant le trajet. Lorsqu'il détecte un arrêt prolongé il se met en veille et le notifie au serveur.

taginlineimport

La coordination des changements d'état et la gestion des transitions demandent une grande minutie pour être réalisée sans erreur lorsqu'elle doit être programmée "manuellement". Ici le framework WWF prend en charge cette tâche automatiquement.

Les communications M2M associées à chaque transition et chaque état sont ensuite programmées unitairement dans le langage habituel de l'équipe, le plus souvent C#.

en conclusion

Les bénéfices sont :

  • Un passage direct de la spécification à la réalisation grâce au concepteur graphique
  • Facilité pour instancier un grand nombre de machines en parallèle pour simuler une flotte.
  • Concordance avec les compétences disponibles dans l'équipe de développement.

De manière un peu inattendu Windows Workflow Foundation trouve donc sa place dans le contexte du développement de système machine to machine.

Sylvain

Sylvain Bonnichon

Je suis architecte logiciel au sein du centre de compétences M2M (Machine to Machine) d'Orange Business Service. Nous mettons en place des systèmes d'information pour nos clients depuis la conception jusqu'au déploiement, aussi bien en intégrant des logiciels existants qu'en développant des applications sur mesures. En temps qu'architecte logiciel et responsable technique, mon rôle est de concevoir les solutions techniques adaptées au besoin mais aussi d'en superviser la réalisation jusqu'à la mise en production. J'interviens également sur des chantiers internes comme l'industrialisation des processus et la gestion du cycle de vie des projets.