L’interopérabilité et ses enjeux pour les éditeurs de logiciels (4/4)

 

Bénéfices et enjeux de la dimension « Exposition »

Voici un schéma résumant les principaux éléments de cette dimension :

image

Bénéfices et enjeux de la dimension « Plate-forme »

Voici un schéma résumant les principaux éléments de cette dimension :

image

Synthèse des enjeux de la R&D

En conclusion, les principaux enjeux d’interopérabilité pour un département de « Recherche et Développement » d’un éditeur de logiciels sont résumés de la façon suivante :

Les enjeux systématiques :

  • Disponibilité des compétences et culture associée
  • Coûts de développement
  • Coûts des tests
  • Coûts du support

Les enjeux spécifiques à certains scénarios :

  • Disponibilité de plates-formes de tests pour les solutions « Cloud »
  • Disponibilité de plates-formes de tests configurées pour les solutions lourdes
  • Complexité explosive dans le cas de support de nombreuses technologies combinables
  • Difficultés accrues sur l’exposition, surtout dans le mode « API » qui nécessite un savoir-faire technique très spécifique et une rigueur absolue dans la gestion du changement et des versions.

Daniel COHEN-ZARDI

L’interopérabilité et ses enjeux pour les éditeurs de logiciels (3/4)

 

Les dimensions de l’interopérabilité

L’interopérabilité présente en réalité quatre dimensions différentes résumées sur le schéma suivant :

image

D’une part, il s’agit de tirer parti de ce que proposent d’autres logiciels (les parties basse et droite). D’autre part, il s’agit de permettre à d’autres logiciels de tirer parti de ce qu’on propose soi-même (les parties haute et gauche). Sur l’axe vertical, on représente ce qui constitue une dépendance, et pas seulement une possibilité. On peut dépendre d’un logiciel de plate-forme, ou constituer soi-même une plate-forme pour d’autres logiciels. Cette distinction est importante pour bien mesurer les enjeux.

Par ailleurs, nous avons placé des indices de 1 à 4, en prenant en compte l’ordre « naturel » dans lequel l’interopérabilité est généralement abordée par les éditeurs.

  1. La dimension 1 est quasiment une obligation pour tout éditeur, ne serait-ce que pour s’appuyer sur un système d’exploitation ou une base de données.
  2. La dimension 2 apparait rapidement nécessaire pour s’intégrer dans les environnements des clients.
  3. La dimension 3 devient importante dès lors qu’on propose un service utilisable par d’autres et qu’on commence à avoir une certaine position de marché.
  4. La dimension 4 est l’étape ultime et potentiellement le « graal » de la réussite. Il nécessite un savoir-faire technique très important car il faut fournir des APIs compatibles dans la durée, et requiert également une position de marché suffisante, car les éditeurs utilisant la plate-forme doivent avoir une totale confiance pour entrer en dépendance avec le logiciel sous-jacent.

Bénéfices et enjeux de la dimension « Déploiement »

Voici un schéma résumant les principaux éléments de cette dimension :

image

Bénéfices et enjeux de la dimension « Consommation »

Voici un schéma résumant les principaux éléments de cette dimension :

image

L’interopérabilité et ses enjeux pour les éditeurs de logiciels (2/4)

La composante culturelle

Au-delà des aspects techniques, la composante « culturelle » est souvent une dimension à ne pas oublier pour réussir un projet impliquant une interopérabilité entre différentes technologies.

L’interopérabilité au niveau technique est comme l’utilisation d’une langue commune, elle ne gomme pas les différences culturelles !

Sur le terrain chez nos clients, nous avons pu observer de nombreux contextes différents d’interopérabilité amenant leur lot de difficulté à faire coopérer des cultures de l’informatique très différentes, comme par exemple dans les configurations vécues suivantes :

  • Intégration d’un gros système mainframe avec un serveur Web Windows,
  • Portail basé sur SharePoint devant s’appuyer sur des processus SAP,
  • Client-riche .NET servant à manipuler les données décisionnelles d’un référentiel SAS Institue sous Unix,
  • Application iOS pour iPhone s’appuyant sur un back-office entièrement développé en .NET et exposé sous forme de services JSON/REST.

Venant d’horizons différents, avec des modes de travail et des cultures souvent très variables, les personnes éprouvent souvent des difficultés de communication et d’alignement, ne serait-ce que pour mener un test complet qui impliquent les systèmes devant interopérer entre eux.

En pratique, il faut souvent un individu « passerelle », soit qu’il ait déjà pratiqué les deux univers, soit qu’il ait un esprit curieux suffisamment curieux pour s’intéresser au monde qu’il ne connait pas et y découvrir les éléments qui vont lui permettre de prendre la vue d’ensemble.

