今年のJavaOneで紹介されたJava SE/EE/MEの進化と方向性をオラクルが解説
DevOps、マイクロサービス、IoTが注目集めた「JavaOne 2015」
2015年11月30日 06時00分更新
来年9月提供のJava SE 9、モジュール導入でモノリシック脱却を図る
Java SE(Standerd Edition)のロードマップとしては、来年(2016年)9月22日には、Java SE 9を提供する計画を発表している。
伊藤氏によると、SE 8では関数型文法の導入や並列処理の導入など、プログラミングそのものの強化が図られたが、SE 9では、モジュールの導入によってJavaを“整理”し、モノリシックからの脱却を図ることができるようになるという。さらに、将来のJavaではハードウェアやOSへの最適化、リソース活用の効率化が図られるようになる。
Java SE 9では、これまでのプログラム構造が変更される。具体的には、「パッケージ」と呼ぶこれまでの最上位構造の上に、新たに「モジュール」という構造が用意される。このモジュールにおいては、各パッケージへのアクセス制御が可能になり、exportsで指定されたパッケージだけを外部に公開し、その部分だけが他のパッケージからアクセスできるといったことが実現される。さらに、モジュールに、パッケージやライブラリを追加した際にも、それらを認識して参照するというモジュール相関の多重化も実現する。
「これまではパッケージそのものを読み込んでいたため、かなりの量を読み込むことになり、モノリシック化を招いていた。(モジュールを用意することで)これを改善することができる」(伊藤氏)
また、JDKもモジュール化されることで、相関関係が整理され、必要なライブラリだけを読み込むことが可能になるという。
Java EEでは次期EE 8の仕様策定が進む
Java EE(Enterprise Edition)では、現在のJava EE 7の後継となるJava EE 8が、2017年上半期の提供開始をターゲットに開発が進んでいる。すでに2014年後半からはJava EE 8 JSR 366によって仕様の策定が始まっており、2015年9月のGlass Fish 4.1.1リリースに続き、Java EE 8の提供開始のタイミングにあわせて、Glass Fish 5のリファレンスがリリースされる予定だ。
Java EE 8の新たな機能として提供されるJSR367(JSON Binding for Java Objects)は、アーリードラフトレビュー(EDR)が完了。JSR371(Model View Controllerなど)はEDRを実施。JSR375(Security 1.0)はアーリードラフトを策定中だという。
(→次ページ、組み込みJavaではIoTへの取り組みが進む)