米国時間10月25日、米国サンフランシスコにて、Java開発者向けのカンファレンス「JavaOne」が始まった。オープニングのキーノートセッションは、Java生誕20周年をお祝いするものとなった。
20年前からJavaに貢献するインテルはIoTでJavaを活用
「今回のイベントはJava 8について学ぶ機会です」と言うのは、Java SEの製品責任者であるGeorges Saab氏だ。Saab氏は、Javaの20年間をただ振り返るのではなく、Javaが今どこにあり、今後どんな方向に進むのかを見ていくと言う。そんなJavaが成功した要因の1つが、コミュニティベースで開発を続けてきたこと。Sun Microsystemsやそれを買収したOracleの競合となる企業も含め、多くのベンダーがOracleの開発コミュニティには参画し開発に貢献している。
- TechRepublic Japan関連記事
- 世界のユニークなデータセンター10選
- 目的を失った軍事施設--データセンターとして再び機能するとき
- 企業向けフラッシュとHDDの今後--データセンターなどもNAND型フラッシュに移行へ
貢献しているベンダーの1つが、ハードウェアのイメージの強いIntelだ。Intelは、自社のハードウェアの性能、機能を最大化するために、1995年にはSunからライセンスを受けJavaの活用を始めている。Saab氏の紹介で、Intelのソフトウェア・サービスグループ バイスプレジデントのMichael Green氏が登場。
IntelはJavaを活用することでさまざまなことを実現しており「Javaのエコシステム、Javaのパワーを最も活用している企業です」と言う。OpenJDKにも参加し、Javaを新しい分野に適用している。OpenJDKではJavaがIntelプラットフォームでベストに動くような拡張を行っている。
拡張により実現を目指している1つがInternet of Things(IoT)だ。Intelでは「スマートなIoT」を目指している。2020年には2500億ものデバイスがつながるようになると言われており、そこから生まれるデータは莫大だ。膨大なデータ全てをクラウドに上げるのは現実的ではない。デバイス側でなるべく処理して、データ活用の効率を上げる。それにより、IoTの世界にリアルタイムなアナリティクスを提供できるようになるとGreen氏は主張する。
エッジ側のデバイスやセンサーをスマートにするために、Intelとしてシリコン側で何ができるのか。1つの取り組みが、低消費電力プロセッサ「Quark」でJavaをサポートすることだった。これにより、センサ装置などのエッジデバイスからミドルウェア、サーバに至るまでをEnd-to-EndでJavaがサポートできるようになる。このスマートなIoTを実現するために、Intelでは「IoT Developer Kit」にJavaを入れたのだ。
Java ME担当のRobert Clark氏は、Javaの誕生もエンベデッドから始まったと言う。MEのMはマイクロのMであり、リソースが限られていても動くJavaだ。サイズは128KBあれば動く。機能的にはJava SEのサブセットであり、これを使えばクラウドにも容易にコネクトできる。「Java MEを使って、IoTの開発を手掛けてほしい」とClark氏。
Java MEを使えば、どんな種類のデバイスでも、どんなネットワークにも容易につなげる。つないだ先のクラウドサービスを使って、リアルタイムな分析をサポートできる。その結果を既存のエンタープライズのアプリケーションと連携する際にも、Javaが使える。Clark氏も「デバイスが多くなればデータも増え、そうなるとデバイスから生まれるデータ全てを送りたいわけではない」と言う。デバイスをつなぐだけでなくエッジ側でデータにフィルタをかけ、重要なものだけをクラウドに送れるようにするのもJava MEの役割だ。
「Java ME 8は、IoT Readyです。これで、アナリティクスをエッジに持っていくことができます。最新のJava ME 8.2は、すでにダウンロードできます。すでにJava ME 9のプランも出ていて、Java ME 8.3についてはクラウド上でエンベデッドができるようにもなります」(Clark氏)
ゴスリンがユニバーサルデバイスを作ろうとしてJavaが生まれた
キーノートの最後には、Sun Microsystemsの創業者で最高経営責任者(CEO)だった、Scott McNealy氏がJava 20周年のお祝いのメッセージをビデオで届けた。
McNealy氏は、Javaが生まれてから20年が経過しその間に素晴らしい進歩があったと言う。Javaそのものは、極めて革命的なものであり、どこでも動くことが画期的なもの。最初からオブジェクト指向であり、Javaカードからメインフレームまで動く。「火星に着陸したスペースシップにもJavaは使われていたのです」とMcNealy氏は誇らしげに語る。

Sun Microsystemsの創業者で最高経営責任者(CEO)だった、Scott McNealy氏
Javaのこの成功は、Sunだけの貢献ではなくIT業界全体の協力で実現できたもの。家電メーカーからコンピュータのチップベンダーまで、多くの企業が協力した結果でもある。「Javaの初めの頃は大変でした。まだまだ大変なことは続くかもしれませんが」とMcNealy氏。
ここから、マクネリ氏お得意のジョークが飛び出した。お題は「Java開発者の悪夢トップ12」。Oracle Database 12cを意識して10を消し、12にしている。進め方は、彼がSunのCEO時代によくやっていたように、カードに1つずつ記述したコメントを読み上げる方式。ステージ上で行う際には、読み終わったカードをポイポイ投げ捨ててしまう姿が思い浮かんだ。
そして、悪夢の栄えある1位は「The former CEO and current CTO is making ship to shore calls to you on a regular basis.」と言うもの。CEOからCTOになったLarry Ellison氏を茶化すもので、船からしょっちゅう電話がかかってくることだと。Ellison氏をこのような冗談ネタにできるのは、いまやマクネリ氏くらいしかいないかもしれない。
McNealy氏は、Javaがどうやって生まれたかのエピソードも披露した。優秀なエンジニアだからと採用したジェームズ・ゴスリン氏、しかし彼はすぐに辞めたいと言い出した。話を聞いてみるとコンシューマーの仕事がやりたいと言う。それではと辞めさせないために、1年に1回進捗を報告すれば好きなことやっていいということになった。
すると彼はすぐにユニバーサルデバイスを作ると言う。そのコンシューマ向けのデバイスを作るために生まれたのがJavaという開発言語であり、さらにはJava VMも作ることになったのだとか。
デバイスは世の中に普及することはなかったが、JavaはブラウザのNetscapeと組み合わせて「ウィルスのように広がりました」と同氏。もう1つのJava成功の要因について、McNealy氏もまたコミュニティの存在だと言う。こういったものは資本主義的ではダメだとも。
「Javaのコミュニティは、正に業界を1つにまとめました」(同)
既に、130億のデバイスがJavaでつながっていると言う。McNealy氏の子どもも学校でJavaのプログラミングをするようになったのだとか。最後に「現状では、大半のアプリケーションがJavaで開発されています。基幹系の仕組みもJavaで、国防総省もJavaを使っています。素晴らしいソフトウェアの開発者たちが、新しい世界を創っています。本当にJavaの20周年、おめでとう」と祝福した。