2 WebLogicシンT3クライアントの開発
- WebLogicシンT3クライアントの理解
WebLogicシンT3クライアント(wlthint3client.jar
およびwlthint3client.jakarta.jar
)は、フル・インストール・クライアント(weblogic.jar
)にかわる軽量クライアントです。シンT3クライアントは、サイズを最小限に抑えながら、クライアントでの使用に適した豊富なAPI群へのアクセスを実現します。シンT3クライアントでは、その名前が示すように、WebLogic T3プロトコルを使用する必要があります。 - 基本的なWebLogicシンT3クライアントの開発
WebLogic初期コンテキストを使用して、基本的なWebLogicシンT3クライアントを作成する方法を学習します。 - 外部サーバー・アプリケーション
外部サーバーにホストされているアプリケーションは、wlthint3client.jar
を使用すると、WebLogic Serverインスタンスのリモート・クライアントとして機能できます。JMS、サーブレット、EJB、起動クラスなどのリモート・サービスへのアクセスを可能にするには、必要なアプリケーション・コードをwlthint3client.jar
とともにデプロイします。アプリケーション・サーバーでJava EE (javax
パッケージの使用)がサポートされている場合は、wlthint3client.jar
を使用します。アプリケーション・サーバーでJakarta EE (jakarta
パッケージの使用)がサポートされている場合は、wlthint3client.jakarta.jar
を使用します。
WebLogicシンT3クライアントの理解
WebLogicシンT3クライアント(wlthint3client.jar
およびwlthint3client.jakarta.jar
)は、フル・インストール・クライアント(weblogic.jar
)にかわる軽量クライアントです。シンT3クライアントは、サイズを最小限に抑えながら、クライアントでの使用に適した豊富なAPI群へのアクセスを実現します。シンT3クライアントでは、その名前が示すように、WebLogic T3プロトコルを使用する必要があります。
シンT3クライアントには、Java EEをサポートするバージョンと、Jakarta EEをサポートするバージョンの2つがあります。Java EEシンT3クライアントは、スタンドアロン・アプリケーションで使用でき、外部の(WebLogic以外の)サーバーで実行するアプリケーションで使用できるように設計されています。一般的なユース・ケースの1つは、WebLogic JMS宛先との統合です。JakartaバージョンのシンT3クライアントは、Helidon 3.x JMSが統合されたWebLogic Serverで使用されます。
シンT3クライアントは、リモート・クライアントのほとんどのユース・ケースで推奨される方式です。シンT3クライアントには、次に示すような制限があります。
WebLogicシンT3の機能
このリリースでサポートされている内容は次のとおりです:
-
Oracle WebLogic ServerのRemote Method Invocation (RMI)用のT3/T3Sプロトコル。RMI over HTTP (HTTPトンネリング)や、RMI over HTTPS (SSLを介したHTTPトンネリング)を含みます。WebLogic T3通信の詳細は、『Oracle WebLogic Server RMIアプリケーションの開発』のT3プロトコルを実装したWebLogic RMIの使用に関する項を参照してください。
-
WebLogic Serverで使用可能なJMS、JMX、JNDI、およびEJBの各リソースへのアクセス。
-
wlsaft3client.jar
と組み合せて使用する場合のWebLogicストア・アンド・フォワード(SAF)サービス。JMS SAFを使用したメッセージの確実な送信に関する項を参照してください -
JTAを使用したトランザクションの開始と終了(ロールバックまたはコミット)。
-
WebLogicクライアントJMS機能。順序単位、作業ユニット、メッセージ圧縮、XMLメッセージ、JMS自動クライアント再接続、Destination Availability Helper APIなどがあります。
-
クライアント側のクラスタリングを使用すると、クライアント・アプリケーションはフェイルオーバーやWebLogic Serverインスタンスのロード・バランシングに関与できます。『Oracle WebLogic Server RMIアプリケーションの開発』のクラスタ化されたRMIアプリケーションに関する項を参照してください。
-
JAAS認証とJSSE SSL。「セキュリティ」を参照してください。
-
ネットワーク・クラスのロード。デフォルトでは、シンT3クライアントのネットワーク・クラスのロードは無効化されています。次のシステム・プロパティを使用して、ネットワークのクラスロードを有効化します。
-Dweblogic.rmi.networkclassloadingenabled=true
親トピック: WebLogicシンT3クライアントの理解
制限事項と考慮事項
このリリースでは以下の内容はサポートされていません。
-
MBeanベースのユーティリティ(JMSヘルパー、JMSモジュール・ヘルパーなど)、およびJMSマルチキャスト。MbeanベースのヘルパーのかわりにJMX呼出しを使用できます。
-
WebLogic JDBC拡張をはじめとするJDBCリソース。
-
クライアントでのWebLogic RMIサーバーの実行。
シンT3クライアントでは、ホストへの接続にJDKクラスを使用します(デュアル・スタック・マシンへの接続時を含む)。ホスト上に複数のアドレスが存在する場合、ホストが正しく構成されていないと、間違ったアドレスへの接続が試行され、接続に失敗する可能性があります。
親トピック: WebLogicシンT3クライアントの理解
相互運用性
このリリースのWebLogicシンT3クライアントは、相互運用性を次のようにサポートしています。
WebLogic Serverの旧リリース
WebLogicシンT3クライアントにおける旧WebLogic Serverリリースとの通信のサポートの詳細は、『Oracle WebLogic Serverの理解』のプロトコルの互換性に関する項を参照してください。
親トピック: 相互運用性
外部アプリケーション・サーバー
WebLogicシンT3クライアントJARは、次のアプリケーション・サーバーでサポートされています:
-
GlassFish
-
IBM WebSphereアプリケーション・サーバー
-
Red Hat JBoss Application Server
親トピック: 相互運用性
セキュリティ
クライアントのセキュリティに関する一般情報は、次の項を参照してください。
-
『Oracle WebLogic Serverセキュリティの理解』のJava Secure Socket Extension (JSSE)に関する項。
-
『Oracle WebLogic Serverセキュリティの理解』のJava Authentication and Authorization Services (JAAS)に関する項。
-
『WebLogicセキュリティ・サービスによるアプリケーションの開発』のJavaクライアントでのSSL認証の使用に関する説明。
-
『WebLogicセキュリティ・サービスによるアプリケーションの開発』のJavaクライアントにおけるJAAS認証の使用に関する項。
親トピック: WebLogicシンT3クライアントの理解
接続の考慮事項
WebLogicシンT3クライアントでは、JDKクラスを使用してホストに接続します。ホストで複数のアドレス(デュアル・スタック)が使用可能な場合、そのホストが正しく構成されていないと、クライアントが間違ったIPアドレスに接続してしまう可能性があります。
親トピック: WebLogicシンT3クライアントの理解
基本的なWebLogicシンT3クライアントの開発
WebLogic初期コンテキストを使用して、基本的なWebLogicシンT3クライアントを作成する方法を学習します。
基本的なWebLogicシンT3クライアントを作成するには、次のステップに従います。
-
リモート・オブジェクトへの参照を取得します。
-
t3://ip address:port
またはt3s://ip address:port
という形式のT3 URLを使用して、サービスをホストするサーバーの初期コンテキストを取得します。 -
初期コンテキストを使用してルックアップを実行することで、サービス・オブジェクトのインスタンスを取得します。このインスタンスは、ローカル・オブジェクト参照と同じように使用できます。
-
-
リモート・オブジェクト・メソッドを呼び出します。
-
クライアントのクラスパスに
wlthint3client.jar
を追加します。このファイルは、WebLogic ServerがインストールされているWL_HOME
\server\lib
ディレクトリにあります。ノート:
複数のクライアントを組み合せて拡張機能セットを作成することはサポートされていません。
wlfullclient.jar
、wlthint3client.jar
またはwlclient.jar
を、WebLogic ServerのクラスパスやWebLogicフル・インストールのweblogic.jar
ファイルを参照するクラスパスに追加しないでください。追加した場合の動作は不明です。WebLogic Serverアプリケーションは、すでにWebLogicクライアントの機能をすべて利用できます。
例2-1に、基本的なWebLogicシンT3クライアントのサンプル・コードを示します。
例2-1 WebLogic初期コンテキストの作成および使用
Hashtable env = new Hashtable(); env.put("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory"); env.put("java.naming.provider.url","t3://host:7001"); env.put("java.naming.security.principal","user"); env.put("java.naming.security.credentials","password"); Context ctx = new InitialContext(env); try { Object homeObject = context.lookup("EmployeeBean"); //use the EmployeeBean } catch (NamingException e) { // a failure occurred } finally { try {ctx.close();} catch (Exception e) { // a failure occurred } }
親トピック: WebLogicシンT3クライアントの開発
外部サーバー・アプリケーション
外部サーバーにホストされているアプリケーションは、wlthint3client.jar
を使用すると、WebLogic Serverインスタンスのリモート・クライアントとして機能できます。JMS、サーブレット、EJB、起動クラスなどのリモート・サービスへのアクセスを可能にするには、必要なアプリケーション・コードをwlthint3client.jar
とともにデプロイします。アプリケーション・サーバーでJava EE (javax
パッケージの使用)がサポートされている場合は、wlthint3client.jar
を使用します。アプリケーション・サーバーでJakarta EE (jakarta
パッケージの使用)がサポートされている場合は、wlthint3client.jakarta.jar
を使用します。
JNDIを使用して外部アプリケーション・サーバーからWebLogic Serverリソースに接続し、アクセスするには、ガイドラインとして次のステップに従ってください。
次の項では、外部サーバーと相互運用する際に考慮する事項について概説します。
デプロイメントの考慮事項
ノート:
シンT3クライアントをWebLogic Serverアプリケーションまたはライブラリの一部としてデプロイしないでください。WebLogic Serverインスタンスには、すでに必要なT3クライアント・クラスが含まれています。Java EEの標準的な方法を使用してwlthint3client.jar
をデプロイするか、Jakarta EEの標準的な方法を使用して wlthint3client.jakarta.jar
をデプロイできます。ただし、使用するデプロイメント方法を決める際には、クライアントのサイズ、クラスのロード、パフォーマンス、およびコードの不整合が発生するリスクへの許容度を考慮する必要があります。たとえば:
-
wlthint3client.jar
またはwlthint3client.jakarta.jar
をサーブレットなどのアプリケーションに埋め込んだ場合、アプリケーションのサイズはwlthint3client.jar
またはwlthint3client.jakarta.jar
ファイルのサイズだけ増えますが、コードの不整合が発生するリスクはアプリケーションの範囲に限定されます。 -
wlthint3client.jar
またはwlthint3client.jakarta.jar
ファイルをlib
ディレクトリにデプロイした場合、アプリケーションのサイズに影響はありませんが、コードの不整合が発生するリスクは外部サーバー・コンテナ全体に及びます。
親トピック: 外部サーバー・アプリケーション