Interstage Application Server/Interstage Web Server 移行ガイド |
目次 索引 |
第6章 J2EEの移行 | > 6.3 INTERSTAGE V3.xからJ2EEアプリケーションへの移行 |
Enterprise Bean開発を例に、J2EEに移行する場合の手順の相違点を以下に説明します。
EJBの場合、Interstage V3.xとは動作に違いがある機能が存在しますので、Enterprise Beanを開発する際には注意が必要です。詳しくは“EJBサービスの移行”を参照してください。
J2EEのセキュリティ機能を使用する場合には、セキュリティロール定義とメソッドパーミッション定義が必要です。メソッドパーミッション機能を使用することにより、J2EEアプリケーションクライアントやWebアプリケーションの認証機能と連携して、EJBアプリケーションの不当アクセスを制限することができます。J2EEのセキュリティ機能を使用する場合の運用環境の設定は、“J2EE ユーザーズガイド”の“J2EEアプリケーションのセキュリティ”を参照してください。
ここでは、データベースの変更(レコードの追加/削除)を、管理者のみが行うことができるように制御する例を説明します。Session Beanの開発でdeployment descriptorを編集する際に以下のように定義を追加します。
セキュリティロール名 |
説明 |
---|---|
Admin |
管理者 |
セキュリティロール名 |
メソッド名 |
インタフェース |
パラメタリスト |
説明 |
---|---|---|---|---|
Admin |
insertRecord |
Remote |
int,java.lang.String |
更新 |
Admin |
deleteRecord |
Remote |
int |
削除 |
上記の設定を行うことによって、メソッドに設定されたセキュリティロールに属するユーザ以外がメソッドを実行した場合には例外が返却されます。
この手順には特に相違はありません。
EJBアプリケーションの展開〜配備についてはInterstage管理コンソールで行うことができます。
また、データソースの登録についても、Interstage管理コンソールで行います。
詳細についてはInterstage管理コンソールのヘルプを参照してください。
クライアントアプリケーションのlookup処理の記述形式を変更する必要があります。また、J2EEアプリケーションクライアントの機能(リソースアクセスなど)を使用するためにdeployment descriptorファイルの作成が必要です。
【Interstage V3.x形式のソース】 ------------------------------------------------------------------------------- try{ InitialContext ic = new InitialContext(); java.lang.Object obj = ic.lookup("TutorialSession"); home = (TutorialSessionHome)PortableRemoteObject.narrow (obj, TutorialSessionHome.class); }catch(Exception ex){ ・・・ -------------------------------------------------------------------------------
【J2EE形式のソース】 ------------------------------------------------------------------------------- try{ InitialContext ic = new InitialContext(); java.lang.Object obj = ic.lookup("java:com/env/ejb/TutorialSession"); home = (TutorialSessionHome)PortableRemoteObject.narrow (obj, TutorialSessionHome.class); }catch(Exception ex){ ・・・ -------------------------------------------------------------------------------
Interstage V3.xまでの記述でも動作可能ですが、J2EEアプリケーションクライアントではEnterprise Bean Environment形式でlookup処理を行うことを推奨しています。
ただし、リソース接続者管理機能を使用する場合は、必ずEnterprise Bean Environment形式で記述してください。
deployment descriptorの定義項目についての詳細は“J2EE ユーザーズガイド”の“J2EEアプリケーションクライアントの設定”を参照してください。
【deployment descriptorファイルの例】 ------------------------------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE application-client PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application Client1.2//EN' 'http://java.sun.com/j2ee/dtds/application-client_1_2.dtd'> <application-client> <icon> <small-icon>smallicon.jpg</small-icon> <large-icon>largeicon.jpg</large-icon> </icon> <display-name>display</display-name> <description>Tutorial</description> <ejb-ref> <description>EJB Information</description> <ejb-ref-name>ejb/TutorialSession</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <home>TutorialSessionHome</home> <remote>TutorialSessionRemote</remote> <ejb-link>TutorialSession</ejb-link> </ejb-ref> </application-client> -------------------------------------------------------------------------------
J2EEアプリケーションクライアントの場合には、環境変数の設定、FJjndi.propertiesファイルの設定およびコマンドラインの変更が必要です。
環境変数CLASSPATHに、次の値が設定されていない場合は設定してください。
-------------------------------------------------------------------------------
C:\Interstage\J2EE\lib\isj2ee.jar
%ProgramFiles%\Common Files\FujitsuXML\xmlpro.jar
%ProgramFiles%\Common Files\FujitsuXML\xmltrans.jar
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
/opt/FJSVj2ee/lib/isj2ee.jar
/opt/FJSVj2ee/lib/isj2ee.jar
/opt/FJSVxmlpc/lib/xmltrans.jar
-------------------------------------------------------------------------------
名前変換機能やセキュリティ機能を使用する場合には“FJjndi.propertiesファイル”に必要な環境プロパティを指定する必要があります。このファイルに設定するユーザIDとパスワードはInterstage ディレクトリサービスに設定する必要があります。
【FJjndi.propertiesファイルの記述例】
-------------------------------------------------------------------------------
FJUserID=j2ee
FJPassword=j2ee
com.fujitsu.interstage.j2ee.DeploymentDescriptorClient=C:\work\TutorialClient\application-client.xml
-------------------------------------------------------------------------------
【FJjndi.propertiesファイルの記述例】
-------------------------------------------------------------------------------
FJUserID=j2ee
FJPassword=j2ee
com.fujitsu.interstage.j2ee.DeploymentDescriptorClient=/export/home/j2eeapl/TutorialClient/application-client.xml
-------------------------------------------------------------------------------
FJjndi.propertiesファイルの詳細については、“J2EE ユーザーズガイド”の“J2EEアプリケーションクライアントの設定”を参照してください。
ユーザIDとパスワードのInterstage ディレクトリサービスへの設定方法については、“ディレクトリサービス運用ガイド”の“エントリの管理”を参照してください。
クライアントアプリケーションを実行するコマンドラインを以下のように変更します。
【Interstage V3.xの場合】
-------------------------------------------------------------------------------
java -Djava.naming.factory.initial=com.fujitsu.interstage.ejb.jndi.FJCNCtxFactoryForClient Tutorial
-------------------------------------------------------------------------------
【J2EEの場合】
-------------------------------------------------------------------------------
java -Djava.naming.factory.initial=com.fujitsu.interstage.j2ee.jndi.InitialContextFactoryForClient Tutorial
-------------------------------------------------------------------------------
目次 索引 |