5.FreshMinutes.IT – Java & IT

5 minutes pour consolider ses connaissances en Java et dans les Nouvelles Technos.
  • Accueil
  • À propos
  • Télécharger Java
  • Contact

Google Protocol Buffers pour Java

Eric Vialle | Dimanche 20 juillet 2008 | 17:51


Le Protocol Buffers (ou Protobuf) est un format de données créé et utilisé par Google. Il se présente comme une solution alternative au XML, comme langage d’échanges de données entre système d’informations hétérogènes. Il existe actuellement des API pour ce format en C++ et Java. Google annonce des performances bien supérieures à l’utilisation du XML (aussi bien DOM que le véloce Sax). Son poids de fichier serait 3 à 10 fois plus faible que XML et son parsage de 20 à 100 fois plus rapide. Et tout ceci en Open Source ;) .

Vidéo de présentation en Anglais, par Google:

Au lieu de refaire un tutorial, je vous conseille de lire le tutorial de Google, qui est très complet.

Celui s’articulera autour d’un nouveau format de fichier, définissant la structure d’un objet: les fichiers .proto que l’on pourrait comparer à des fichiers WSDL (pour les Web Services).

  1. package tutorial;
  2.  
  3. option java_package = "com.example.tutorial";
  4. option java_outer_classname = "AddressBookProtos";
  5.  
  6. message Person {
  7.   required string name = 1;
  8.   required int32 id = 2;
  9.   optional string email = 3;
  10.  
  11.   enum PhoneType {
  12.     MOBILE = 0;
  13.     HOME = 1;
  14.     WORK = 2;
  15.   }
  16.  
  17.   message PhoneNumber {
  18.     required string number = 1;
  19.     optional PhoneType type = 2 [default = HOME];
  20.   }
  21.  
  22.   repeated PhoneNumber phone = 4;
  23. }
  24.  
  25. message AddressBook {
  26.   repeated Person person = 1;
  27. }

Grâce aux API fournies par Google, vous pourrez créer des automates afin de sérialiser et désérialiser aisément ces données. L’utilisation des protocoles buffers passant pas l’utilisation des automates n’en fait pas encore un outil souple car lié à une structure donnée et unique. Une modification du modele de données entraine une regeneration de l’automate.Parions sur l’arrivée prochaine de taches ant permettant d’améliorer le confort du développeur, mais aussi d’une interopérabilité avec l’univers DotNet.

Sources:

  • Page officielle du Protocol Buffers sur Google Code
  • Google propose une alternative à XML
  • Blog de Sylvain sur le Protobuf.
  • Quelques retours sur le Protocol Buffers


Catégories
Java, Tutoriel
Tags
google, Java, open source, protobuf, protocol buffers
Flux rss des commentaires
Flux rss des commentaires
Trackback
Trackback

« La nouvelle version d’Eclipse 3.4 est sortie Java is Number 1 »

4 Responses to “Google Protocol Buffers pour Java”

  1. Od. dit :
    Lundi 21 juillet 2008 à 10:48

    De ce que j’ai pu lire, concernant l’optimisation de la bande passante il existe, à mon avis, des alternatives tout aussi performantes, voire meilleures (WBXML, Hessian, …) pour ce qui est du transfert d’info hierarchisées.

    Donc, sauf incompréhension de ma part (ce qui ne serait pas étonnant ;) le principal avantage de ce protocole serait pour la sérialisation de données sur un file system ?

    Maintenant de la à ce que ca devienne un standard il va y avoir du chemin, les dév de Google se seront au moins fait plaisir ;)

  2. Eric Vialle dit :
    Lundi 21 juillet 2008 à 19:22

    l’avantage de protobuf est sa vitesse de sérialisation/deserialisation d’objet, son interopérabilité (Java, C++, Python, et on susure C#) mais aussi son côté ouvert.
    Google l’utilise déjà pour ses propres besoins.

    Toutefois, je ne connais pas WBXML, Hessian. Cela mérite que je m’y intéresse!

  3. 5 Fresh Minutes IT – Java & IT » Le nouveau langage Go de Google est un « Killer Language » ? dit :
    Mercredi 11 novembre 2009 à 17:19

    [...] mais qui semblent boudées par la communauté de développeurs. Je pense notamment à Google Protocol Buffer, comme alternatives aux communications XML des Web Services, ou encore de Google XML Pages [...]

  4. Le nouveau langage Go de Google est il un “Killer Language” ? – 5.FreshMinutes.IT – Java & IT dit :
    Vendredi 5 février 2010 à 1:50

    [...] mais qui semblent boudées par la communauté de développeurs. Je pense notamment à Google Protocol Buffer, comme alternatives aux communications XML des Web Services, ou encore de Google XML Pages [...]

Leave a Reply

Cliquer ici pour annuler la réponse.

Articles récents

  • Activer la compression GZip sur votre serveur Tomcat, afin d’optimiser le temps de chargement de vos pages
  • Récupérer l’adresse IP du client avec Struts 2
  • Afficher une liste de beans avec Struts 2
  • Google Chrome OS devrait sortir d’ici un an (et non une semaine)
  • Génerer un fichier JSON rapidement et facilement avec Struts 2.1
  • Rediriger le port 8080 de Tomcat vers le port 80 d’Apache 2 avec un sous-domaine
  • Trouver un élément proche parmi plusieurs éléments
  • Comment Google SPDY va accelerer le Web?

Navigation

  • Actualités Flux pour tous les articles classés dans Actualités
  • Base de données Flux pour tous les articles classés dans Base de données
  • Java Flux pour tous les articles classés dans Java
    • Dévelopement Tips Flux pour tous les articles classés dans Dévelopement Tips
    • EDI Flux pour tous les articles classés dans EDI
    • J2ME Flux pour tous les articles classés dans J2ME
    • J2SE Flux pour tous les articles classés dans J2SE
    • Java EE Flux pour tous les articles classés dans Java EE
    • Tutoriel Flux pour tous les articles classés dans Tutoriel
  • Non classé Flux pour tous les articles classés dans Non classé

Promo

Mots Clefs

adobe apache application web Base de données benchmark bugs c# checkstyle dérivation eclipse findbugs find bugs flex google innodb jar Java Java User Group java web start JVM microsoft moonlight mysql netbeans object objet open source optimisation oracle performance plugin pmd polymorphisme qualité recrutement rich internet application serveur sgbdr silverlight ssd struts sun test Tomcat web

WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.

Twitter

  • Les écrans des #NexusOne brisés comme les #iPhone http://bit.ly/dbq1Jf 1 hr ago
  • More updates...

Promo

Blogoliste

  • Berthou.com
  • Java, Php et cie…
  • JH-Net
  • Le blog de hugu
  • PHP – Le Blog de Fatiha
  • Projets Nouvelles Technos
  • techno.blog(java4it)
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
rss Flux rss des commentaires valid xhtml 1.1 design by jide powered by Wordpress get firefox