XMLに代わるか「Protocol Buffers」

 またしてもGoogleが、今度はXMLに代わるデータ交換のフォーマットとして「Protocol Buffers」なるものを提案しているらしい。

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

 そもそもXML自体が普及しているといえるのかどうか、Web上で表面的に扱うデータに関してはSaaSなどを介して普及しているといえるかもしれない。しかし手動で記述するような場合の、WebページにおけるXHTMLなどは意外に普及しているとはいえずに、それが予定のなかったHTML 5の策定を進めるきっかけとなった。より重要なものはデータベースである。これは独自のフォーマットといってもよく、XMLはデータベースとの間のデータの一時的な変換ツールみたいな扱いである。ちょうどファイル交換のときのCSVファイルのような立場かもしれない。表には表れにくいXML形式がネイティブのメジャーなデータベースというものは、なかなか普及していない


 一般に普及するようになるものはOfficeのファイルフォーマットであるODFとOpen XMLである。しかしこれもOpen XMLがISO標準に認可されたことにより、ダブルスタンダードのようなおかしな状況になりつつある。この場合フォーマットの選択というより、ソフトウェアの選択の問題になってしまっているし、Windowsか非Windowsかの問題にまで関係しそうである。
 他には業界ごとのXML形式がどれだけ浸透しているかになる。個人的には数式データのMathMLなどがなかなかブラウザが標準で対応していないことに残念さを感じる。いまだにTeXから数式を画像にしてWebページに貼り付けるかPDF文書にする方が早かったり安全だったりすることが、MathMLが普及していないことの表れなのかと思える。


 さてGoogle提唱の「Protocol Buffers」は、XMLがテキスト形式だったのに対して、コンパlクトなバイナリ形式にするという。データ構造を定義してからコンパイルすることによりクラスを生成するという。クラスというからあとはオブジェクト指向言語の要領でデータの処理ができるのだという。今のところ、そのハンドリングができる言語はC++,Java,Pysonになるという。これはGoogle好みの言語のようである。PHPなどは入ってない。


 GoogleのWebアプリケーションから見ると、XMLはもはや力不足なので、より強力なデータ交換フォーマットを提案してオープンソースとして世に問うたというところだが、XMLの遅々たる普及と相俟ってこの「Protocol Buffers」がXMLに代わる標準となりうるかどうか、Googleのローカルな仕様にしかならないのか、結論が出るには当分時間はかかりそうである。