Bénéfices globaux

image

Pour un éditeur de logiciels, les bénéfices de l’interopérabilité sont multiples :

Bénéfice 1 : S’intégrer dans l’existant des clients

Le premier bénéfice d’être interopérable pour un éditeur est de permettre de s’intégrer dans l’environnement existant des clients.

Dans les systèmes d’information, l’inertie est souvent très forte, et l’obsolescence subie dépasse très nettement les plans initialement imaginés.

L’existence de systèmes opérationnels et validés, le poids des données qui y sont présentes et l’importance des habitudes prises par les utilisateurs rendent tout mouvement risqué par nature, et inévitablement économiquement coûteux sur le court terme.

De ce fait, l’un des premiers critères de choix d’une solution est de s’assurer de perturber le moins possible ce qui fonctionne.

Donc toute solution qui peut s’intégrer avec ce qui existe en évoluant par petites étapes dispose d’un atout majeur pour être retenue.

Bénéfice 2 : Elargir son marché cible

Le second bénéfice de l’interopérabilité, au niveau des plates-formes, est d’élargir son marché cible. En supportant un maximum de plates-formes du marché, que ce soit au niveau :

  • Des bases de données,
  • Des middlewares,
  • Des systèmes d’exploitation,
  • Des navigateurs Internet,
  • Des plates-formes mobiles,
  • Des plates-formes « cloud ».

Moyennant un effort relativement coûteux d’investissement produit (en développement, test et support), un éditeur peut élargir sa cible en diversifiant les plates-formes qui permettent à sa solution de fonctionner, car certains clients peuvent imposer ou privilégier des environnements techniques.

Bénéfice 3 : Optimiser le ratio valeur/coût et investissant sur la différentiation

Le troisième intérêt d’interopérer avec d’autres logiciels est de focaliser son effort sur la différentiation. En faisant levier sur d’autres logiciels établis qui traitent déjà bien de certaines fonctions transversales ou matures, on peut investir son énergie à développer des fonctionnalités plus pointues, qui feront l’unicité de l’offre.

Selon le secteur et le type d’application (il y a parfois une valeur aussi au logiciel unique intégré), une approche de ce type peut s’avérer optimale en termes de valeur générée pour un coût donné.

C’est le principe du « best of breed » et de la concentration de l’effort sur le meilleur élément pour un axe restreint d’un domaine donné.

Bénéfice 4 : Respecter d’éventuelles obligations règlementaires

Enfin, il ne faut pas oublier que l’interopérabilité est aussi souvent une contrainte règlementaire obligatoire.

Dans de nombreux métiers, afin de protéger les clients, certaines législations sont en vigueur pour s’assurer de ne pas maintenir de relation déséquilibrée entre un éditeur qui garderait des formats trop propriétaires et les clients qui seraient ainsi captifs.

Suivant les situations de part de marché, légiférer est parfois nécessaire pour qu’une réelle concurrence puisse s’établir dans la durée.

Notons par exemple en France le cas de la LCFI, qui autorise (sous des conditions dont je laisse les détails aux avocats spécialistes – voir la présentation en commission AFDEL à ce sujet) la décompilation à des fins d’interopérabilité.

Le législateur a voulu ainsi préserver un équilibre entre la protection de la propriété intellectuelle et le maintien d’un environnement concurrentiel servant les intérêts des clients.

L’interopérabilité et ses enjeux pour les éditeurs de logiciels (1/4)

 

Suite à une présentation faite pour le compte de l’Association Française Des Editeurs de Logiciels en décembre dernier, voici une série d’articles reprenant les idées développées au cours de cette intervention.

3 bonnes raisons de s’intéresser à l’interopérabilité

L’interopérabilité n’est pas en soi un sujet nouveau. Situé à la frontière des systèmes, que ceux-ci soient matériels ou logiciels, sa problématique s’est techniquement posée depuis le début de l’informatique.

Il est plus que jamais nécessaire aujourd’hui pour un éditeur de logiciels de bien intégrer cet enjeu, car il est multiforme et souvent complexe, pas seulement sur l’aspect technique.

image

Raison 1 : la fragmentation des plates-formes

La première raison de s’y intéresser est la tendance de fond qui concerne la multiplication des plates-formes.

En effet, avec la dominance forte du couple Wintel jusqu’à la moitié des années 2000, l’interopérabilité avait perdu un peu de son emphase dans certains univers.

Mais force est de constater que Microsoft perd du terrain sur les plates-formes « globalement ». Bien sûr, Windows et le PC restent dominants, mais la multiplication des terminaux, notamment mobiles, a changé la donne.

