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

文:Martin LaMonica(CNET News.com) 翻訳校正:矢倉美登里、高森郁哉2008年07月09日 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の記事へ

CNET Japanの記事を毎朝メールでまとめ読み(無料)

-PR-企画特集

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]