News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 3/15/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
ASP.NET MVC 2 Ships
ASP.NET MVC 2 has shipped.
03/12/2010 10:26 AM EST

Microsoft plans 'open' Silverlight analytics framework
Microsoft is going to announce a multipurpose analytics framework for Silverlight at MIX.
03/11/2010 09:51 AM EST

About CSS processing
Two sites that lead to a startling CSS conclusion.
03/10/2010 02:29 AM EST

 

Events calendar tab
3/14/2010 to 3/18/2010
Seattle, Wa.
SHARE

3/15/2010 to 3/18/2010
Santa Clara, Calif.
TechWeb

3/15/2010 to 3/17/2010
Las Vegas
Microsoft

3/16/2010 to 3/19/2010
Las Vegas
Penton Media

3/17/2010 to 3/19/2010
Las Vegas
TechTarget


 
Most Read Latest News Blog Resources

Google open-sources XML alternative




July 16, 2008 — 
Google’s servers are awash with thousands of different data formats—so much so that the company claims XML is not efficient enough to encode it all. Instead, it has created a new interface description language (IDL) and binary format for data interchange that it is now sharing as an open-source project.

Google made code and documentation for the Protocol Buffers format available on July 7, under the Apache 2.0 open-source license.

Google is using Protocol Buffers for communicating among its internal systems that use Remote Procedure Calls systems and accessing persistent data storage. Developers can define data structures using its definition language and then compile them, producing classes that represent those structures in a particular programming language, explained Google engineer Kenton Varda in a post to the company’s software engineering team blog.

The classes, which are designated as .proto files, can read and write structured data from data streams. At this time, language support is limited to C++, Java and Python.

Varda noted that Protocol Buffers is an IDL that was designed for simplicity. IDLs are used to create a communications bridge between programs that are written in different languages or reside on different operating systems.

The framework compiles the IDL code—an intermediary format—into a binary format, which is used as a transmission protocol, explained Forrester senior analyst Jeffrey Hammond.

“By sticking to a simple lists-and-records model that solves the majority of problems and resisting the desire to chase diminishing returns,” Varda wrote, “we believe we have created something that is powerful without being bloated. And, yes, it is very fast—at least an order of magnitude faster than XML.”

Google’s documentation claims that structured data can be represented in a third to a 10th of the space required, and transmission times cut to a 20th or even a 100th of the time, compared to XML.

According to Varda, Google rejected XML because it is not efficient at the scale at which it operates and is an expensive proposition when servers and networks are running at full capacity. Also, writing code to work with the DOM tree can potentially become unwieldy.

The documentation states that Protocol Buffers were initially developed in 2001 to address an index server request/response protocol. Since then, it has become, symbolically, Google’s lingua franca for data, with 48,162 different message types defined in the Google code tree across 12,183 .proto files, according to the documentation.

But industry watchers aren’t walking away from XML. “Protocol Buffers provides a more lightweight approach to serializing data than XML provides and also resolves some of the more niggling issues with XML," acknowledged Jason Bloomberg, who is one of two managing partners at ZapThink. “But on the other hand, they are not as powerful as XML and are not as yet nearly as widely adopted,” he added.

XML’s text-based nature is bound to make it verbose and prone to overhead, remarked Forrester’s Hammond.

Bloomberg observed that Google’s sheer size might encourage widespread adoption of Protocol Buffers, where earlier approaches may have languished due to lack of interest.

The fact “that Google is championing Protocol Buffers may be sufficient to establish [it] as a viable alternative to XML,” he said.

In contrast, Hammond is reserving his judgment on would-be XML alternatives, including Protocol Buffers and Facebook’s Thrift for now.

Although he called them “reasonable optimizations” when an end-to-end connection exists, he doesn’t believe they’ll go mainstream anytime soon. “Unless their use is widely standardized, we're liable to see as many as a dozen different alternatives pop up [as] the various Web players look to compete on securing control over an optimized Web communication API.”

Indeed, one competing specification is already making inroads, said another analyst. JSON (JavaScript Object Notation) is a strong example of a new format upsetting the XML status quo in software development, according to RedMonk analyst James Governor.

JSON, which is optimized for server-to-browser communication, has a mutually beneficial relationship with AJAX, he explained. “As AJAX has picked up, so has JSON. The result: far more performant and rich browser-based apps,” he wrote in an e-mail.


Related Search Term(s): Open sourceXMLGoogle


Share this link: http://www.sdtimes.com/link/32555
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading