21 août 2008

Plain Old Binary Services


Les services web sont venu pour nous sauver de tout ces protocoles binaires, propriétaires et non-interopérant qui ont pourri l'informatique depuis tant d'année (alleluïa).

Pourtant, les performances n'étant pas toujours au rendez-vous, et le réseau véhiculant une quantité d'entêtes soap WS-TrucMuch qui fait peur, de nombreux petits malins cherchent à améliorer les choses.

Permière solution : SOAP 1.2 étant basé sur InfoSet (une norme de représentation pour un arbre de données) et non sur XML (une façon textuelle de représenter ce même arbre), rien n'interdit de véhiculer le message SOAP encodé en binaire par FastInfoset. Non seulement le message est très fortement réduit en taille, mais le parsing est nettement plus efficace.

Seconde solution : SOAP over TCP (développé par SUN), disponible pour .NET. Il s'agit cette fois de simplifier la couche de transport, puisqu'on s'est donné comme base de ne pas en dépendre. Donc autant faire au plus simple, et attaquer en TCP - j'attend de pied ferme SOAP sur IP ;-)

En combinant les deux, les perfs deviennent probablement exceptionnelles... Un format d'encodage binaire, basé sur un équivalence ASN.1 du schéma XML, et un transport sur TCP - je ne sais pas pour vous, mais moi ça me rappelle furieusement Tuxedo ou Corba !

Qui réussira à nous faire passer RMI/IP pour du "service web" ?

1 commentaires:

Gildas Cuisinier ( Hikage ) a dit…

Bon pour le format binaire, c'est un choix comme un autre. Même Google propose une alternative au XML avec Protocol Buffer pour des questions de perf.

Par contre TCP, oui mais on retombe sur les problèmes de firewall rapidement avec l'ouverture des ports.