Javaはどこに向かうのか? コミュニティが作るJavaの未来──Java Day Tokyo 2013基調講演レポート

builder by ZDNet Japan Ad Special
2013-07-26 13:15:00
  • このエントリーをはてなブックマークに追加

ラムダ式への対応、JavaScriptとの統合が進む次期Java SE

 昨年4月、7年ぶりに開催された「JavaOne Tokyo」から約1年。国内でもJavaの今後に対する関心が大きく高まる中で開かれたJava Day Tokyo 2013は、JavaOne 2012 San Franciscoと同様に「Make The Future Java」をテーマに掲げ、約1200名ものJava開発者を集めて盛大に開催された。

 午前中には基調講演として、米国オラクルのキーマンにより、Javaテクノロジー全般に関するプレゼンテーションが行われた。その中でJava SEの最新動向を紹介したのは、Javaテクノロジーアンバサダーのサイモン・リッター氏だ。

 Javaがオラクルの管理下に入ってから最初のメジャー・リリースとなったJava SE 7は、公開から1年余りを経てバグ修正やパフォーマンスの改善が進み、順調にインストール数や対応プラットフォーム数の拡大を続けている。それと並行して進んでいるのが、次期メジャー・リリースの核となる「JDK 8」の開発だ。


米国オラクル Javaテクノロジーアンバサダーのサイモン・リッター氏

 JDK 8では、コア・ライブラリの刷新やJVM(Java仮想マシン)の強化を含む、さまざまなイノベーティブな進化が計画されている。リッター氏は、その進化の中でも注目すべきポイントの1つとして、新たに言語仕様で「ラムダ式」に対応することを挙げた。

 「ラムダ式への対応により、特に並列処理などにおいて、高いパフォーマンスのアプリケーションを、より簡単に書けるようになる」(リッター氏)

 また、JDK 8では、JavaScriptの実行エンジンをJVMに統合する「Project Nashorn」がOpenJDKプロジェクトの傘下で進められている。現時点で2014年第1四半期のリリースが予定されているJDK 8 は、現在OpenJDK のサイトでアーリー・アクセス版が入手可能となっているが、リッター氏は「日本の皆さんも、ぜひダウンロードして実際に動かしてみて、要望などのフィードバックを寄せてほしい」と訴えた。

 さらに、Java SEの今後のロードマップとして、Javaのモジュール化をさらに押し進める「Project Jigsaw」などを含む「JDK 9」が、2016年以降にリリース予定であることも紹介した。

 「このロードマップからもわかるように、我々はJava SEの改良を続けながら、2年に一度のペースでバージョンアップしていく。JDK 8は2014年2月にリリースする予定だが、時間を掛けて質の高いものに仕上げていきたい」(リッター氏)

JavaFX 8でビジネス・アプリケーションでの3D活用が進む

 今後のJava SEにおいて、従来のSwingに代わり、よりリッチなユーザー・インタフェース(UI)の作成を可能にする技術として採用される「JavaFX」の動向を紹介したのは、Java Client and Embedded Platforms担当バイスプレジデントのナンディニ・ラマーニ氏だ。


米国オラクル Java Client and Embedded Platforms担当バイスプレジデントのナンディニ・ラマーニ氏

 まずラマーニ氏は、リリースから約1年半を経て、H.234のサポートや、各プラットフォーム向けのGUI作成ツール「Scene Builder」の提供、ARMプラットフォームへの対応といったかたちでJavaFXの利用環境が徐々に整ってきたことを説明。「データ分析やトレーディングといった分野のエンタープライズ・アプリケーションでも、JavaFXが採用されるケースが増えてきた」と話し、実案件での採用実績が着実に積み上がっていることを紹介した。また、すでに発表されているJava FXのオープンソース化についても、今後さらに押し進めていく方針を確認した。

 JavaFXは今後、JDKのメジャー・リリースと歩調を合わせながら改良を積み重ねていくという。ここで、JDK 8に統合されるJavaFX 8で実装予定の3D機能について、Javaテクノロジーアンバサダーのジム・ウィーバー氏によるデモが披露された。


米国オラクル Javaテクノロジーアンバサダーのジム・ウィーバー氏

 ウィーバー氏は、3D機能の活用例として、「商品の在庫状況の可視化」や「ビジネス・プロセスの可視化」などを挙げ、JavaFX 8により、「これらのビジネス分野における3Dの活用が進むだろう」と期待を示した。デモの中で紹介されたのは、地図と3Dモデルを使い、船着き場で貨物船から運ばれたコンテナがどのようにストックされていくのかを、フォークリフトによる移動の様子などを含めて表示するアプリケーションである。

 このデモで使われた3Dモデルは、エンターティンメント分野で広く使われているオートデスクの3Dアニメーション・ソフト「Maya」によって作成されたものだ。JavaFX側にこのモデルを取り込むことで、カメラやライト位置の設定、オブジェクトの回転、モデル表面へのテクスチャの張り付け、可視光マッピング、バンプ・マッピングなどの操作をリアルタイムに行えるようになる。


