martes, julio 08, 2008

Serialización e intercambio de datos en Google: Protocol Buffers

Google acaba de publicar Protocols Buffers, unas librerias y utilidades para serializar estructuras de datos y usarlos en comunicaciones o almacenamiento. Similar a las opciones existentes en torno a XML o XDR. Según la documentación del proyecto la idea es una representación que sea más eficiente que las actuales basadas en XML: Menos uso de memoria, mayor velocidad y mucho más simple de usar. Puede verse el formato de codificación que utiliza. Al igual que en el caso de SunRPC o DCERpc, existe un lenguaje de especificación de interfaces (IDL) que permite especificar qué datos se van a serializar. Muy orientado a las comunicaciones, este lenguaje permite especificar mensajes y servicios. El compilador de IDL es capaz de generar código C++, Java o Python. Se ha publicado con la licencia de fuentes abiertas de Apache.

Por último, una perla sobre serializar en XML de los ingenieros de Google:

XML? No, that wouldn't work. As nice as XML is, it isn't going to be efficient enough for this scale. When all of your machines and network links are running at capacity, XML is an extremely expensive proposition. Not to mention, writing code to work with the DOM tree can sometimes become unwieldy.

No hay comentarios: