この情報は、TechTargetの記事で知りました。
Oracleは、Javaの開発・実行環境「Java Platform, Standard Edition」(Java SE)の将来のリリースで、Webブラウザ用のプラグイン(以下、Javaプラグイン)を廃止します。
これは、業界全体の動向に沿った措置だそうです。
主要なWebブラウザの大半で、プラグインサポートが打ち切られようとしています。
セキュリティ問題が後を絶たない一方で、Web技術は進化を続ける必要があります。
こうした中、Oracleを含むベンダーや開発者は、従来のプラグインに代わる技術を探しているそうです。
主要Webブラウザベンダー数社は、デスクトップブラウザでのプラグインサポートを既に打ち切ったか、あるいは打ち切る方針を表明済みだそうです。
こうした動きに先鞭をつけたのは、当初からプラグインの仕組みを採用していないモバイルデバイス用Webブラウザです。
デスクトップデバイス用Webブラウザのプラグインフリー化では、Microsoftが先行したそうです。
同社は、Windows 10に搭載した新Webブラウザ「Microsoft Edge」でプラグインを非サポートです。
同社が以前から提供してきた「Internet Explorer」(IE)は、まだプラグインをサポートしているが、IEは役割を終えようとしているとの見方が大勢を占めています。
Googleも、2015年秋にWebブラウザ「Chrome」の最新リリースで、プラグインサポートを打ち切りました。
Mozilla Foundationは、2016年末までに「Firefox」のプラグインサポートを終了する計画だそうです。
一方、「Safari」、「Opera」など、プラグインサポートを継続するWebブラウザも幾つかあるそうです。
プラグインをサポートしないWebブラウザは、Javaや「Flash」「Silverlight」といった組み込み技術を実行できないのです。
このため、Oracleが、自社のプラグインに見切りをつけるのは驚くには当たらないそうです。
Javaアプレット(Javaプラグインを使ってWebブラウザで実行するJavaアプリケーション)をWebブラウザ内で実行するには、WebブラウザがJavaプラグインのインストールを許可する必要があるそうです。
Webブラウザベンダーが、こうしたインストールを排除するとともに、Javaアプレットの実行環境も入手しにくくなっているそうです。
それに伴い、Javaプラグインの存在意義は薄れてきたようです。
Oracleは、Java開発キット「Java Development Kit」(JDK)の次期リリースである「JDK 9」で、Javaアプレット関連のAPI(アプリケーションプログラミングインタフェース)を非推奨にする計画だそうです。
JDK 9は、2017年に公開される見通しです。
さらに、Oracleは、将来、JDKとJava実行環境「Java Runtime Environment」(JRE)から、Javaアプレット関連のAPIを完全に削除するそうです。
プラグインは、Webブラウザの機能が現在より限られていたWebの初期に登場したそうです。
プラグインにより、アプリケーションのローカルインストールをエンドユーザーに要求することなく、高度な機能をWebブラウザで実行することが可能になったそうです。
こうしたプラグインの中心的な存在だったのが、「NPAPI」(Netscape Plugin API)だそうです。
NPAPIは、全てのWebブラウザで使用可能な標準を提供したそうです。
これによって、クロスブラウザ/クロスプラットフォーム機能が実用化されたそうです。
FlashやSilverlight、Javaといった技術はNPAPIを利用して、クライアントソフトウェア的な機能をWebアプリケーションで実現したそうです。
そのおかげで、Webブラウザは、高度なアプリケーションのプラットフォームに進化したそうです。
ところが、こうしてNPAPIの恩恵が広がって間もなく、エンドユーザーからフルパーミッションを与えられたプラグインにより、他のサイバー世界と隔離されずにコードが実行されることの弊害が表面化したそうです。
Webブラウザやプラグインのベンダーは、セキュリティホールに突然直面し、際限なく続く攻撃に対処しなければならなくなったそうです。
こうした攻撃はシステムへのマルウェア感染や、情報の流出、データセンターの停止につながる恐れがあるそうです。
プラグイン技術のセキュリティリスクは、甚大だそうです。
JavaとFlashは、いずれもサイバー犯罪者の格好の標的になっているそうです。
しかも、プラグインは、セキュリティ以外にも、システムのハング、クラッシュ、復元不能な損傷といったさまざまな問題を引き起こしているようです。
開発者は、既に、Webブラウザプラグインを使わずに済ませる方法を探っているようです。
古い技術を排除し、新しい技術を取り入れてソフトウェアの書き換えを進めているところだそうです。
HTML5の台頭は、JavaScriptやCSSの進化とともに、今日のWebベースアプリケーションの変革を後押ししています。
JavaアプレットAPIは、当面は非推奨になるだけであり、削除されるわけではないそうです。
そのため、開発者は、まだJavaアプレットAPIを継続利用することもできるそうですが、限られたサポートしか受けられないようです。
さらに、コードのコンパイル時に「Java非推奨エラー」に見舞われることになるそうです。
Javaコンパイラが、警告をエラーとして扱うように構成されていれば、ビルドが失敗してしまうのだそうです。
大企業では、多くの分散アプリケーションを利用している場合、JavaアプレットAPIがどこに実装されているか分からないという問題もあるそうです。
だが幸い、開発チームは、Java統合管理ツール「Java Advanced Management Console」を使って、Javaの使用状況を追跡し、JavaアプレットAPIがどこで使われているかを判断できるそうです。
JavaアプレットAPIを使わないようにコードを変更する際には、開発者はHTML5などの先進的なWeb技術を利用することや、Oracleから提供されている選択肢のいずれかを選ぶことができるそうです。
例えば、Oracleは、開発者がJavaアプレットAPIの代わりに「Java Web Start」を使用できると述べているそうです。
「Java Web Start」は、エンドユーザーがプラグインなしで、Javaアプリケーションをインターネットから起動できる仕組みだそうです。
だが「ブラウザプラグインの場合と同様に、ハッカーが「Java Web Start」を使って、Javaの脆弱(ぜいじゃく)性を悪用できてしまうのではないか」と懸念する声もあるそうです。
いずれにしても、開発チームは、プラグインを使わない選択肢を追求する必要があるようです。
Javaプラグインは、将来的な廃止が既定路線となっており、FlashやSilverlightも同様だと言えるそうです。
Microsoft Edgeでさえ、Microsoft自身の技術であるSilverlightをサポートしていません。
プラグインに依存したアプリケーションは書き換える必要があり、新しいアプリケーションでは、これらの技術は完全に排除しなければならないのが現状の流れのようですね。
またね。

