google protocole tampons vs json vs XML

Je voudrais connaître les mérites et les mérites de

  • Tampons de protocole Google
  • JSON
  • XML

Je veux implémenter un framework commun pour deux applications, une en Perl et une seconde en Java. Donc, aimerait créer un service commun qui peut être utilisé par les deux technologies, à savoir Perl et Java.

Les deux sont des applications Web.

S’il vous plaît partagez-moi vos précieuses idées et suggestions à ce sujet. J’ai vu beaucoup de liens sur Google mais tous ont des avis mitigés.

Json

  • lisible par l’homme / modifiable
  • peut être analysé sans connaître le schéma à l’avance
  • excellent support du navigateur
  • moins verbeux que XML

XML

  • lisible par l’homme / modifiable
  • peut être analysé sans connaître le schéma à l’avance
  • standard pour SOAP etc.
  • bon support d’outillage (xsd, xslt, sax, dom, etc.)
  • assez verbeux

Protobuf

  • données très denses (petite sortie)
  • difficile à décoder de manière robuste sans connaître le schéma (le format de données est ambigu en interne et nécessite un schéma pour clarifier)
  • traitement très rapide
  • non destiné aux yeux humains (binary dense)

Tous ont un bon support sur la plupart des plates-formes.

Personnellement, j’utilise rarement XML de nos jours. Si le consommateur est un navigateur ou une API publique, j’ai tendance à utiliser json. Pour les API internes, j’ai tendance à utiliser protobuf pour les performances. L’offre à la fois sur une API publique (via des en-têtes ou des points de terminaison séparés) fonctionne également bien.