EJBアプリケーション基盤のIIOP通信
J2EE機能では、IIOP通信は共通のサービスがリクエストを受信します。このため、サーバアプリケーションが複数動作している場合も、共通のポート番号(例:8002)がIIOP通信に使用されます。
一方、Java EE機能の場合は、クラスタのインスタンスごとにIIOP通信ポートを使用します。このため、複数のポート番号を使用します。Java EEでは、概念上のIIOP通信受信部を「IIOPリスナー」と呼んでいます。
CORBAアプリケーション実行基盤
Java EE機能では、CORBAクライアントアプリケーションの実行をサポートしています(CORBAサーバアプリケーションについてはサポートしていません)。
この機能を使用して、Java EE機能から、J2EE機能の既存のCORBAアプリケーションにアクセスすることが可能です。
CORBAでは、IDL定義から生成されるスタブ(クライアント用)、スケルトン(サーバ用)を使用し、通信処理を伴うメソッド呼出しを行います。
J2EE機能では、この生成にIDLcコマンドを使用しており、Java EEでも同様にIDLcコマンドを使用します。
■比較
J2EEの機能名/定義名 | Java EEの機能名/定義名 |
---|---|
IIOPリスナーポート | |
総接続数 | |
スレッドプール | |
サーバメソッド復帰時間 | |
なし | |
なし | |
クライアント無通信監視時間 | |
NamingServiceのリモート参照の獲得 | |
ORBベンダークラス名 | |
CORBAランタイム | |
コード変換機能 |
ポート番号
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
ポート番号 | Interstage管理コンソール > Interstage Application Server > システム > 環境設定 > CORBAサービス詳細設定 > ポート番号 | IIOPリスナーポート | [Interstage Java EE管理コンソール > 設定 > <クラスタ名>-config > ORB > IIOP リスナー > orb-listener-1 > リスナーポート]に表示される、IIOP_LISTENER_PORTシステムプロパティとして定義されています。 ただし、設定を行う際は、この項目は使用せず、asadminコマンドを使用します。 asadmin set <クラスタ名>-config.system-property.IIOP_LISTENER_PORT=<ポート番号> asadmin set <サーバーインスタンス名>.system-property.IIOP_LISTENER_PORT=<ポート番号> |
J2EE機能では、CORBAサービスが使用する共通のポート番号を指定します。
Java EE機能では、クラスタがIIOP接続に使用するポート番号を指定します。ただし、複数のインスタンスが存在する場合は、ポート番号はインスタンスごとに異なっている必要があります。
クライアントからの最大接続数
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
クライアントからの最大接続数 | Interstage管理コンソール > Interstage Application Server > システム > 環境設定 > CORBAサービス詳細設定 | 総接続数 | Interstage Java EE管理コンソール > 設定 > <クラスタ名>-config > ORB > 総接続数 |
クライアントからの最大接続数を指定します。
クライアントからの最大リクエスト数
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
クライアントからの最大リクエスト数 | Interstage管理コンソール > Interstage Application Server > システム > 環境設定 > CORBAサービス詳細設定 | スレッドプール | Interstage Java EE管理コンソール > 設定 > IJS01-config > スレッドプール > <スレッドプールID> > 最大スレッド数 |
J2EE機能では、CORBAサービスが受付可能なリクエストの最大数を指定します。
Java EE機能の最大スレッド数は、上記とは意味が異なりますが、処理可能なリクエスト数を決定するパラメタとなります。
クライアントタイムアウト時間
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
クライアントタイムアウト時間 | Interstage管理コンソール > Interstage Application Server > システム > 環境設定 > CORBAサービス詳細設定 | サーバメソッド復帰時間 | Java VMオプションに設定します。 (アプリケーションクライアントコンテナの場合は、VMARGS環境変数に以下を設定します。) -Dcom.sun.corba.ee.transport.ORBWaitForResponseTimeout=設定値 |
リクエスト送信から返信までの待機時間を指定します。
IPバージョン
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
IPバージョン | Interstage管理コンソール > Interstage Application Server > システム > 環境設定 > CORBAサービス詳細設定 | なし | IPv6は未サポートです。 |
運用するIPバージョンを指定します。
サーバ側無通信監視時間
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
サーバ側無通信監視時間 | Interstage管理コンソール > Interstage Application Server > システム > 環境設定 > CORBAサービス詳細設定 | なし | 未サポートです。 |
CORBAサービスが無通信状態を監視する時間を指定します。
クライアント側無通信監視時間
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
クライアント側無通信監視時間 | Interstage管理コンソール > Interstage Application Server > システム > 環境設定 > CORBAサービス詳細設定 | クライアント無通信監視時間 | Java VMオプションに設定します(アプリケーションクライアントコンテナの場合は、VMARGS環境変数に以下を設定します)。 -Dcom.sun.corba.ee.transport.ORBClientIdleConnectTimeouts=設定値 |
CORBAクライアントが無通信状態であることを監視する時間を指定します。
J2EE機能のCORBAでは、無通信時間が指定時間に到達した時点でコネクションが切断され、次回リクエスト送信時に再接続されます。
一方、Java EE機能では、無通信時間が指定時間に到達した時点ではなく、次回リクエスト送信時に、切断および再接続されます。
NamingServiceのリモート参照の獲得
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
NamingServiceのリモート参照の獲得 | アプリケーションにおいて、以下の方法で獲得します。
| NamingServiceのリモート参照の獲得 | NamingServiceのリモート参照はINSの形式で獲得します。
|
アプリケーションでNamingServiceを使用する際は、NamingServiceのリモート参照を獲得する必要があります。
Java EE機能でCORBAクライアントアプリケーションを動作させる場合は、J2EE機能のNamingServiceにアクセスします。このときのNamingServiceのリモート参照は、INS形式で指定します。
ORBベンダークラス名
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
ORBベンダークラス名 | [プロパティ名] [値] [プロパティ名] [値] | ORBベンダークラス名 | [プロパティ名] [プロパティ名] [値] |
org.omg.CORBA.ORBクラスとして動作するベンダークラスは、VMオプション、ORB#init()の引数、orb.propertiesファイルのいずれかで指定します。
スタンドアロンクライアントなど、指定が必要な場合は、J2EE/Java EEそれぞれのベンダークラス名を指定します。
CORBAランタイム
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
CORBAランタイム | プレインストール型Javaライブラリの場合
| CORBAランタイム |
|
JavaCORBAアプリケーションは、実行時、ORBベンダー提供クラスを参照します。
スタンドアロンクライアントなど必要な場合は、CLASSPATH環境変数にベンダークラスを含むjarファイルを指定します。
Java EE機能を使用する場合、サーブレットやEJBアプリケーション内で、リクエストごとに引数付きのORB.init()メソッドを発行すると、リソースを大量に消費します。
このため、J2EEからJava EEに移行する際は、リソースが不足しないように、リクエストごとではなくアプリケーション内で1回だけ引数付きのORB.init()メソッドを発行するように変更してください。
コード変換機能
J2EE機能名/定義名 | J2EE定義方法 | Java EE機能名/定義名 | Java EE定義方法 |
---|---|---|---|
コード変換機能 | 自動的にコード系をUNICODEと判断します。 | コード変換機能 | 自動的にコード系をUNICODEと判断します。 |
J2EE機能のCORBAでは、コード変換機能として、当社の標準コード変換機能であるiconvを使用します。
一方、Java EE機能のCORBAでは、Java VMのコード変換クラスを使用します。
この違いにより、Java EE機能のCORBAでは、EUC(U90)へのコード変換が利用できません。また、CORBAサーバアプリケーションのコード系(locale)が、EUCまたはSJISの場合に、コード変換結果に以下の非互換があります。
Java EE機能では、コード系がEUCの場合、JISX 0201、0208、0212の範囲の文字だけ扱えます。丸付き数字などの特殊文字や外字(ユーザ定義文字)は使用できません。
Java EE機能では、コード系がSJISの場合、Windows-31J独自追加文字(NEC特殊文字/IBM拡張文字)や外字(ユーザ定義文字)は使用できません。
J2EE機能とJava EE機能では、以下の文字をUnicodeに変換する場合に変換結果が異なります。
OS依存文字 | Unicodeへの変換 | |||
---|---|---|---|---|
J2EE | Java EE | |||
― | EUC | 0xa1bd | U+2015 | U+2014 |
SJIS | 0x815c | |||
~ | EUC | 0xa1c1 | U+ff5e | U+301c |
SJIS | 0x8160 | |||
∥ | EUC | 0xa1c2 | U+2225 | U+2016 |
SJIS | 0x8161 | |||
- | EUC | 0xa1dd | U+ff0d | U+2212 |
SJIS | 0x817c | |||
¢ | EUC | 0xa1f1 | U+ffe0 | U+00a2 |
SJIS | 0x8191 | |||
£ | EUC | 0xa1f2 | U+ffe1 | U+00a3 |
SJIS | 0x8192 | |||
¬ | EUC | 0xa2cc | U+ffe2 | U+00ac |
SJIS | 0x81ca |