lundi, janvier 2

Des modèles de programmation légers



Après que le principe des services web se fut popularisé, de grandes compagnies se sont lancés dans l'aventure en proposant des ensembles complexes de services conçus pour créer de véritables environnements de développement pour applications distribuées.

Mais tout comme le web avait réussi en passant outre une grande partie de la théorie de l'hypertexte, préférant le pragmatisme à une conception idéale, RSS devint peut-être le service web le plus déployé du fait de sa simplicité, alors que la complexité des web services des grandes sociétés condamna ceux-ci à un déploiement limité.

De la même manière, les services web d'Amazon furent fournis sous 2 formes : la première adhérant au formalisme de SOAP (Simple Object Access Protocol), la seconde se contentant de fournir un flux de données XML via HTTP, un modèle plus simple désormais connu sous le terme de REST (Representational State Transfer). Alors que les connexions B2B (comme celles reliant Amazon et ToysRUs par exemple) utilise SOAP, Amazon rapporte que 95% des usages de ses web services se font via REST.

C'est la même quête de simplicité qui peut être vue dans d'autres services web « organiques ». La récente sortie de Google Maps en constitue un bon exemple. L'interface de Google Maps bâtie sur les principes d'AJAX a rapidement été décryptée par quelques hackers, qui ont alors utilisé ces données pour bâtir de nouveaux services.

Les données relatives à la cartographie était déjà disponibles via quelques fournisseurs tels qu'ESRI, MapQuest ou encore Microsoft MapPoint. Mais Google Maps a bouleversé cet univers du fait de sa simplicité. Alors que les expérimentations d'utilisation de web services demandait jusque là un contrat entre les intéressés, le fait de laisser les données aisément accessibles a permis à quelques bidouilleurs de réutiliser ces données de manière créative.

Il y a là plusieurs enseignements à en tirer :

1- Mettre en place des modèles de progammation légers permettant la création de systèmes faiblement couplés. La complexité des services web « corporate » est faite pour des systèmes fortement couplés. A contrario, la plupart des applications web les plus intéressantes demeure faiblement couplé, voire fragile. La façon de penser web 2.0 est très différente des visions classiques des systèmes d'informations !

2- Pensez syndication, pas coordination. Les services web simples tels que RSS ou ceux basés sur l'architecture REST cherchent avant tout à laisser des données à disposition, pas à contrôler ce qui se passe à l'autre bout de la connexion. Cette idée est fondamentale vis-à-vis du paradigme même d'Internet dans la mesure où c'est une transposition du principe du « end-to-end » (ndt : principe fondamental de l'Internet Protocol stipulant que l'interprétation des données a lieu à chaque extrémité de la chaîne d'informations).

3- Une conception faite pour être « bidouillable » et « remaniable ». Les systèmes tels que le web, RSS et AJAX ont un point commun : les barrières pour les réutiliser sont très faibles. La plupart des logiciels utiles sont open source, et même quand ils ne le sont pas, ils sont assez peu protégés du point de vue de la propriété intellectuelle. L'option « voir la source » des navigateurs a rendu possible à n'importe qui la possibilité de copier la page de quelqu'un d'autre ; RSS a été conçu pour renforcer les possibilités de l'utilisateur de voir le contenu qu'il désire quand il le désire et non selon le bon vouloir d'un fournisseur d'informations ; les services web les plus puissants sont ceux qui permettent le plus facilement de les utiliser dans des buts pour lesquels ils n'ont pas été conçus. La phrase « certains droits réservés » qui a été popularisé par la licence Creative Commons pour s'opposer à la célèbre « tous droits réservés » est assez représentative de cet esprit.

L'innovation est dans l'assemblage

Les modèles d'affaires « légers » ont une affinité naturelle avec les modèles de programmation et de connections léger. L'état d'esprit web 2.0 n'hésite pas à réutiliser l'existant : un nouveau service tel que housingmaps.com a été élaboré simplement en reliant 2 services existants. Housingmaps.com n'a pas (encore) de modèle d'affaires, mais plusieurs services à petite échelle, Google AdSense (ou peut-être Amazon ou même les deux) lui apporte l'équivalent d'un modèle de rémunération.

Ces exemples donnent un aperçu d'un autre principe du web 2.0, que nous appelons « innovation par l'assemblage ». Quand les composants de base deviennent abondants, il est possible de créer de la valeur en les assemblant de manière nouvelle ou plus efficace. Tout comme la révolution du PC a apporté de nombreuses opportunités d'innovation dans l'assemblage du hardware et a permis à des sociétés comme Dell faisant une science de cet assemblage de vaincre des sociétés dont le modèle d'affaires reposait sur l'innovation dans la production de composants, nous pensons que le Web 2.0 apportera des opportunités pour des sociétés d'entrer dans la compétition simplement en intégrant et en assemblant des services fournis par d'autres.

Suite...

Aucun commentaire: