Java Platform, Standard Editionデプロイメント・ガイド
目次      

32 その他のデプロイメント機能

ここでは、プロトコル、複数のJREバージョンおよび特別なアプレット属性など、リッチ・インターネット・アプリケーションにサポートされているその他のデプロイメント機能の情報を提供します。

この節の内容は以下のとおりです。

32.1 プロトコル・サポート

Java Plug-inには、次の一般的なプロトコルに対するサポートが組み込まれています。

32.1.1 HTTPおよびFTP

Java Plug-inは、HTTPおよびFTPプロトコルをサポートします。この中には、組込みプロキシ構成サポートも含まれています。

32.1.2 HTTPS

Java Plug-inでは、HTTPSがJava Secure Socket Extension (JSSE)を介してサポートされています。JSSEは、Javaプラットフォームに対してSSLとHTTPSのJava実装を提供しています。

32.1.2.2 JSSEを介したHTTPSの潜在的な問題点

JSSEを介したHTTPSのサポートにより、ブラウザ固有の問題の多くが取り除かれますが、次のような問題が発生することがあります。

  • 信頼されないサーバー証明書: HTTPS接続の確立時にSSLハンドシェークが行われると、サーバー証明書の検証がJava SEのルートCAストアに対して行われます。ただし、Java SEがサポートするルートCA証明書の数は、ブラウザがサポートするルートCA証明書の数ほど多くありません。このため、信頼されないサーバー証明書で問題が発生する場合があります。

  • クライアント認証: Java Plug-inは、JRE 1.5以降でブラウザ・キーストアをサポートしています。HTTPSサーバーのブラウザ・キーストア・クライアント認証は、Internet ExplorerとMozillaファミリ・ブラウザとで異なった方法で実行されます。Internet Explorerでは、証明書はJREキーストアにインポートされません。Mozillaファミリ・ブラウザでは、Mozillaキーストアから証明書を読み取るためにJSSパッケージをインストールする必要があります。デフォルトでは、ブラウザ・キーストアのサポートはオンになっています。

  • エラー処理のレベル: Java Plug-inは、現在のところ、前のセクションにあげたエラー・タイプを処理します。ただし、Java Plug-inが認識しないエラーが発生した場合、Javaアプレット・コードが壊れる可能性があります。

32.1.3 Socks

現在、Java Plug-inはSOCKSバージョン4をサポートします。

注: HTTP/HTTPSの場合、SOCKSプロキシ・サーバーをWebプロキシ・サーバーと併用して、キャッシュを追加できます。ただし、この動作は、ブラウザ内の同様の構成をJava Plug-inを使用せずに実行する場合の動作とは異なる可能性があります。

32.1.4 NTLM認証

Java Plug-inでは、HTTP/HTTPS用のNTLM認証プロトコルがサポートされています。NTLM認証を必要とするサーバーにアクセスしようとすると、ユーザー名パスワードおよびドメインを入力するよう求められます。

32.2 複数バージョンのサポート

次の項では、単一システムでJREの複数のバージョンをサポートするための方法について説明します。

32.2.1 一意のMIMEタイプ

Java Plug-inの新規バージョンおよび更新バージョンにはすべて、一意のMIMEタイプがあります。MIMEタイプは、Java Plug-inによってロードおよび初期化されるJava実行可能ファイルのタイプまたはバージョンを識別します。これは、Firefoxではembedタグ内の要素型によって、Internet Explorerではobjectタグ内の<param name="type">によって指定されます。FirefoxでJava Plug-inの最小バージョンを使用する場合、embedタグに一意のMIMEタイプを指定します。

コンピュータにインストールされているJava Plug-inのバージョンに対応するMIMEタイプは、次のように表示されます。

application/x-java-applet;jpi-version=<version>

versionには、メジャー、マイナー、およびパッチ・バージョン番号が含まれます。

Java Plug-inでは、(Java Plug-inのバージョンに対応する)最新のMIMEタイプ・バージョンおよび以前のすべてのMIMEタイプ・バージョンをサポートしています。

Java Plug-inでサポートされているその他のMIMEタイプは、次のように表示されます。

application/x-java-applet;version=<version>

コンピュータにインストールされているJava Plug-inのバージョンでサポートされているMIMEタイプを確認するには、Firefoxのロケーション・バーにabout:pluginsと入力します。これにより、インストール済の検出されたプラグインのリストが表示されます。Java Plug-inのエントリを探します。このリストにはサポートされているすべてのMIMEタイプが一覧表示されます。詳細は、「MozillaZine Knowledge Base」の「about:plugins」を参照してください。

