OSGi : le développement d'applications M2M

OSGi permet de développer des applications modulaires, reconfigurables et orientées service. Les applications sont conçues sous forme de bundles qui sont des entités reconfigurables dynamiquement, c'est-à-dire lors de l'exécution des applications. Ces dernières années, OSGi a réalisé une percée dans le domaine de l'embarqué.

Par exemple, un de nos clients vise à déployer des boîtiers de gestion d'énergie intégrant de l'intelligence pour faire communiquer les équipements électriques avec les plates-formes distantes de gestion d'énergie. Le firmware de ces boîtiers est écrit avec des bundles OSGi afin de reconfigurer certaines parties de l'application pour qu'elle supporte les particularités des environnements dans lesquels ces boîtiers seront déployés (bus de terrain, prise en charge de nouveaux algorithmes d'optimisation d'énergie, etc.).

d'indéniables qualités ...

Dans un monde où le logiciel prend une part de plus en plus importante dans les systèmes embarqués, OSGi permet de rapprocher plus facilement le SI des systèmes embarqués. Parmi les caractéristiques de ce dernier, citons :

  • la modularité, ce qui permet aux développeurs de se focaliser sur l'architecture de leur application embarquée,
  • la reconfigurabilité, afin d'adapter l'application aux changements de l'environnement d'exécution,
  • une architecture orientée service, permettant un faible couplage entre les différents modules,
  • le support des base-drivers implémentant divers protocoles de communication,
  • un serveur Web intégré permettant d'interagir avec l'application embarquée,
  • le device management etc.

… mais une position restant à affirmer

Malgré ces indéniables qualités, OSGi a toutefois un certain nombre d'inconvénients qui limitent sa percée dans le domaine de l'embarqué :

  • OSGi étant un framework Java, plusieurs couches doivent être utilisées : une JVM embarquée adaptée à la cible, et un ensemble de librairies Java implémentant le framework de base et les services proposés par la spécification OSGi,
  • la culture du monde de l'embarqué n'a pas encore complètement intégré les notions de modularité, reconfigurabilité et approches orientées services, et commence juste à vivre ce changement dans leur processus de conception et de développement de tels systèmes,
  • la gestion des versions inhérente à la configuration de l'environnement encore ardue à définir et mettre en place dans l'écosystème de l'embarqué,
  • la politique de reconfiguration à définir dès le début (comment doit réagir le système si un des bundles n'est plus disponible, …).

Les dernières spécifications orientent OSGi dans le domaine du résidentiel (mises en avant par la Home Gateway Initiative, le Broadband Forum et l'UPnP Forum) dont les environnements cibles ont moins de contraintes en terme de consommation de ressources matérielles que l'embarqué. Les spécialistes de l'embarqué peuvent encore apporter leurs contributions à l'alliance OSGi afin que de nouvelles spécifications soient orientées vers ce domaine.

Mikaël

Crédit photo : © shockfactor - Fotolia.com

Mikaël Beauvois

Docteur en informatique et diplômé d'une grande école de commerce spécialisée dans le management de l'innovation, j'ai évolué au sein de projets européens collaboratifs intégrant partenaires académiques et industriels qui visaient à définir de nouvelles technologies logicielles et réseau dans le domaine du mobile. Depuis 2011, j'accompagne les clients d'IT&L@bs, entité d'Orange Business, dans leur révolution technologique.