Nul doute que les tablettes ne vont rien arranger, et même si Microsoft fait de gros efforts sur le sujet avec l’arrivée prochaine de Windows 8, il est quasi-certain que le paysage d’un fournisseur unique de système semble appartenir au passé… en tout cas dans un futur visible !

Et même en ce qui concerne le PC, l’hétérogénéité des navigateurs – qu’on aurait légitimement pu croire appartenir au passé – est revenue avec son lot de difficultés pour les développeurs.

Tout cela amène des enjeux techniques d’interopérabilité au niveau de la plate-forme, avec une complexité induite très importante.

Raison 2 : la spécialisation

La seconde raison d’un retour majeur du sujet de l’interopérabilité est la spécialisation. Chaque métier réalisant des progrès, les offres logicielles deviennent de plus en plus verticalisées et spécialisées.

Il devient impossible de satisfaire tous les besoins d’un client au sein d’une unique offre intégrée, et ce malgré l’existence de gros éditeurs ayant des offres larges. D’ailleurs, ceux-ci n’ont en général pas une offre cohérente, leur offre s’étant inévitablement constituée au fil d’acquisitions successives, et les problèmes d’interopérabilité se posent au sein même des offres de ces éditeurs.

De plus, les solutions larges sont pénalisées par une certaine inertie et sont condamnées à être en retard par rapport à des offres émergentes plus ciblées. En conséquence, les clients recherchent des solutions « best of breed » pour répondre à leurs besoins.

Au bout du compte, une solution optimale pour le client passe généralement par la composition de plusieurs logiciels, posant ainsi l’enjeu de leur interopérabilité, aussi bien au niveau des données qu’en ce qui concerne les processus.

Raison 3 : l’informatique dans le nuage

La troisième raison est l’émergence des modèles basés sur le nuage (« cloud computing »). Bien que relativement jeune dans certains domaines, la tendance de fond est amorcée, et le nuage va créer des enjeux d’interopérabilité à tous les niveaux : plate-forme et applicatif.

Nul doute que Facebook lui-même devient une plate-forme de développement à part entière, sachant que Salesforce en est déjà une depuis plusieurs années dans le monde de l’entreprise.

Cette transition vers le modèle du « nuage » va se faire probablement avec beaucoup de solutions hybrides, ne serait-ce que le temps que ces nouvelles solutions apportent des solutions fonctionnellement complètes.

La conséquence se traduira par des enjeux d’interopérabilité significatifs entre la part d’informatique qui sera chez les clients, dans des nuages « prviés » ou dans le nuage public, avec bien évidemment une distribution probable entre les nuages des différents fournisseurs.

Différentes natures d’interopérabilité

Par ailleurs, il est important de comprendre que l’interopérabilité revêt différentes nature.

En premier lieu, elle se situe au niveau des formats. Par exemple, le HTML, le XML, l’ODF, le CSV ou encore le PDF sont des formats utilisés principalement pour les fichiers. Cela permet aux logiciels de reconnaitre des données.

Les protocoles de communication sont également importants dans la dynamique d’interopérabilité. HTTP, FTP, POP, IMAP ou SMTP sont par exemple des protocoles bien connus. Cela permet des communications entre systèmes.

Au niveau du développement, les APIs (interface de programmation d’application), qu’elles soient généralistes comme JSON/REST, ou spécifiques à un fournisseur, comme la plate-forme .NET ou WinRT, permettent au développeur de s’affranchir de la connaissance du fonctionnement interne des programmes tout en tirant parti de leurs fonctionnalités.

Enfin, il existe aussi des modèles métiers plus ou moins standardisé comme HL7 (Health Level 7) dans le domaine de la santé.

L’interopérabilité revêt donc des formes très différentes, suivant le niveau sur lequel on se place.

Les standards et leurs limites

Afin de garantir cette interopérabilité entre fournisseurs différents, certaines de ces notions sont standardisées au travers de nombreux organismes comme le W3C, l’ECMA, l’ISO, l’IEEE ou l’AFNOR en France. Dans beaucoup de secteurs verticaux, des consortiums existent principalement pour les échanges de données.

Mais les processus de standardisation ou de normalisation sont forcément lents et les standards sont condamnés à être en retard sur l’état de l’art technologique compte tenu des facteurs suivants :

  • La complexité intrinsèque de l’informatique,
  • La divergence d’intérêts entre les participants,
  • Et une innovation rapide qui « n’attend pas ».

Dans certains cas, les standards sont loin de tenir les espoirs passés ou l’objectif initial et risquent de devenir totalement inutile ou obsolètes. CORBA en est exemple. UML semble en avoir pris le chemin.

Daniel COHEN-ZARDI

Suivre

Recevez les nouvelles publications par mail.

Joignez-vous à 30 followers