HTMLファイルの記述
アプレットを実行するには、HTMLファイルで<applet>タグを使用してアプレットを指定します。
また、動作するJava VMによってPortable-ORBのファイルを使用します。
Portable-ORBをダウンロードする運用では、Javaアプレットを実行するHTMLファイルで、<APPLET ARCHIVE>タグまたは<PARAM>タグ(cabbase)を記述します。
ダウンロードするファイル
アプレット実行時にWebサーバからダウンロードするjarファイルを以下に示します。これらのjarファイルは、デジタル署名を行いWebサーバに格納します。
以下のjarファイルです。
クライアントアプリケーションとなるアプレットをjarファイル化したもの
対象となるEJBアプリケーションのクライアント配布物をjarファイル化したもの
Portable-ORB用のjarファイル名と格納先を以下に示します。
ファイル名 | 格納先 |
---|---|
ODporbROI4_plugin.jar |
|
参考
ODporbROI4_plugin.jarの代わりに、以下のファイルも使用できます。
ODporb4_plugin.jar
CosNaming4_plugin.jar
ODroi4_plugin.jar
EJBサービスのクライアント用のjarファイル名と格納先を以下に示します。
ファイル名 | 格納先 |
---|---|
|
|
注) クライアントからEntity Beanに直接アクセスする場合だけ必要です。
注意
JBKプラグインを使用してください。ブラウザのJavaVMやJava Plug-inは使用できません。
例
記述例
以下に、各Java VMでHTMLファイルの記述例を示します(タイトル: Java sample Applet、Javaアプレット名: Sample)。
<PARAM>タグのARCHIVE指定、および<EMBED>タグのARCHIVE指定でSample.jarをダウンロードするように指定します。
<HTML> <HEAD><!--demo.html--> <TITLE>Java sample Applet </TITLE> </HEAD> <BODY> <OBJECT CLASSID="CLSID:BEA62964-C40B-11D1-AACA-00A0C9216A67" WIDTH=300 HEIGHT=250> <PARAM NAME="TYPE" VALUE="application/x-JBK-Plugin"> <PARAM NAME="CODE" VALUE="Sample.class"> <PARAM NAME="ARCHIVE" VALUE="SampleApplet.jar,SampleClient.jar, ODporbROI4_plugin.jar,fjcontainer94_plugin.jar"> <PARAM NAME="PORB_HOME" VALUE="PORBDIR"> <COMMENT> <EMBED TYPE="application/x-JBK-Plugin" CODE="Sample.class" WIDTH=300 HEIGHT=250 ARCHIVE="Sample.jar" PORB_HOME="PORBDIR"> </EMBED> </COMMENT> </OBJECT> </BODY> </HTML>
<HTML> <HEAD><!--demo.html--> <TITLE>Java sample Applet </TITLE> </HEAD> <BODY> <OBJECT CLASSID="CLSID:BEA62964-C40B-11D1-AACA-00A0C9216A67" WIDTH=300 HEIGHT=250> <PARAM NAME="TYPE" VALUE="application/x-JBK-Plugin"> <PARAM NAME="CODE" VALUE="Sample.class"> <PARAM NAME="ARCHIVE" VALUE="Sample.jar"> <PARAM NAME="PORB_HOME" VALUE="PORBDIR"> <COMMENT> <EMBED TYPE="application/x-JBK-Plugin" CODE="Sample.class" WIDTH=300 HEIGHT=250 ARCHIVE="Sample.jar" PORB_HOME="PORBDIR"> </EMBED> </COMMENT> </OBJECT> </BODY> </HTML>
参考
上記のPortable-ORBをダウンロードする場合の例では、各Java VMで使用するPortable-ORBのファイルがHTMLファイルと同一の格納先ディレクトリを仮定したものです。同一ディレクトリにない場合は、ARCHIVE/VALUEでパスを指定します。Solaris/LinuxシステムをWebサーバとして使用する場合は、パスを設定する代わりにリンクファイルを作成することで代行できます。
<PARAM NAME>タグで指定するPORB_HOMEには、動作環境ファイルを検索する際のサブディレクトリ名を指定します。上記の例での動作環境ファイルの格納ディレクトリは、以下のとおりです。
Webサーバのドキュメントルートディレクトリ/PORBDIR/etc
パスの指定については、“Portable-ORB動作環境ファイルの指定”を参照してください。
JBKプラグインを使用してアプレットを実行する場合には、<APPLET>タグのかわりにJBKプラグイン用のタグを使用した記述してください。記述方法は使用するブラウザにより異なります。
上記の例はInternet Explorerで使用できるHTMLファイルの記述例です。記述方法の詳細については、Interstage Studioの“J Business Kit オンラインマニュアル”を参照してください。
アプレットのプログラミング
EJBクライアントを使用してクライアントアプリケーションをJavaアプレットとして開発する場合は、Javaアプリケーションと以下が違います。また、HTMLファイルの<applet>タグで記述したクラス名でクラス宣言します。
例
以下に、Javaアプレットでのlookup処理の記述例を示します。
import java.awt.*; // 抽象ウィンドウツールキットクラス public class Sample extends java.applet.Applet //appletクラスの宣言 { ・・・ // InitialContext獲得 Hashtable env = new Hashtable(); ・・・・1 env.put("java.naming.factory.initial", "com.fujitsu.interstage.ejb.jndi.FJCNCtxFactoryForClient"); ・・・・1 env.put("java.naming.applet", this); ・・・・1 javax.naming.Context ic = new javax.naming.InitialContext(env); ・・・・2 // lookup java.lang.Object Obj = (java.lang.Object)ic.lookup("SampleBean"); ・・・3 // homeのnarrow() h = (SampleHome)javax.rmi.PortableRemoteObject.narrow(Obj, SampleHome.class); ・・4 }
Contextを作成するときの環境情報を設定します。このとおりに記述してください。
lookupするためのContextを作成します。このとおりに記述してください。
lookupを行います。引数にEJBアプリケーション名を指定してください。lookupに失敗した場合、javax.naming.NameNotFoundException例外が発生します。
失敗の理由は当例外の詳細メッセージとして通知されます。
lookupに失敗したときの対処方法については“メッセージ集”の“J2EE使用時に出力される例外”の“lookup処理で例外が発生した場合の対処”を参照してください。
lookupしたオブジェクトをnarrowします。javax.rmi.PortableRemoteObject.narrowを発行してください。
注意
InitialContextの獲得(上記1~2)は、アプリケーション内で1回だけ実行するようにコンストラクタなどで実行してください。
Javaアプレットのファイル名は、アプレット内で宣言したクラス名と同じ(大文字/小文字の区別あり)にしてください。
Javaクラスファイルのアーカイブ
JavaクラスファイルをWebサーバに登録する場合、複数のファイルを一度にダウンロードしてダウンロード時間を短縮できるよう、クラスファイルをまとめたアーカイブファイルを作成します。アーカイブファイルは、jarコマンド(Java Development Kit(以降JDK)に含まれる)を使用して作成します。
jarコマンドで作成したjarアーカイブファイルは、JBKプラグインで使用できます。
ここで作成したJavaクラスファイルのアーカイブファイル(アプレット)をWebサーバからダウンロードして実行する場合は、アーカイブファイルに対して署名を行ってください。署名については、“15.8 アプレットのデジタル署名”を参照してください。
参照
jarコマンドの使用方法等については、JDKのドキュメントを参照してください。
以下のクラスファイルをjarファイル化します。
アプレット
クライアント配布物
複数のクラスファイルをjarファイル化することにより、Webサーバからのダウンロードにかかる時間を短縮できます。
Interstage Studioでアプレットを作成する場合は自動的にjarファイル化されます。Interstage Studioを使用したアプレットの開発についての詳細は、“Interstage Studio ユーザーズガイド”を参照してください。
Interstage Studioを使用しない場合は、jarコマンドを使用してjarファイル化してください。
EJBアプリケーションの配備時に生成されるクライアント配布物を、jarコマンドを使用してjarファイル化します。
サブディレクトリを含むクラスファイルからアーカイブファイルを作成する場合のコマンド使用例を以下に示します。
例
jarコマンド使用例
作成するjarファイル名とjarファイル化するクラスファイルを指定します。作成されたjarファイルにはサブディレクトリ内のファイルが含まれています。
jar cvf Sample.jar *.class Samplemod\*.class adding: Samplemod/_SampleintfStub.class (in=1282) (out=704) (deflated 45%) adding: Samplemod/Sampleintf.class (in=302) (out=215) (deflated 28%) adding: Samplemod/SampleintfHelper.class (in=2175) (out=994) (deflated 54%) adding: Samplemod/SampleintfHolder.class (in=907) (out=461) (deflated 49%)
注意
アーカイブファイルとするクラスファイルを指定する場合、パス指定の情報もアーカイブファイル内に含まれます。カレントディレクトリをアーカイブファイルとするクラスファイルが格納される最上位ディレクトリに移動後、クラスファイルの構成にしたがった指定を行い、アーカイブファイルを作成してください。
HTMLファイル内の<PARAM>タグでcabbaseを指定する場合、<APPLET>タグのARCHIVE指定は無効です。
WebサーバへのJavaアプレットの登録
HTMLファイル、Javaアプレット、IDL生成ファイルクラスをWebサーバ上の同じディレクトリに格納します。
以下のjarファイルを、Webサーバに格納します。
アプレットのjarファイル
クライアント配布物のjarファイル
Portable-ORB用jarファイル
EJBサービスのクライアント用jarファイル
アプレットを呼び出すHTMLファイル
クライアントは、ブラウザからWebサーバを参照することにより、上記ファイルをダウンロードします。
各ファイルをWebサーバに格納するときの構成例を以下に示します。
※1 [WebServer DocumentRoot]は、Webサーバの設定でユーザが任意に指定します。
※2 [app]は、当該アプリケーションを格納するディレクトリです。ユーザが任意に設定します。
※3 [etc]は、Portable-ORBが使用する動作環境設定ファイルを格納します。詳細は“Portable-ORB動作環境ファイルの指定”を参照してください。
※4 Portable-ORB用のjarファイル
※5 EJBサービスのクライアント用jarファイル
Webサーバで行うPortable-ORBの環境設定
“Portable-ORB動作環境ファイルの指定”を参照し、Portable-ORB/JavaアプレットをWebサーバからダウンロードする場合の環境設定手順にしたがって環境を設定してください。