Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第3部 EJB編> 第14章 EJBアプリケーションの呼出し方法> 14.6 Javaアプレットを使用する場合

14.6.3 開発手順(Portable-ORB)

HTMLファイルの記述

 アプレットを実行するには、HTMLファイルで<applet>タグを使用してアプレットを指定します。

 また、動作するJava VMによってPortable-ORBのファイルを使用します。
 Portable-ORBをダウンロードする運用では、Javaアプレットを実行するHTMLファイルで、<APPLET ARCHIVE>タグまたは<PARAM>タグ(cabbase)を記述します。

◆ダウンロードするファイル

 アプレット実行時にWebサーバからダウンロードするjarファイルを以下に示します。これらのjarファイルは、デジタル署名を行いWebサーバに格納します。

 以下にそれぞれのファイルについて説明します。

◆アプレットのjarファイル

 以下のjarファイルです。

◆Portable-ORB用のjarファイル


 Portable-ORB用のjarファイル名と格納先を以下に示します。

ファイル名

格納先

JDK1.3用
 ODporbROI2_plugin.jar
JDK1.4用
 ODporbROI4_plugin.jar

C:\Interstage\Porb\lib


ODporbROI2_plugin.jarの代わりに、以下のファイルも使用できます。


 Portable-ORB用のjarファイル名と格納先を以下に示します。

ファイル名

格納先

JDK1.3用
 ODporbROI2_plugin.jar
JDK1.4用
 ODporbROI4_plugin.jar

/opt/FJSVporb/lib


ODporbROI2_plugin.jarの代わりに、以下のファイルも使用できます。

◆EJBサービスのクライアント用jarファイル

 EJBサービスのクライアント用のjarファイル名と格納先を以下に示します。

ファイル名

格納先

JDK1.3用
・fjcontainer72_plugin.jar
・fjentity72_plugin.jar(注)
JDK1.4用
・fjcontainer74_plugin.jar
・fjentity74_plugin.jar(注)

C:\Interstage\EJB\lib
または
C:\Interstage\EJBCL\lib


 クライアントからEntity Beanに直接アクセスする場合だけ必要です。


 EJBサービスのクライアント用のjarファイル名と格納先を以下に示します。

ファイル名

格納先

JDK1.3用
・fjcontainer72_plugin.jar
・fjentity72_plugin.jar(注)
JDK1.4用
・fjcontainer74_plugin.jar
・fjentity74_plugin.jar(注)

/opt/FJSVejb/lib
または
C:\Interstage\EJBCL\lib


 クライアントからEntity Beanに直接アクセスする場合だけ必要です。


 JBKプラグインを使用してください。ブラウザのJavaVMやJava Plug-inは使用できません。

 以下に、各Java VMでHTMLファイルの記述例を示します(タイトル: Java sample Applet、Javaアプレット名: Sample)。

◆ 記述例

JDK1.3系の場合

(1)JBKプラグインを使用する場合

 <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,
          ODporbROI2_plugin.jar,fjcontainer72.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>

(2)Portable-ORBをダウンロードしない場合(JBKプラグインを使用する場合)

  <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>

JDK1.4系の場合

(1)JBKプラグインを使用する場合

 <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,
          ODporbROI2_plugin.jar,fjcontainer72.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>

(2)Portable-ORBをダウンロードしない場合(JBKプラグインを使用する場合)

  <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>

◆備考

■アプレットのプログラミング

 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
  }
---------------------------------------------------------------------------------------
  1. Contextを作成するときの環境情報を設定します。このとおりに記述してください。
  2. lookupするためのContextを作成します。このとおりに記述してください。
  3. lookupを行います。引数にEJBアプリケーション名を指定してください。lookupに失敗した場合、javax.naming.NameNotFoundException例外が発生します。
    失敗の理由は当例外の詳細メッセージとして通知されます。
    lookupに失敗したときの対処方法については“メッセージ集”の“J2EE使用時に出力される例外”の“lookup処理で例外が発生した場合の対処”を参照してください。
  4. lookupしたオブジェクトをnarrowします。javax.rmi.PortableRemoteObject.narrowを発行してください。

Javaクラスファイルのアーカイブ

 JavaクラスファイルをWebサーバに登録する場合、複数のファイルを一度にダウンロードしてダウンロード時間を短縮できるよう、クラスファイルをまとめたアーカイブファイルを作成します。アーカイブファイルは、jarコマンド(Java Development Kit(以降JDK)に含まれる)を使用して作成します。

 jarコマンドで作成したjarアーカイブファイルは、JBKプラグインで使用できます。

 ここで作成したJavaクラスファイルのアーカイブファイル(アプレット)をWebサーバからダウンロードして実行する場合は、アーカイブファイルに対して署名を行ってください。署名については、“アプレットのデジタル署名”を参照してください。

◆備考

 以下のクラスファイルをjarファイル化します。

 複数のクラスファイルをjarファイル化することにより、Webサーバからのダウンロードにかかる時間を短縮できます。

◆ アプレットのjarファイル化

 Apworksでアプレットを作成する場合は自動的にjarファイル化されます。Apworksを使用したアプレットの開発についての詳細は、Apworksの“Apdesigner プログラマーズガイド”または“コンポーネントデザイナ ユーザーズガイド”(注:Plus Developerでは提供していません)を参照してください。

 Apworksを使用しない場合は、jarコマンドを使用して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%)

■WebサーバへのJavaアプレットの登録

 HTMLファイル、Javaアプレット、IDL生成ファイルクラスをWebサーバ上の同じディレクトリに格納します。

 以下のjarファイルを、Webサーバに格納します。

 クライアントは、ブラウザから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サーバからダウンロードする場合の環境設定手順にしたがって環境を設定してください。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005