Sweetohm

Michel Casabianca


J’ai eu à travailler récemment avec (ou contre ?) SOAP et je dois dire que je ne suis vraiment pas tombé sous le charme ! Voici un bref résumé des mes réflexions à propos de cette belle techno :

Le standard est vaste, trop vaste. On y définit des concepts aussi étranges et inutiles que des sparse arrays (tableaux vides pour l’essentiel) ou encore des variables in/out. Les premiers sont tout simplement inutiles dans la mesure où si un tableau est vide, il faut envisager une autre structure de données. Quand aux variables in/out, c’est un concept des années 70 (voire 60) qui rend le code illisible (parcequ’un appel de méthode modifie des variables comme bon lui semble). Inutile de dire que la plupart des implémentations n’implémentent pas de telles âneries. On ne peut même pas compter sur tous les types de base… L’interopérabilité me semble dans ces conditions plus qu’approximative.

D’autre part, les messages XML sont extrêmement verbeux avec des namespaces à n’en plus finir (mais à quoi peuvent-ils donc servir ?). Non seulement cela augmente inutilement la taille des messages, mais en plus, cela les rend totalement illisibles.

Les implémentations testées (Apache SOAP et GLUE) m’ont semblées peu matures et pour ma part, je me garderais bien de le mettre en production. La palme revient en la matière à Apache SOAP qui utilise DOM pour parser les messages (mais je n’ai pas le code source de GLUE pour vérifier qu’ils utilisent SAX).

En conclusion, je dirais que c’est encore une souris qui s’est transformé en éléphant. Je m’en vais investiguer du côté de XML RPC qui me semble beaucoup plus réaliste.