グーグル、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の記事へ

  • このエントリーをはてなブックマークに追加
関連キーワード
クラウドコンピューティング

関連ホワイトペーパー

SpecialPR

  • ビジネスの継続的な成長を促す新たなITのビジョン

    多くの企業においてITに求められる役割が、「守り」のコスト削減から「攻め」のビジネス貢献へとシフトしつつある。その中でIBMが提唱する新たなビジョンEnterprise Hybrid ITとは?

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!