Java Plug-in 1.7.0の場合、一意のMIMEタイプはapplication/x-java-applet;jpi-version=1.7です。


注意:

: JREの各種バージョンがインストールされている場合は、最新バージョンのJava Plug-inのみがインストールされます。前述のように、このバージョンのJava Plug-inは以前のすべてのバージョンのJava Plug-inのMIMEタイプをサポートしています。これらのMIMEタイプは、npjp2.dllファイルでサポートされています。このファイルの場所は、about:pluginsページに記載されています。

32.2.3 一意のJava Plug-inプロパティ・ファイル

このプロパティ・ファイルの名前はdeployment.propertiesです。これは次のディレクトリにあります。

<User Application Data Folder>\Sun\Java\Deployment

<User Application Data Folder>は、ユーザー固有のアプリケーション・データ・フォルダです。

たとえば、Windows 7システムのユーザーtestuserの場合、<User Application Data Folder>の値はC:\Users\testuser\AppData\LocalLowになります

<User Application Data Folder>の値は、CSIDL_APPDATAでのWin32 API関数呼び出しSHGetFolderPath()から取得されます。

32.3 システム全体のリポジトリ(Windowsのみ)

以前は、新しいJREをインストールすると、古いリリースのJARおよびネイティブ・ライブラリを新しいリリースから表示することはできませんでした。したがって、それらのライブラリに依存するアプリケーションおよびアプレットは動作しないので、開発者はライブラリを新しいJREに対して再配備する必要がありました。システム全体のリポジトリは、この問題に対する解決策となります。システム全体のリポジトリは、VMがJARライブラリまたはネイティブ・ライブラリを検索できる、JREの場所に依存しないグローバルな(システム全体の)場所を提供します。これはMicrosoft VMのリポジトリと同様の機能を提供します。


注意:

システム全体のリポジトリは、WindowsでのみJava Plug-inによってサポートされます。

新しいシステム全体のリポジトリの場所について、次の表に示します。

ライブラリの型 システム全体の場所
DLL システム・パス環境変数内の任意のディレクトリ。
信頼されていないJAR <Windows Directory>\Sun\Java\Deployment\Lib\Untrusted
信頼されているJAR <Windows Directory>\Sun\Java\Deployment\Lib\Trusted

<Windows Directory>は、%SystemRoot%とも呼ばれる、WindowsがインストールされているドライブにあるWindows OSのディレクトリです。

たとえば、Windows 7では、Windowsは通常Cドライブにインストールされるので、ライブラリの場所は次のようになります。

ライブラリの型 システム全体の場所
DLL システム・パス変数内にある任意のディレクトリ、たとえばC:\WINDOWS\repositoryがシステム・パス変数で設定されている場合は、C:\WINDOWS\repository
信頼されていないJAR C:\WINDOWS\Sun\Java\Deployment\Lib\Untrusted
信頼されているJAR C:\WINDOWS\Sun\Java\Deployment\Lib\Trusted

システム全体で信頼されているリポジトリのJARファイル内のクラスは拡張クラス・ローダーによりロードされますが、システム全体で信頼されていないリポジトリのJARファイルはアプレット・クラス・ローダーによりロードされます。したがって前者はAllPermissionのアクセス権が与えられ、後者にはデフォルト・アプレットのアクセス権しか与えられません。

システム全体で信頼されたリポジトリの実装は、システム・プロパティjava.ext.dirsに基づいています。ユーザーがJavaコントロール・パネルから独自のjava.ext.dirsシステム・プロパティを選択する場合、Java Plug-inはシステム全体で信頼されたリポジトリのJARファイルをロードしません。

リポジトリは、バージョンまたは名前空間を制御しません。開発者が配備時にバージョンおよび名前空間の競合を避ける必要があります。

32.4 アプレット永続性API

java.Applet.AppletContextインタフェースに含まれている2つのメソッドを使用すると、ブラウザ・セッション間でアプレットの永続性を確保できます。

これらのメソッドを使用すると、あるブラウザ・セッションのデータやオブジェクトをストリーム処理することにより、それ以降のブラウザ・セッションで再利用できるようになります。これによりアプレットの永続性が維持されるため、同じ目的でアプレット内のstaticオブジェクトを使用する必要がなくなります。

setStream(key, stream)メソッドは、キーをストリームにマップします。getStream(key)メソッドは、キーにマップされたストリームを返します。setStream(key, stream)メソッドの呼出し時に、AppletContextがキーにマップされたストリームをすでに保持している場合、マッピングは更新されます。

32.5 特別なアプレット属性

アプレットには、それ自体に関連付けられているデフォルトの属性があります。imageboxmessageなどの特別な属性は、アプレットに関連付けて、アプレットのダウンロード時のアプレット・ウィンドウをカスタマイズするときに使用できます。これらの特別な属性を使用すると、JavaBeanコンポーネントをカスタマイズすることもできます。

32.5.1 image

image属性を使用すると、デフォルトのアニメーションをカスタム図形で置き換えることができます。標準のapplet要素では、次の形式でこの属性を使用します。

<applet ...>
<param name="image" value="my_image.gif">
</applet>

objectタグやembedタグでの使用法については、「Java Plug-inでのappletobjectおよびembedタグの使用」を参照してください。

カスタム図形を指定する場合、そのサイズはアプレット・ウィンドウの領域と一致する必要があります。サイズが一致しない場合、アプレット用に指定されている領域の左上隅に図形が配置されます。図形がアプレット・ウィンドウより大きい場合は、その一部が切り落とされます。図形がアプレット・ウィンドウより小さい場合は、その周囲に白(またはboxbgcolorに指定されている色)の領域ができます。

GIFまたはJPEGのイメージを使用できます。また、アプレットのほかのリソースと同じディレクトリに置く必要があります。つまり、アプレットでcodebase属性が使用されている場合は、このイメージをcodebaseディレクトリに置く必要があります。

注:パッケージ化されたJARファイルには、アプレットのほかのリソースが格納されますが、イメージ・ファイルはリソースのダウンロード中に表示する必要があるので、JARファイルには入れないでください。

マウスでアプレット・ウィンドウをポイントすると、ブラウザのステータス・バーに「Loading Java Applet ...」と表示されます。

32.5.2 boxmessage

boxmessage属性では、ブラウザのステータス・バーに表示されるテキストをカスタマイズできます。この属性は、image属性が使用されている場合に有効になります。標準のAPPLET要素では、次の形式でこの属性を使用します。

<APPLET ...>
<PARAM name="boxmessage" value="<your custom message goes here>">
</APPLET>

32.5.3 boxbgcolor, boxfgcolor

これらの属性を使用すると、アプレット・ウィンドウの配色をカスタマイズできます。

これらの属性は、image属性が使用されている場合に有効になります。アプレット表示領域のデフォルトの外観としてカスタム・カラーは指定できません。

デフォルトではアプレット・ウィンドウのバックグラウンド・カラーは白です。boxbgcolor属性を使用すると、別のバックグラウンド・カラーを指定できます。標準のAPPLET要素では、次の形式で使用します。

<APPLET ...>
<PARAM name="boxbgcolor" value="<value>">
</APPLET>

<value>に指定できる値は次のとおりです。

  • java.awt.Colorから返されたColor

  • r、g、brg、およびb0-255の範囲の整数であり、ColorコンストラクタのColor(int r, int g, int b)において不透明な標準RGB (sRGB)色をレンダリングします。

  • HTMLの標準色: silver、green、maroon、purple、navy、teal、およびolive

  • 16進形式

各形式の例: value="cyan", value="111,222,145", value="silver", value="#33FF33"

デフォルトではアプレット・ウィンドウのフォアグラウンド色は黒です。boxfgcolor属性を使用すると、別のバックグラウンド・カラーを指定できます。カラー値は上述したものと同じです。標準のAPPLET要素では、次の形式で使用します。

<APPLET ...>
<PARAM name="boxfgcolor" value="<value>">
</APPLET>

32.5.4 アプレット属性の優先順位

アプレットのこれらの属性の優先順位は、次のとおりです。

  1. パラメータが指定されていない場合、デフォルトの外観が使用されます。

  2. image属性にカスタム・グラフィックが指定されている場合、カスタム・グラフィックがimageに記載されているとおりに表示されます。

  3. boxmessage属性にカスタム・テキストが指定されている場合、カスタム・テキストがboxmessageに記載されているとおりに表示されます。

imageおよびboxmessageの各属性をどのように組み合わせる場合でも、boxbgcolorおよびboxfgcolorの各属性でカスタム・カラーを指定できます。

目次      

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.