ZDNet Japan Brand Site:
ZDNet Japan
builder

グーグル、XMLに代わるデータ交換ツール「Protocol Buffers」をオープンソース化

グーグルは、XMLの代替を目指すデータ交換フォーマット「Protocol Buffers」のオープンソースプロジェクトを立ち上げた。

文:Martin LaMonica(CNET News.com)
翻訳校正:矢倉美登里、高森郁哉  2008年7月9日 12時52分

 どうやらGoogleにとって、XMLは力不足になってしまったようだ。

 Googleは米国時間7月7日、データ交換フォーマット「Protocol Buffers」のオープンソースプロジェクトを立ち上げたと発表した。

 Protocol Buffersの目的は、サーバ間で多様なフォーマットのデータを高速で共有する際の問題を解決することだ。Protocol Buffersはまた、Googleのような企業が、接続されたサーバのネットワーク上で、一時的なダウンを招くことなくソフトウェアをアップグレードできるよう設計されている。

 Googleは当初、XMLを共通言語として利用し、異なるサーバ間でデータをやり取りする考えだった。だが、XMLを使った作業は複雑になる場合がある。さらに重大な問題として、XMLで作成された大容量のファイルは、アプリケーションのパフォーマンスを低下させる可能性がある。

 Protocol Buffersは、XMLの代替手段として、ネットワーク上でやりとりされるデータ形式や、ハードディスクに保存されるデータ形式を記述するものになる。GoogleのソフトウェアエンジニアリングチームのKenton Varda氏によると、Protocol BuffersはXMLと異なり、コンパクトなフォーマットで、簡単に利用できるよう設計されているという。

 Varda氏は、Googleのオープンソースプロジェクトなどを扱うブログに、次のように書いている。

 「Protocol Buffersを利用すれば、特別な定義言語でシンプルなデータ構造を定義してから、コンパイルして、データ構造を表すクラスを好みの言語で作成できる。これらのクラスは、十分に最適化されたコードを使用して、極めてコンパクトなフォーマットでメッセージの構文解析やシリアライズができる。何にも増して、これらのクラスは簡単に使える。各フィールドには、シンプルなget(取得)とset(設定)のメソッドがある。準備ができたら、1回メソッドを呼び出すだけで、全体をシリアライズしてバイト配列や入出力ストリームにする(または、バイト配列や入出力ストリームから構造解析する)ことができる」

 Googleのウェブスパムチームを率いるソフトウェアエンジニアのMatt Cutts氏は7月7日夜、Protocol Buffersは自動的にJavaやPython、C++のコードを生成するとブログに書いている

 「バイナリフォーマットでデータをエンコードする、非常にコンパクトなツールとしてProtocol Buffersを考えてほしい。プログラマーがプロトコルや構造化されたデータをシンプルに記述すると、Googleのコードが、C++やJava、Pythonでクラスを自動作成し、プロトコルの読み書きや構文解析を行ってくれる。プロトコルの緩衝物(protocol buffer)があれば、ディスクに書き込んだり、ネットワーク経由で送ったり、面白いことをいくらでもできる。どんな中規模企業も(それに、かなり多くの新興企業も)Protocol Buffersが非常に便利であることに気づくはずだ」

 Protocol Buffersは、「Apache Software License 2.0」で利用できる。

この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ

関連情報

ホワイトペーパー
http://japan.zdnet.com/news/internet/story/0,2000056185,20376854,00.htm
グーグル、XMLに代わるデータ交換ツール「Protocol Buffers」をオープンソース化

Intel Video Series

sponsored by Intel
  • 13. ソースチェック
    この4分間のビデオでは、Intel Parallel Studioの一部であるIntel C++コ...
  • 14. OpenMP 3.0
    この3分間のビデオでは、Intel Parallel Composerで利用可能なOpeMP 3.0...

ZDNet Japan ニューズレター

企業情報システムの選択、導入、運用管理に役立つ情報を毎朝メール配信します。

ニューズレターの登録・登録情報変更 »