迫るサポート終了、Javaシステムは見直し必至

基幹系システムの開発など、企業向けシステムでJavaが本格的に採用され始めたのが2000年代前半。15年以上経った今も、Javaは企業システム開発では欠かせない言語の一つとなっている。そんなJavaが今、岐路を迎えている。その一つが、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年前半には個人情報漏えい事件が相次ぎ発生した。

2017年3月10日には、GMOペイメントゲートウェイが運営している「都税クレジットカードお支払サイト」などのWebサイトのStruts2の脆弱性が悪用され、利用者のクレジットカード番号や有効期限などが漏えい。その後も3月から5月にかけて10件以上のStruts2の脆弱性に起因した情報漏えいが発生している。

Struts2の脆弱性にはパッチが提供されているものの、OSSであるがゆえに有償サポートを受けていないとパッチの適用はユーザー任せとなり、セキュリティが確保しにくい。Javaを利用したシステムは多いため、Struts2に限らずセキュリティの確保は課題になっている。

もう一つ、以前構築したJavaシステムが抱える問題が、EOL(End of Life、サポート終了)だ。2000年代に開発された企業向けのJavaシステムで頻繁に利用されていた代表的なフレームワークが今、EOLを迎えている。代表例が2013年4月にEOLを迎えた「Struts1」だ。Struts1は2000年代前半から、Java EEをサポートする商用のWebアプリケーションサーバーを採用しなかった企業システムで数多く採用されてきた。

そして2016年9月には、Struts1のように、2000年代に構築した企業向けJavaシステムの開発で頻繁に利用されてきたJavaフレームワーク「Seasar2」のサポートが終了した。Seasar2の有償のサポートサービスを提供していた電通国際情報サービス(ISID)も、「2015年1月に新規のサービス受付を停止し、2017年3月にすべてのユーザーの契約が終了した」(ISID広報担当者)としている。

Java EEのようなフレームワークだけではなく、Java SEのEOLも意識する必要がある。現行のJava SE8の前版であるJava SE7は2015年4月にパブリック(無償)サポートが終了している。Java SE9が登場することから、Java SE8のサポート終了も近いと見られる。現時点での最新である2015年4月時点の公式情報では、Java SE8のパブリックサポートの終了時期が2017年9月となっている。この時点からJava SE9の提供開始が遅れたため、Java SE8のサポート終了時期はもう少し先になりそうだ。正式な時期は、Java SE9の公表時に発表になる。

こうした状況を踏まえ、Starlight&Stormの長谷川氏は、「Seasar2などのサポートを終えた製品を利用している企業はまだ多く、どこかで刷新を考えなければならない状況になっている」と指摘する。利用している環境がEOLを迎えた場合、バージョンアップをしたり、環境を変更したりするしかないため、長期的な計画立案が必要になる。

出典 http://itpro.nikkeibp.co.jp/atcl/column/17/060200226/060200001/