ウィーバー氏によるJavaFXの3D機能のデモの様子

 デモ終了後、ウィーバー氏は3D機能を含むJavaFX 8のアーリー・アクセス版がJDK8とともにすでに入手可能であることに触れ、評価とフィードバックを求めていることを強調。TV CMで流行ったフレーズ「いつやるの? 今でしょ!」と日本語でアピールして喝采を浴びた。


JavaFXのロードマップ

"IoT時代"で役割がさらに広がるJava Embedded

 ラマーニ氏がJavaFXに続いて紹介したのは「Java Embedded」。いわゆる「組み込みJava」に関する動向だ。

 ラマーニ氏は、ホスト・コンピュータの時代から、Windowsを中心にしたPCの時代を経て、2006年以降はあらゆるデバイスがインターネットを通じて接続される「Internet of Things(IoT)」の時代に突入したと話す。500億台を超えるデバイスが相互に接続/連携するこの時代において、標準化された組み込みプラットフォームであるJava Embeddedが果たす役割はさらに大きくなるとラマーニ氏は力説する。

 Internet of Things時代を象徴するJava Embeddedの活用例の中には、すでに実用化されているものが多い。代表的なものとしては、都市の設備管理や交通管理、インダストリアル・オートメーション、自動販売機、貨物管理などが挙げられる。また、近年では医療分野や、急速に普及したスマートフォンをフロントエンドにしたホーム・オートメーションの分野なども注目を浴びている。

 「例えば、ホーム・オートメーションの分野では、家庭内のデバイスがそれぞれに相互運用できるだけでなく、コントロールを権限委譲して、他社のアプリケーションからコントロールできることが重要になる。もちろん、プライバシーやセキュリティの面の課題も考慮しなければならない。Javaがこの分野に適している理由は、標準化された技術であり、すでに世界中で900万人以上のソフトウェア開発者を抱える、成熟したプラットフォームだからだ」(ラマーニ氏)

 オラクルは、組み込み向けのJavaとして、小型デバイス向けの「Java ME for Embedded」、電気製品など中型機器向けの「Oracle Java Embedded Client」、医療機器や銀行のATMなどを含む大型機器向けの「Java SE Embedded」、セキュリティに特化した「Java Card」など、用途とハードウェアの特性に応じてさまざまな規格を提供している。


Java Embeddedは、ICカードから医療機器/銀行ATMまでをカバーする

 講演の中では、その最新のプロダクトとして、小型デバイス向け規格の最新版である「Java ME Embedded 3.3」と、Java ME Embeddedを搭載したデバイスを制御するゲートウェイ機器向けの規格である「Java Embedded Suite 7.0」、そして各種機器のバックエンドで大量の情報/イベントをリアルタイムに捕捉して高速に処理する「Oracle Event Processing (OEP) Embedded」などの提供が始まっていることを紹介。これらのテクノロジーを利用することで、フロントエンドからバックエンドまでをJavaで統合的に扱い、緊密な連携と高速な処理が行えると説明した。

 Java SEのサブセットとなるJava Embeddedのロードマップは、Java SE/JDKのロードマップと同期している。Javaプラットフォームとしての互換性だけでなく、開発言語などとの整合性も保ちつつ、Java Embeddedは今後も進化を続けていくという。


Java Embeddedのロードマップ

リリース間近のJava EE 7はHTML5への対応が目玉

 ラマーニ氏に続いて壇上に上がり、Java EEの動向を説明したのは、Cloud Application Foundation and Java EE担当バイスプレジデント、キャメロン・パーディ氏だ。


米国オラクル Cloud Application Foundation and Java EE担当バイスプレジデントのキャメロン・パーディ氏

 パーディ氏は、Java EEの注力ポイントとして「標準ベースであること」、「生産性の高さ」、「ポータビリティ」、「拡張性」、「モジュラリティ」などを挙げ、さまざまなJava EEコミュニティによる貢献が、その進化を促してきたことを改めて強調した。最新のメジャー・リリースとして2009年に公開された「Java EE 6」については、すでに商用/非商用含め18のアプリケーション・サーバが対応するなど、世界中で着々と普及が進んでいる。

 そして、今年6月中旬の正式リリースが予定される最新バージョンの「Java EE 7」では、HTML5のサポートやバッチ・プロセスへの対応など、さまざまな改良が施されているという。


Java EEの進化の歴史

 それらの中でも特に注目すべき機能として、WebSocketプロトコルによるHTML5アプリケーション開発機能に言及。これに関して、Javaテクノロジーアンバサダーのアルン・グプタ氏によるデモを交えた解説が行われた。


