●JDK 9の概要も明らかに
米Oracleは9月18日から22日にかけて、自社イベント「Oracle Open World 2016」に合わせ、Java開発者向けのイベント「JavaOne San Francisco 2016」を開催した。19日に行われたJavaOneの基調講演では、Java EE 8(Java Platform, Enterprise Edition 8)の最新のロードマップなどが明らかになったほか、ユーザー企業として日本のマツダ、欧州原子核研究機構(CERN)、Twitterなどが登場し、自社のJavaの利用を開発者コミュニティシェアした。

○Java EE 8は2017年中にリリース

Javaのロードマップは、今年のJavaOneで最も注目されていたテーマだ。2014年3月のJava Platform Standard Edition 8(SE 8)、同年4月のJava Platform Micro Edition 8(ME 8)のリリース後、Java EE 8の開発が遅れているとして、今年に入りコミュニティの間で懸念が生まれていた。また、Oracleは9月に、NetBeansの開発をApache Software Foundationに移管する提案を行っている。

この日、Java EEとWebLogic Serverを担当するOracleのバイスプレジデントであるAnil Gaur氏は、2017年末にJava EE 8をリリースすることを明らかにした。

最初にリリースされるJava EE 8は基本的なマイクロサービス、クラウドなどの機能を含んだものになるという。その次のバージョンとなる「Java EE 9」は1年後の2018年にリリースするとした。「Java EEは拡張性があり、トランザクションのセキュリティが必要なアプリケーション向けに包括的なAPIを持つ。エンタープライズ・アプリケーションの開発と実装のために選ばれてきたプラットフォーム」とGaur氏。OracleはエンタープライズJavaのイノベーションを支援していくとコミットを強調した。

Java Platformグループでチーフアーキテクトを務めるMark Reinhold氏はJavaOneが開催される前の9月13日、メーリングリストにて、当初2017年3月にリリースする予定だったJDK 9について、リリースを4カ月延期することを提案していた。新たなリリース予定は2017年7月となる。

Javaのリリースが遅れている原因は、モジュラー化に向けた取り組みである「Project Jigsaw」にある。プラットフォームのモジュラー化により、さまざまなデバイスに容易に対応し、大規模なアプリケーションの構築やメンテナンスが可能になることが期待されている技術だ。この日、Reinhold氏はJigsawについて、現在動いているものをそのまま稼働できる互換性も約束した。また、Java SE 9の機能としてインタラクティブなJavaシェル「jshell」も紹介した。

クラウド、物理から仮想化へのシフト、マイクロサービスなどのトレンドはJavaに新しい課題を突きつけている。これらを受け、新しい開発スタイルの対応も進みそうだ。JDKのDocker対応は「まもなく」だが、今後これをさらに進め、ランタイムとアプリケーションをパッケージするDockerモデル、サーバーレス、マルチテナントなども将来のフォーカスエリアとして紹介された。これらはプロポーザルの段階であり、JCPプロセスを経て機能として盛り込むかが決まる。

●ユーザー企業として、Twitter、マツダ、損害保険ジャパンが講演
Javaは昨年に20周年を迎えた。Oracleによると、Java開発者は1000万人、Java User Groupのメンバーは46万人を数えるという。「Javaはナンバー1の開発プラットフォームだ。今でもJavaは開発の中心にある」とOracleのJavaプロダクトマネジメント・開発者リレーション担当ディレクター、Sharat Chander氏。Javaが動く端末は、自動車の20億台、医療デバイスの3億5000万台など合計で150億台あると胸を張った。

この日Oracleは、新しいJava開発者の支援を主な目的とした「Go Java」、開発の取り組みを一元的に集めた新しいポータル「devloper.orcle.com」の2つも発表し、開発者に対してコミットする姿勢を見せた。

○Twitter、マツダ自動車などユーザー企業が登場

Javaのユーザーイベントらしく、基調講演にはJavaを利用している企業や団体も登場した。最初に登場したのは、国際的な研究機関である欧州原子核共同研究所(CERN)だ。CERNは600もの大学や研究機関とコラボレーションを行っており、100以上の国から1万5000人の貢献者をホスティングするシステムを有する。

CERNの管理情報システム担当ソフトウェア開発者のBenjamin Wolff氏によると、CERNではJDKの最初のバージョンがリリースされた1990年中旬にJavaを使うという決断を下し、それ以来Javaはさまざまなところで利用されているという。

Wolff氏が一例として紹介したのが、アクセラレーター制御システムだ。CERNの制御センターにある10万以上のデバイスのモニタリング制御となる。「Javaでシステム構築しているので、ソフトウェアのアップグレードプロセスも合理化している」とWolff氏。アクセラレーター制御システムは、1000万行のコードを約1500のアプレットに分散し、300ものアプリケーションが利用するという大規模なものだ。最新のJDKに更新する時は、Intelベースのハードウェアも刷新し、消費電力の削減を図りたいとした。

JDK 9への期待について聞かれると、依存性管理にメリットがあるとして「個人的にモジュラーを楽しみにしている」とコメントした。

TwitterもJavaのユーザーだ。登壇した同社でエンジニアリング部門のバイスプレジデントを務めるNandini Ramani氏によると、ユーザー数とツイート数の急激な増加により、スポーツやエンターテインメントなどのイベント時のトラフィックをどうやって対応するかということは常に課題だったという。それが顕著だったのが2010年の「FIFA World Cup」だ。決勝戦のトラフィックに対応できなかったことから、本格的な見直しを行った。

これにより、それまでRuby on Railsの「モノリシックな」スタックを利用していたが、マイクロサービスアーキテクチャに移行、あわせてJavaとScalaを組み合わせてJVM(Java VM)でプラットフォームを構築した。Twitterは社内にJavaチームを持っており、JDK 8の「Twitterディストリビューションみたいなもの」をIntel/Linuxで動かしているという。プロファイルなどの性能改善に向けて開発を進めており、対応できるピークロードは25倍、検索は3倍高速になったという。

JVMへの期待として、Ramani氏は「低遅延のガベージコレクタ、10ミリ秒以下の一時停止時間」などを挙げた。

日本からは、マツダのITソリューション本部で主幹を務める吉岡正博氏も登場した。同社は基幹システムをJavaで作り変えた。同社にはメインの自動車とパーツの組み立ての2つがあり、工場はこの2つをミックスして製造しているという。同じアセンブリラインで複数の機種を使っており、さまざまなデータがある。Javaはここで利用されているほか、サプライチェーン管理プロセス、グローバルの発注システム、コスト管理などでも利用しているという。

吉岡氏はJavaを選んだ理由について、「IT部門は、デジタルトランスフォーメーションや新規分野への挑戦を行う"攻め"とメンテナンスなどの事業継続に関わる"守り"を協調するという戦略を敷いている。Javaはイノベイティブであり、ラムダなど、開発者が必要とする機能を提供するもの」と語った。人気があり、大きな開発者コミュニティやエコシステムがあることが、Javaの進化を牽引している点も、導入の決断につながったとした。

損害保険ジャパン日本興亜の取締役常務執行役員、浦川伸一氏も登場した。

同社では、COBOLベースの基幹システムをJavaで刷新することを発表している。浦川氏は競争力のためにシステムが重要であることを強調、「近い将来、アーキテクチャをマイクロサービスに移行するが、ここに高い期待をしている。ベンダーのサポートが必要だ」と語った。