Conception d' un format/procotole : les 7 clés du succès par Adam Bosworth
Adam Bosworth a été vice président d'une division de Google jusqu'à récemment. Il a été très impliqué dans la conception et l'implémentation de nombreux standards comme par exemples ODBC, OLE DB ou XML. Il a aussi participé à l'élaboration de XML Schema qu'il considère comme un semi-succès (échec).
De toutes ces expériences ,réussite comme échec, il a fait récemment le point.
Sur son blog, il refait le point sur les 7 clés du succès de conception d'un standard en format/protocole:
- Garder le standard aussi simple et « stupide » que possible:
les probabilités d'échec sont au moins le carré du degré de complexité de la norme mais aussi le carré de la taille du comité de rédaction de la norme.- Les données échangées doivent être lisibles et faciles à comprendre:
les standards sont adoptés par des ingénieurs fabriquant du code pour les implémenter. Ils ne peuvent le réaliser que s'ils peuvent facilement le comprendre (voir point 1) et facilement le tester. C'est pourquoi, au cours des 15 dernières années, les normes basées sur du texte comme HTTP, HTML, XML, et ainsi de suite ont gagné.- Les standards fonctionnent mieux quand ils sont «*ciblés*»:
Une partie du génie du web, c'est que Tim Berners-Lee a correctement séparé le protocole (HTTP) de ce que le navigateur devrait afficher (HTML). C'est un peu comme la séparation d'une enveloppe et de la lettre à l'intérieur, elle est fondamentale et nécessaire. Les normes qui incluent tous les niveaux ou les couches entassés en un ensemble ont tendance à échouer.- Les standards devraient utiliser des encoding précis:
ODBC a été précis sur les types de données.- Toujours avoir une implémentation pratique effectivement utilisée dans le cadre de conception de la norme:
Il est difficile de savoir si quelque chose fonctionne réellement ou peut être modifié dans un but pratique jusqu'à ce que vous ayez réellement à le faire.- Faire passer en Hystérésis (définition ) face à l'imprévu:
C'est quelque chose que les formats web font particulièrement bien. S'il y a quelque chose dans HTTP que le récepteur ne comprend pas, il l'ignore. Il ne bloque pas. S'il y a quelque chose en HTML que le navigateur ne comprend pas, il l'ignore. Il ne bloque pas.- Faire une publication libre et publique sur le Web avec de nombreux exemples sur le site même:
Les ingénieurs sont seulement des êtres humains. Ils apprennent par l'exemple et si le standard est conforme aux points ci-dessus, les exemples seront clairs et précis.
Source
Adam Bosworth’s Weblog
Lire aussi
La rubrique XML/XSL et SOAP (actu, forum, tutos) de Développez
Et vous ?
Que pensez-vous de cette analyse ? Certains points vous paraissent superflus ou au contraire cette liste vous paraît-elle incomplète ?
Voyez-vous des exemples qui confirment ou infirment cette analyse ?
Partager