2004年3月にSun Microsystemsに移籍したTim Bray氏は、現在はウェブテクノロジ担当ディレクターとして「3つの仕事」に従事している。Bray氏といえばXMLの父としてあまりにも有名だ。カナダのGIS(地理情報システム)ベンダーであるAntarctica Systemsの創設者兼CTO(最高技術責任者)として来日したときにもお会いしたが、今回JavaOne会場でSunでの仕事について聞くことができた。
Bray氏が取り組んでいる「3つの仕事」とは、次のとおり。
- 新しいウェブ技術である「Atom」の推進
- JavaVMによるJava以外の言語のサポート
- パラレルプログラミングの簡素化
まず最初のAtomとは、ウェブ上のコンテンツを配信するためのXMLフォーマットを標準仕様とし体系化したもの。RSSに似た仕組みだが、すでにIETFが2005年12月に「RFC4287」として仕様を公開しており、現在ではGoogleやYahooなどの各種サービスで採用されている。Bray氏は、「約5年ほど前に登場したRSSは大きな成功を果たした。しかし、より簡単にコンテンツを配信できる仕組みが必要だと考えた」と話す。
「HTTPベースでREST(REpresentational State Transfer)に準拠したAtomは、ウェブコンテンツの作成、配信、修正、削除などのコンテンツ配信を簡単に実現できる。デジカメや携帯など、あらゆるデバイスに実装することができ、ボタンひとつでコンテンツを配信することが可能になる」(Bray氏)
次にJava VMにおける非Java言語のサポートは、PHPやRuby、Ruby On Rails、Pythonなどの言語で書かれたアプリケーションをJava VM上で稼働させることを目的としたプロジェクト。「Java以外にも人気の高い開発言語はたくさんある。こうした開発者も受け入れていくのがSunの目指す方向性だ」とBray氏は言う。
「たとえば、PHPは非常にポピュラーな開発言語だ。しかし、セキュリティの面やメンテナンス性において課題がある。そのためPHPで基幹システムを構築することはオススメできない。そこでJavaテクノロジにより、各言語の課題を補完できる仕組みを提供していくことが重要になる」(Bray氏)
そして3つ目の取り組みであるパラレルプログラミングの簡素化では、マルチコアに最適化されたプログラムを容易に開発するための仕組みを実現する。Bray氏は、「プロセッサは、ムーアの法則に従い年々、高速化を実現している。これにより今年遅かったプログラムが来年速くなることはあっても、こうした対応は本質ではない」と話す。
「簡単なことではないが、並列化するプロセッサに最適化されたプログラミング手法を提供することが重要になる。たとえば、Google MapReduceを実現しているオープンソースの分散フレームワークである“Hadoop”やEricsonが開発した並列処理のための言語である“Erlan”などのテクノロジには非常に注目している」(Bray氏)
今後、この3つの仕事を「いかにJavaに統合していくか」がBray氏にとって最大の関心事であり、そのための取り組みのいくつかが、明日2007年5月8日から11日までの4日間、カリフォルニア州サンフランシスコで開催される「2007 JavaOne Conference」でも明らかにされる予定という。