5.FreshMinutes.IT – Java & IT

5 minutes pour consolider ses connaissances en Java et dans les Nouvelles Technos.
  • Accueil
  • À propos
  • Curriculum Vitae
  • Télécharger Java
  • Contact, Twitter, Tumblr & Buzz

Google Protocol Buffers pour Java

Eric Vialle | Dimanche 20 juillet 2008 | 17:51


Google Buzz

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

  • Optimiser le temps de chargement pour le web mobile avec iPhone, jQTouch, Struts 2 et Tomcat
  • La philosophie du Domain Driven Design User Group et l’état des lieux * Users Group en Février 2010
  • Introduction au NoSQL (et de Redis) ou le compte rendu du NoSQL User Group Paris de Février 2010
  • Gérer le Cache-Control HTTP dans une application Web Java EE avec Tomcat
  • Compiler son code? “It’s so 2000s” ou un apercu de Play et JRebel
  • Le blog change d’adresse
  • Le Paris JUG a fêté ses 2 ans: compte-rendu
  • Activer la compression GZip sur votre serveur Tomcat, afin d’optimiser le temps de chargement de vos pages

Navigation

  • Actualités Flux pour tous les articles classés dans Actualités
  • Architecture IT Flux pour tous les articles classés dans Architecture IT
  • 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é
  • NoSQL Flux pour tous les articles classés dans NoSQL

Promo

Mots Clefs

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

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

Twitter

  • Je recherche un nouveau Job 18 hrs ago
  • More updates...

Livres Pour Aller Plus Loin…

Blogoliste

  • Berthou.com
  • Le blog de hugu
  • PHP – Le Blog de Fatiha
  • 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