基幹系システムの開発など、企業向けシステムでJavaが本格的に採用され始めたのが2000年代前半。15年以上経った今も、Javaは企業システム開発では欠かせない言語の一つとなっている。そんなJavaが今、岐路を迎えている。その一つが、Javaの新版で大きな仕様変更があることだ。

図1●今、Javaを取り巻く環境が大きく変わりつつある
図1●今、Javaを取り巻く環境が大きく変わりつつある
[画像のクリックで拡大表示]

 2017年9月21日、デスクトップ向けJavaの標準仕様である「Java Standard Edition(SE)」の新版「Java SE9」が登場する予定だ。「これまでのJavaの機能強化を振り返ると、今回のバージョンアップは非常に大きな変化だ」。Java SE9について、日本オラクルの伊藤 敬氏(クラウド・テクノロジー事業統括 Fusion Middleware事業統括本部 ビジネス推進本部 担当シニアマネジャー)はこのように強調する。

 Java SE9の目玉は、これまで一体となっていたライブラリを分割して導入できるようになった「モジュール化」の考え方を導入したことだ。これは、開発時点から「Project Jigsaw」と呼ばれ、大きな注目を集めていた。「モジュール化により、手間がかかったjarファイルの管理が簡素化され、Javaエンジニアの開発作業が楽になる」と伊藤氏は効果を話す。

 Java SE9が登場する2017年9月に先駆けて、サーバー向けJavaの標準仕様を定めた「Java Enterprise Edition(EE)」の新版「Java EE8」も約4年振りに登場する見込みだ。大規模な企業向けシステムの開発に携わるエンジニアにとっては、Java EEのバージョンアップは注目すべき事項だ。「Java SE9ほど大きな変化はないが、クラウドを使った開発を見据えた機能追加などを行っている」と伊藤氏は説明する。

 Java SE、Java EEというJava標準が進化する一方で、OSS(オープンソースソフトウエア)のJavaフレームワーク「Spring Framework」など、Java関連技術も、併せて進化している。

 「最近では、ネット関連企業が自社サービスを提供する大規模システムでも利用するようになり、さらに一般企業でもSpringの利用が進んできた」。Javaを利用したシステム構築のコンサルティングを手掛け、日本Springユーザー会会長を務めるStarlight&Stormの長谷川 裕一氏(代表社員/コンサルタント)はこう証言する。

サポート終了が押し寄せる

 Javaを取り巻く技術が進化する中、10年以上を経たJavaシステムの問題も見えてきている。

 その一つがセキュリティだ。OSSのJavaフレームワーク「Struts2」の脆弱性を突いた情報漏えいが2013年頃から増え、2017年前半には個人情報漏えい事件が相次ぎ発生した。