米国オラクル Javaテクノロジーアンバサダーのアルン・グプタ氏

 グプタ氏が披露したのは、Webブラウザ同士でホワイトボード画面を共有し、互いに更新が行えるシンプルな「コラボレーティブ・ホワイトボード」だ。グプタ氏はこのデモを通して、Java EE 7ではシンプルなPOJO(Plain Old Java Object)により、WebSocketを活用したアプリケーションを容易に開発できることを強調した。

 Java EE 7については、6月13日の午後1時(日本時間)より、その正式リリースを祝うライブ・キャスト・イベントが開催される予定だ(聴講の登録は特設サイトで行える)。パーディ氏は、同イベントへの参加と、リファレンス・インプリメンテーションである「GlassFish」の活用を強く促した。

 またパーディ氏によれば、Java EE 7の次のバージョンである「Java EE 8」に向けた取り組みもすでに始まっている。JavaとHTML5のハイブリッド・アプリケーション技術である「Project Avatar」のプロトタイプが今年後半に公開される見込みであることに加えて、Java EE 8以降では、軽量サーバ(Thin Server)アーキテクチャの採用、PaaS対応、JSON Binding、NoSQLデータベースのサポートといった機能が組み込まれる予定だという。

革新の原動力となるのはJavaコミュニティ

 オラクルは現在、Javaが今後も正しく進化し続けるための核として、「オラクルのリーダーシップ」、「イノベーティブな技術」、そして「コミュニティ活動」の3つを掲げている。

 Java Day Tokyo 2013の基調講演では、3つ目のコミュニティ活動に関して、その重要性と開発者の積極的な参加を訴えるスピーチも行われた。登壇したのは、Java Technology Outreachのグループディレクターであるシャラット・チャンダー氏だ。


米国オラクル Java Technology Outreachグループディレクターのシャラット・チャンダー氏

 チャンダー氏は、Javaコミュニティの位置づけを「新しいスキルやアイデアに触れ、より深いJavaへのアプローチを可能にする、Javaにとって非常に重要な一部」と説明した。

 「Java Dayなどのイベントでは、単に壇上の講演者の話を聞くだけでなく、ぜひ講演者に直接コンタクトして質問してほしい。なぜなら、それにより、あなただけでなく、講演者も、開発者がどういった点に疑問を感じているのかを知ることができるからだ。このことは、コミュニティ全体に利益をもたらす。

 Javaテクノロジーは、放っておいたら進化が止まってしまう。進化させ続けるためには、皆さんの参加が必要だ。皆さんが求めていることを、Javaコミュニティの標準化プロセスに参加し、反映していくことを忘れないでいただきたい」(チャンダー氏)

 チャンダー氏は、Java DayやJavaOneのほかにも、Javaについて学ぶための次のようなさまざまなリソースが用意されていることを紹介した。

 さらに、Javaについてより深く知り、使いこなしながらコミュニティ活動に参加していくための手段として、次のリソースを活用することを勧めた。

 特に日本の開発者にとっては、JCPの委員会に富士通の吉田浩氏が加わったことに加えて、日本のJavaユーザー・グループである「Japan Java User Group(JJUG)」の活動が活発に行われていることが強い助けとなるだろうという。ここで、JJUGの会長を務める鈴木雄介氏が壇上に招かれ、同グループの活動内容を紹介した。

 前任の丸山不二夫氏からJJUGの会長職を引き継いだ鈴木氏は、Java開発者がJJUGなどのコミュニティに参加する意義の1つとして、「特に開発者個人がレベルアップの場として活用できること」を挙げる。

 「コミュニティは、Javaの最新情報を知り、より詳しい人と話したり、同じような状況の人と悩みを共有したりすることで、自分が抱えている課題を解決するきっかけが得られるかもしれない場所。特にJJUGは、日本語でJavaの最新情報が得られる貴重な機会だ」(鈴木氏)

 JJUGにはすでに2000名以上が参加しており、年2回の「クロスコミュニティカンファレンス」、月1回の「ナイトセミナー」などのほか、地方への講師の派遣や国際会議への参加などのかたちで活動を行っている。鈴木氏によれば、2013年は「週末ハンズオン」のような、よりカジュアルなイベントの開催に加えて、Java SE 8やJava EE 7に関する情報交換、地方のユーザー・グループやJava関連団体との連携強化を目指していきたいという。


JJUGのWebサイト。参加方法はメーリング・リストに登録するだけ

 なお、JJUGへの参加は、JJUGメーリング・リストへの登録という簡単な手続きで行える。鈴木氏は、来場者にJJUGへの参加を促すとともに、Twitterのフォロー、そしてJJUGが開催するイベントへの聴講者および講演者としての参加を呼びかけた。

 「Javaとは何だろうか? Javaとは、イノベーションそのものだ。しかし、その革新は皆さんの参加によってのみ可能となり、皆さんはコミュニティを通じて、この革新に参加することができる。コミュニティとは、皆さんそのものだ。単にJavaについて学ぶだけでなく、皆さんがコミュニティを通じてコミュニケートしていくことが何よりも大切なのだ」