(そろそろレガシーになる)Appletの基本情報・トラブルシューティング


背景・目的

Java9 (2017/07リリース予定)でいよいよAppletはDeprecated扱いになり、いまさら(2016年12月時点)新規開発でAppletを使うことはまずない(使っちゃ駄目!)と思うが、まだまだ企業内システム・他法人向けシステムでは、数年前に開発されたApplet資産が多数あったりする。
そこで、保守・運用のために必要なApplet情報をまとめてみた。

用語整理

ざっくり言って、様々な文献に登場するApplet、Deployment Technology、NPAPI Javaプラグイン、Javaプラグインなどの用語は、「Applet関連」と理解すればよい。アーキテクチャ詳細は下記の「Applet / Java Plug-inの仕組み」を参照。

対応ブラウザー状況

もちろんChromeでは動かない。
https://www.java.com/ja/download/faq/chrome.xml

Firefoxも2017/03をもってプラグインは対応しなくなる。
https://support.mozilla.org/ja/kb/use-java-plugin-to-view-interactive-content
- 上記サイトの一部引用はこちら。

Mozilla は、Flash を除くすべての NPAPI プラグインのサポートを、Firefox バージョン 52 がリリースされる 2017 年 3 月に終了する計画をしています。

残るのはWindows + IEのみ。Edgeは駄目。

またOracleによるApplet(Plugin)廃止のアナウンスはこちら。
Java Blog - Moving to a Plugin-Free Web

Applet / Java Plug-inの仕組み

以下の図は「OTN - Java™ Plug-in とアプレットのアーキテクチャー」からの抜粋。

上記図のJava Plug-inというのがNPAPI(Netscape Plugin API)プラグインのJava用Plug-in。その他NPAPIプラグインとして有名なのはAbode Flash Plug-in。
要はJavaもFlashもこのPlug-inという技術でリッチクライアント技術として一世を風靡したが(HTML5が出る前)、そのPlug-inという技術のせいで、今はデスクトップの脆弱性問題が絶えない状況。
このあたりは以下の記事を参照。

Appletトラブルシューティング

サンプルApplet

既存のAppletが動かない場合、まずは以下のようなサンプルアプレットで設定などを確認

インターネットAppletサンプル

イントラネットAppletサンプル

イントラネットでサンプルAppletを試したい場合、ソースを参照・修正したい場合は、Java SE DownloadサイトのJDK Demos and Samplesにあるサンプル(demo\appletsフォルダ以下にある)を使えばよい。アプレットの実行はウェブサーバー経由である必要があるので、nginx、Apacheなどのウェブサーバーのhtmlフォルダに格納して実行。

トラブルシューティング

上記のアプレットが動かない場合、何かの設定が漏れているはず。以下のトラブルシューティング方法を参照

よくある設定漏れはJava コントロールパネルから(IEからでは駄目)例外サイトへ登録漏れ。

Appletの詳細挙動はJavaコンソールを立ち上げてログ・トレースを確認。Javaコントロールパネル、Javaコンソール、ログ・トレースの設定はこちらを参照。