幕を開けた“Internet of Things”の時代。Javaの適用領域、Java開発者の活躍の場はさらに広がる──Javaエバンジェリスト 寺田佳央氏と振り返る「JavaOne 2013」

Oracle Java & Developers編集部
2013-11-13 11:00:00
  • このエントリーをはてなブックマークに追加

2013年9月、米国オラクルは「JavaOne 2013」を開催。"Internet of Things"を支える技術としてJavaの適用領域をさらに拡大していくと宣言した。Javaエバンジェリストの寺田佳央氏とともにJavaOne 2013を振り返る。

92カ国の開発者が参加した世界最大のJava開発者イベント。キーノートの会場はモスコーニ・センターへ

 2013年9月22日~26日(米国時間)の5日間、通算18回目となるJava開発者の祭典「JavaOne 2013」が米国サンフランシスコで開催された。市街中枢の3つのホテルをセッション会場にして催されたJavaOne 2013には、世界92カ国から多数の開発者が参加。400を超えるテクニカル・セッションが実施される大規模なイベントとなった。

日本オラクル シニアJavaエバンジェリストの寺田佳央氏
日本オラクル シニアJavaエバンジェリストの寺田佳央氏

 今年のJavaOneが昨年と大きく異なっていた点の1つは、「基調講演(キーノート)が、かつてのようにモスコーニ・センターで実施されるようになったこと」だと日本オラクル シニアJavaエバンジェリストの寺田佳央氏は語る。

 「一昨年にオラクルがJavaOneの主催者となって以来、Javaコミュニティからのフィードバックを反映して運営に工夫や改善を凝らしてきました。そうした工夫/改善の1つとして、昨年まで市街中枢部のホテルで実施していたキーノート、具体的にはJavaの今後の戦略や方向性を示す"ストラテジー・キーノート"、Javaの技術的な側面にフォーカスした"テクニカル・キーノート"といった主要なキーノートを再びモスコーニ・センターで実施することになりました」(寺田氏)

 以降、これら3つのキーノートの内容を中心に、JavaOne 2013の主なポイントを紹介していこう。

Javaは"Internet of Things"の時代を支える無二の技術

 JavaOne 2013の開催テーマは、昨年と同様に"Make the future Java(これからのJavaを作る)"だ。

 「近年、IT業界の枠を超えた広範な領域でクラウドやビッグデータの活用をはじめ、さまざまな変化が生じています。それらの変化を加速する技術としてJavaをさらに発展させていくべく昨年から"Make the future Java"というテーマを掲げて取り組んできたわけですが、その中で、Javaが今後大きな役割を果たしていくべき領域、一層注力していくべき領域が明らかになってきました。そこで、今年も同様のテーマを掲げ、Javaを大きく発展させるための取り組みをさらに推し進めていこうと誓ったのです」(寺田氏)

 では、「Javaが大きな役割を果たしていくべき領域、注力すべき領域」とは何か。それが、今年のJavaOneで大きく取り上げられたテーマ"Internet of Things(モノのインターネット)"である。

Java開発者の活躍の場はさらに広がり、企業はJavaの資産をより有効に活用できるようになる

 今日、スマートフォンなどのコンシューマー・デバイスから各種組み込みデバイス、センサー・デバイスまで、さまざまなデバイスがインターネットを介してサーバ・サイドのシステムと連携することで、社会の利便性をさらに高めたり、新たな市場を生み出したりするビジネスやサービスが次々に誕生している。現在、こうしたムーブメントを指して"Internet of Things"と呼んでいるわけだが、ある調査報告によれば、2020年には実に500億台ものデバイスがインターネットに接続され、それによるデータ・トラフィックは年89%の割合で増加するという。

 「私たちは、この"Internet of Things"の発展において大きな推進力になるのがJavaだと考えています。なぜなら、サーバ・サイドのシステムの多くはJavaで開発されており、またデバイス側のプログラムもJavaで開発することができます。Javaという1つの技術で、すべての領域をカバーできるのです。

 今、全世界で900万人以上のJava開発者が活躍していますが、サーバ・サイドからデスクトップ、デバイス側のプログラムをすべてJavaで作れば、開発スキルや既存の技術資産など、さまざまなリソースを有効に活用しつつ、システム全体の連携性や管理性も高めることができます。これほどのポテンシャルを秘めた技術はJavaのほかには存在しません」(寺田氏)

 デバイスが配置されるフロント・サイドからサーバ・サイドまでが緊密に連携することで実現される"Internet of Things"の世界を円滑に発展させていくうえでは、次のようなことが大きな課題になるとされている。

  • 多種多様な関連技術が存在する中で、それらの急速な発展や変化を迅速かつ速やかにシステム開発に取り込んでいかなければならない
  • 技術を活用する企業やユーザーなどのデマンド・サイドでは、その活用の仕方が短期間で変化することが予想される。それらの動きに俊敏に対応し、必要なときに最適な技術を提供できるようにしなければならない
  • ハードウェアよりも、その上で動作するソフトウェアが、より高い付加価値を生む。デバイスに組み込むソフトウェアの開発が一層重要になるため、「(現状は)組み込みソフトウェア開発の難易度が高い」という問題を解消しなければならない
  • 既存デバイスに対しても、機能追加/変更、セキュリティ強化、管理性向上といった目的から継続的なソフトウェアの修正が必要になる
  • デバイス側で発生する膨大なデータを瞬時に処理してシステム全体を円滑に機能させるための仕組みが必要になる

 こうしたさまざまな課題にスピーディに対処可能な技術基盤が不可欠となるわけだが、その最有力の候補がJavaにほかならないというわけだ。

 「1995年に"Write One, Run Anywhere(一度書いたらどこでも動く)"というコンセプトの下に誕生したJavaは、先進技術を意欲的に取り込み、近年は開発生産性を高める機能も強化しながら発展してきました。その結果、サーバ・サイドからデバイス・サイドまで、すべてのプログラムの効率的な開発を実現する唯一の技術として不動の地位を確立するまでになったのです。実際にJavaOne 2013では、PCから組み込みデバイスまで、さまざまなクライアント向けのプログラム、およびそれらと連携するサーバ・サイドのシステムを、すべて標準のJavaだけによって開発できることがデモによって示されました(詳細はテクニカル・キーノートの節で後述)。

 Javaを学んだ開発者の皆さんは、獲得した開発スキルやノウハウを生かして、今後はより広範な領域で活躍できるようになります。また企業は、そうした開発者リソースやJavaによる既存のIT資産、システム構築/管理ノウハウを活用して、より広い領域のシステムやサービスを構築/管理できるようになります。"Internet of Things"とは、まさにJavaが中核を担うべき次世代のムーブメントなのです」(寺田氏)

