ITLAB – Laboratorio IT

SOA (Service Oriented Architecture), Web 2.0, Open Source e Java.

  • Feed

    Feed ITLAB

  • Chi sono

    Mi chiamo Andrea Gumina. Sono laureato in Scienze dell'Informazione e lavoro per un'azienda di consulenza IT. Da qualche anno mi occupo di integrazione di sistemi, di SOA (Service Oriented Architecture) da poco meno di tre.

  • Bookmarks

  • Licenza

  • Statistiche

Da Google un nuovo formato dati: Protocol Buffers

Pubblicato da Andrea Gumina su 2 Febbraio 2009

Google, tempo fa, ha aperto il codice di Protocol Buffers, il formato dati che usa al suo interno. L’accoglienza, stranamente, non è stata delle migliori: in molti si sono chiesti se Google non avesse semplicemente reinventato la ruota.

Protocol Buffers comprende un linguaggio con cui esprimere strutture dati indipendenti dall’implementazione e dal trasporto (rete, disco, ecc.), un compilatore con cui generare il data-binding per un certo numero di linguaggi (Java, C++, Python e altri) e librerie con cui serializzare, de-serializzare e manipolare il pacchetti dati.

Google afferma che questo formato è efficiente (veloce nella serializzazione e nella de-serializzazione), compatto (pacchetto binario dalle dimensioni molto contenute) e compatibile, sia con le versioni precedenti che con quelle successive (i campi sconosciuti sono ignorati, a quelli mancanti è assegnato l’eventuale valore di default); comunque un benchmarking non è mostrato ed è consigliato un confronto con il formato già in uso (che magari si pensa di sostituire).

I dati serializzati con Protocol Buffers possono anche essere salvati su disco o su una base dati, unica accortezza quella di far riferimento alla definizione della struttura: il pacchetto dati serializzato, infatti, non è autodescrittivo (sui documenti è comunque descritta una strategia per conseguire qualcosa di simile).

Protocol Buffers è nato non per competere con JSON (JavaScript Object Notation) , XML, ASN.1, ecc. ma per soddisfare alcuni requisiti – prestazioni, riduzione del traffico rete e spazio disco, efficienza negli aggiornamenti del software e generazione dei data-binding – anche a rischio di perdere i vantaggi della standardizzazione e della leggibilità propri, ad esempio, di XML.

—-><—-

Sullo stesso argomento:

—-><—-

Hai trovato questo articolo interessante? Segui il feed e commenta!

Lascia un commento

XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>