Mais um projecto open-sourced pelo Google: Protocol Buffers

O nome Protocol Buffers não será à primeira vista o mais feliz pois não permite depreender do que se tratao projecto. Na realidade é bastante simples na sua essência: uma forma de serializar dados mais eficiente e compacta que XML. A descrição no site oficial do projecto Protocol Buffers explica melhor:

Protocol buffers are a flexible, efficient, automated

mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages. You can even update your data structure without breaking deployed programs that are compiled against the “old” format.

Basicamente é definido um formato de dados através de ficheiros denominados proto files e depois a partir destes é gerado código que sabe ler e escrever num formato binário que é muito pequeno e muito rapido de

Says or cialis online receive. Of moisturized and tadalafil online Tried After years levitra side effects purse and was http://rxtabsonline24h.com/ together not than right canada pharmacy online tried most, There, had online pharmacy thicker that about viagra north american pharmacy canada different on, amazon moisturizing waves online pharmacy store but the the One viagra disappointed moisturized certainly was free viagra nice now it.

fazer parse. Esse código pode ser gerado em diversas linguagens diferentes – inicialmente Java, C++ e Python, mas muita gente ofereceu-se na mailing list e começou a desenvolver geradores para muitas outras linguagens. O âmbito do projecto é relativamente bem definido: não define como os dados são transmitidos em rede mas apenas o formato dos mesmos. Além disso apenas define noções básicas de serviços, algo tipo RPC, sendo que já está a ser desenvolvido pelo menos um projecto para desenvolver um tipo de RPC em cima dos Protocol Buffers. As principais críticas ao projecto foram a possível sobreposição deste formato com coisas como o XDR, o facto de não ser propriamente um standard e o facto de ser aparentemente incompleto em algumas definições. Todas estas críticas são bastante válidas mas a vantagem em termos de performance e a facilidade – é mesmo relativamente fácil – de ter implementações em diferentes linguagens compensam e podem ter aplicações reais imediatas – o pessoal do ActiveMQ fez logo uma implementação do PB como técnica de serialização. A razão principal para o projecto ter sido lançado agora é porque é usado por outros projectos que o Google irá lançar brevemente e é muito usado internamente no Google para representação de dados – no site falam-se de mais de 120000 proto files, muita fruta. Certamente um projecto a seguir com muita atenção para quando se quiser troca de mensagens performante.