"Internet of Things"への対応として、Java SEとJava MEの統合化を推進


米国オラクル Javaプラットフォーム担当バイス・プレジデントのナンディーニ・ラマニ氏

 Javaの今後の方向性を示すストラテジー・キーノートでは、Javaプラットフォーム担当バイス・プレジデントのナンディーニ・ラマニ氏が登壇。この中で氏は、"Internet of Things"の時代に向けてJavaの世界で進めていく大きな取り組みを明らかにした。その取り組みとは「Java SEとJava MEの統合」だ。

 ご存じのとおり、Java ME(Java Platform, Micro Edition)とは、組み込みデバイスなどPCと比べてコンピューティング・リソースの貧弱なプラットフォームに向けたJava規格であり、その具体的な仕様として家電やカーナビ向けの「CDC(Connected Device Configuration)」、携帯電話などより軽量なデバイス向けの「CLDC(Connected Limited Device Configuration)」が提供されている。

 このCDCとCLDCは、言語仕様の面ではJava SEとサブセット的な関係にある。一方、APIの面では、デバイス固有の機能や非力なコンピューティング・リソースへの対応といった事情から、Java SEとは別種のAPIセットが提供されてきた。

 しかし、今日ではデバイスの高機能化が進み、従来と比べて潤沢なコンピュータ・リソースを利用できるようになった。

 「そこで、ストラテジー・キーノートの中でラマニは、"プラットフォーム・ユニフィケーション(プラットフォームの単一化)"として、今後Java SEとJava MEの統合を推進していく方針を示しました。まず来年リリース予定のJava SE 8では、CDCとCLDCをJava SE 8のサブセットとして編成し直したJava SE EmbeddedとJava ME Embeddedがリリースされます。

 また、その次のバージョンでは、Java SEとJava MEの統合がさらに進むことが説明されました。

 デスクトップJavaと組み込みJavaは1つのプラットフォームとなり、Java SEの世界で培った開発技術やノウハウを、そのままデバイス向けプログラムの開発にも生かせるようになるのです」(寺田氏)

 なお、プロセッサの供給元が少数のメーカーに集中するデスクトップ/サーバ向けコンピュータの世界とは異なり、組み込みデバイスの世界では、さまざまなメーカーが多様な用途に向けてプロセッサを提供している。それらのプロセッサでJavaに対応するには、各プロセッサごとにJava実行環境が必要となるが、すでにARMや、ARMを搭載した小型コンピュータのRaspberry Pi、freescaleをはじめとするさまざまなプロセッサ/デバイス上にJavaが移植されている。

 またオラクルは、今後より多くのプロセッサやデバイス上でJavaを利用できるようにすべく、各プロセッサ/デバイス上にJava実行環境を移植するメーカーを支援するプログラム「Oracle Java Platform Integrator(OJPI) Program」を開始することも発表した。

 「これまで、個々のプロセッサへのJava実行環境の移植は、それぞれのメーカーが自力で行っていました。具体的には、プロセッサに固有な実装(下図のプラットフォーム・インテグレーター向けポーティング・レイヤ)をメーカーが独自に工夫しながら作業していたのですが、今後はOJPIの下、この部分の実装に対してもオラクルが支援を提供していきます。これにより、Javaを利用可能なプロセッサやデバイスがさらに増えると期待されます」(寺田氏)

 なお、これに関連して、後述するコミュニティ・キーノートの中では、Raspberry Piの開発元であるラズベリー財団がオラクルとの間でJavaのOEM契約を締結し、Java実行環境を同梱したファームウェア・イメージの提供を開始したことも発表された。