米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をリリースすることを明らかにした。

Oracle Group Vice President, Engineering Anil Gaur氏

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

Java EE 8の最新のプロポーザル

フォーカス分野。コンテナ、OAuth、OpenIDのサポートといったセキュリティの強化が並んでいる

Java EEのロードマップ。Java EE 8は2017年内となっている

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

Oracle Chief Architect, Java Platform Group Mark Reinhold氏

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

Java SE 9に向けて開発をすすめている新機能一覧。82もあるという

Java SE 9の新機能として「jshell」をデモ

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

提案されているプラットフォームアーキテクチャ