この項の構成は、次のとおりです。
Oracle Application Serverは、標準Java Development Kit(JDK)のJava仮想マシン(JVM)で動作する完全なJava 2 Enterprise Edition(J2EE)環境を提供します。OC4Jは、J2EEに認定されており、J2EE固有のコンテナ、APIおよびサービスをすべて提供します。OC4JはJ2CA 1.5標準をサポートしています。
J2CAは、EISとのアプリケーションの統合を単純化する標準Javaインタフェースを定義します。OracleASアダプタは、リソース・アダプタとしてOC4Jコンテナ内にデプロイされます。
OC4Jクライアント・アプリケーションとリソース・アダプタとの規約は、Common Client Interface(CCI)によって定義されます。OC4Jコンテナとリソース・アダプタとの規約は、サービス・プロバイダ・インタフェース(SPI)によって定義されます。SPI APIは、接続管理、トランザクション管理およびセキュリティ管理を取り扱います。
接続管理により、アプリケーション・コンポーネントは、EISに接続し、アプリケーション・サーバーが提供する接続プーリングを利用できるようになります。
トランザクション管理により、アプリケーション・サーバーは、トランザクション・マネージャを使用して複数のリソース・マネージャ全体のトランザクションを管理できるようになります。
ライフサイクル管理規約により、アプリケーション・サーバーは、アダプタのデプロイ中またはアプリケーション・サーバーの起動中にリソース・アダプタ・インスタンスを初期化できます。また、アプリケーション・サーバーは、サーバーの停止中またはアダプタのアンデプロイ中にリソース・アダプタ・インスタンスに通知できます。
ライフサイクル規約により、アプリケーション・サーバーがリソース・アダプタ・インスタンスのライフサイクルを管理するメカニズムが提供されます。
作業管理規約により、リソース・アダプタが自らスレッドを作成するかわりに、アプリケーション・サーバーによってディスパッチされたスレッドを使用して、ロジックを実行できます。Work
インスタンスの発行によってハンドシェイクが実行されます。これにより、アプリケーション・サーバーのスレッド管理が効率的になり、セキュリティやトランザクションなどの実行コンテキストをよりよく制御できるようになります。
EISからアプリケーション・サーバーへのインバウンド通信であるメッセージ・インフロー(「Tuxedo Queueインバウンド・アダプタの構成」を参照)。
この項の構成は、次のとおりです。
Oracle Connect Legacy Adapter RARをjca-legacy-adapter
という名前でOC4Jサーバーにデプロイします。
適切なコネクション・ファクトリをOC4J Enterprise Managerに作成します。
表6-1に、コネクション・ファクトリのプロパティの説明を示します。
表6-1 アウトバウンド相互作用のOC4J接続プロパティ
プロパティ | 説明 |
---|---|
|
必須。使用するアダプタの名前を設定します。アダプタは、「Tuxedo OracleASアダプタの設定」に説明されているように、Oracle Studioを使用してOracle Connectサーバーで定義されます。 |
|
必須。Oracle Connectデーモンが動作しているサーバーの名前をTCP/IPアドレスまたはホスト名で入力します。関連項目: デーモンの詳細は、「デーモンの高度なチューニング」を参照してください。 |
|
オプション。使用するOracle Connectサーバー・ワークスペースの名前を指定します。デフォルトのワークスペースは |
|
オプション。サーバー上でOracle Connectデーモンが動作しているTCP/IPポートを指定します。デフォルトのポートは |
|
オプション。Oracle Connectサーバーにアクセスできるユーザーを指定します。Oracle Connectデーモンの構成で定義されたユーザーです。関連項目: Oracle Connectサーバーへのアクセスを許可するユーザーの詳細は、デーモンの「Security」およびワークスペースの「Security」を参照してください。 |
|
オプション。ユーザーの有効なパスワードを指定します。 |
|
オプション。 |
|
オプション。 |
|
オプション。使用するファイアウォール・プロトコルを指定します。 |
|
オプション。接続のタイムアウト(秒単位)を指定します。デフォルトは0(ゼロ)です。これは、接続がタイムアウトしないことを示します。 |
|
オプション。使用する暗号化プロトコルの名前を指定します。デフォルトは |
|
オプション。使用する対称暗号鍵の名前を指定します。 |
|
オプション。使用する対称暗号鍵の値を指定します。 |
|
アウトバウンド相互作用専用です。 |
|
オプション。 |
|
オプション。 |
Common Client Interface(CCI)APIを使用して、アダプタ相互作用を実行するアプリケーションを開発できます。
J2CA 1.5 Tuxedoリソース・アダプタでCCI APIを使用する手順は、次のとおりです。
TuxedoアダプタのConnectionFactory
オブジェクトを選択します。
選択したConnectionFactory
を使用してConnection
オブジェクトを作成します。Connection
は、EISへの基礎となるネットワーク接続に対するハンドルです。serverName
プロパティによって識別されます。
選択したConnectionFactory
を使用してConnection
オブジェクトを作成します。AttuInteractionSpec
オブジェクトを使用して相互作用プロパティを指定します。AttuInteractionSpec
オブジェクトの書式は、次のとおりです。
AttuInteractionSpec(java.lang.String name, int verb, int timeOut)
次の表に、指定できるプロパティを示します。
表6-2 interactionSpecプロパティ
プロパティ | 説明 |
---|---|
|
実行する相互作用名を指定します。 |
|
相互作用のモード( |
|
指定された相互作用の実行に対して、EISが待機する時間(ミリ秒単位)を指定します。 |
次に、InteractionSpecのサンプルを示します。
AttuInteractionSpec iSpeq = new AttuInteractionSpec("query", javax.resource.cci.InteractionSpec.SYNC_RECEIVE, 60);javax.resource.cci.RecordFactory rf = new AttuRecordFactory(con, mcf.getLogger()); javax.resource.cci.MappedRecord queryRecord = rf.createMappedRecord("query"), queryRecord.put("##text", "select * from disam:nation"); javax.resource.cci.Record oRec = interaction.execute(iSpec, queryRecord);
interaction
でexecute
メソッドを起動し、EISへのコールを開始します。相互作用に対するデータは、入出力レコードとして渡します。
相互作用による処理の終了後、Interaction
およびConnection
オブジェクトを閉じます。
この項の構成は、次のとおりです。
Tuxedo Queueインバウンド・アダプタは、標準のJavaメッセージ・リスナー・インタフェースをサポートします。 標準のJavaメッセージ・リスナー・インタフェースを使用している場合、TuxedoアダプタはCoreDomRecord
インスタンスをエンドポイントのonMessage
メソッドに送信します。
表6-3 メッセージ・リスナーのタイプとそのActivationSpecクラス
メッセージ・リスナー・インタフェース | ActivationSpecクラス | レコード・タイプ |
---|---|---|
|
|
com.atunity.adapter.core.CoreDomRecord |
次の表に示したプロパティは、サポートされているActivationSpecクラスで定義されています。
表6-4 Queueインバウンド・プロセスに関するOC4J接続のプロパティ
プロパティ | 説明 |
---|---|
|
必須。使用するアダプタの名前を設定します。アダプタは、「Tuxedo Queue OracleASアダプタの設定」に説明されているように、Oracle Studioを使用してOracle Connectサーバーで定義されます。 |
|
バッチでエンドポイントに移動できるメッセージの最大数を指定します。デフォルトは |
|
使用できる場合、グローバル・トランザクション・サポートを有効にします。デフォルトは |
|
空のトランザクション期間と、Tuxedoアダプタがメッセージなしのレスポンス(これにより現行のトランザクションがクローズします)を戻す最大時間(秒)を定義します。デフォルトは30秒に設定されます。 |
|
次のリクエストを発行する前にサーバーにイベントが見つからない場合にリソース・アダプタが待機する時間。デフォルトは |
|
必須。Oracle Connectデーモンが動作しているTCP/IPアドレスまたはホスト名を設定します。関連項目: デーモンの詳細は、「デーモンの高度なチューニング」を参照してください。 |
|
オプション。使用するOracle Connectサーバー・ワークスペースの名前を指定します。デフォルトのワークスペースは |
|
オプション。サーバー上でOracle Connectデーモンが動作しているTCP/IPポートを指定します。デフォルトのポートは |
|
オプション。Oracle Connectサーバーにアクセスできるユーザーを指定します。Oracle Connectデーモンの構成で定義されたユーザーです。関連項目: Oracle Connectサーバーへのアクセスを許可するユーザーの詳細は、デーモンの「Security」およびワークスペースの「Security」を参照してください。 |
|
オプション。ユーザーの有効なパスワードを指定します。 |
|
オプション。使用するファイアウォール・プロトコルを指定します。 |
|
オプション。接続のタイムアウト(秒単位)を指定します。デフォルトは0(ゼロ)です。これは、接続がタイムアウトしないことを示します。 |
|
オプション。使用する暗号化プロトコルの名前を指定します。デフォルトは |
|
オプション。使用する対称暗号鍵の名前を指定します。 |
|
オプション。使用する対称暗号鍵の値を指定します。 |
|
オプション。 |
|
|
|
このプロパティは、BPELまたはESB環境にのみ使用されます。アダプタの接続プロパティを含む |
エンドポイントでは、onMessage
メソッドを使用します。次のサンプルに、CoreDomRecord
クラスからDOMを受け取る方法を示します。
例6-1 onMessageメソッド
public Record onMessage(Record inMessage)throws javax.resource.ResourceException { … CoreDOMWriter domW; domW = new CoreDOMWriter(false); Element outEl = ((CoreDomRecord)inMessage).getDom(); String xml = domW.toXMLString(outEl); … return null; }
アダプタは戻り値を無視します。
Tuxedo Queueアダプタにemployee
およびdepartment
の2つのタイプのメッセージが記述されている場合、XMLデータに、次の入力レコード構造を含める必要があります。
exposeEventStreamMetadata
プロパティがtrue
に設定されている場合:
<eventStream> < EMPLOYEE> ... </ EMPLOYEE> <DEPARTMENT> ... </DEPARTMENT> </eventStream>
exposeEventStreamMetadata
プロパティがfalse
に設定されている場合:
<getEventsResponse xmlns="noNamespace://QVREAD"> <event eventName="EMPLOYEE" timestamp="2005-08-23T15:23:18"> < EMPLOYEE> ... </ EMPLOYEE> </event> <event eventName=" DEPARTMENT " timestamp="2005-08-23T15:23:18"> <DEPARTMENT> ... </DEPARTMENT> </event> </getEventsResponse>
この章の構成は、次のとおりです。
Tuxedo Gateway同期インバウンド・アダプタは、標準のJavaメッセージ・リスナー・インタフェースをサポートします。 標準のJavaメッセージ・リスナー・インタフェースを使用している場合、TuxedoアダプタはエンドポイントのonMessage
メソッドとの間でAttuMappedRecord
インスタンスを送受信します。
表6-5 メッセージ・リスナーのタイプとそのActivationSpecクラス
メッセージ・リスナー・インタフェース | ActivationSpecクラス | レコード・タイプ |
---|---|---|
|
|
|
次の表に示したプロパティは、特に記載がないかぎり、サポートされるactivationSpecクラスの両方で定義されています。
表6-6 同期インバウンド・プロセスに関するOC4J接続のプロパティ
プロパティ | 説明 |
---|---|
|
必須。使用するアダプタの名前を設定します。アダプタは、「Tuxedo Gateway OracleASアダプタの設定」に説明されているように、Oracle Studioを使用してOracle Connectサーバーで定義されます。 |
serviceName |
必須。Tuxedoサービスの名前を設定します。このサービスは、Oracle Studioを使用してOracle Connectサーバーの相互作用として定義されます。 |
|
空のトランザクション期間と、Tuxedoアダプタがメッセージなしのレスポンス(これにより現行のトランザクションがクローズします)を戻す最大時間(秒)を定義します。デフォルトは30秒に設定されます。 |
|
次のリクエストを発行する前にイベントがサーバーに見つからない場合にリソース・アダプタが待機する時間。デフォルトは |
endpointTimeout |
エンドポイント・スレッド起動のタイムアウト(秒単位)を定義します。デフォルトは |
|
必須。Oracle Connectデーモンが動作しているTCP/IPアドレスまたはホスト名を設定します。関連項目: デーモンの詳細は、「デーモンの高度なチューニング」を参照してください。 |
|
オプション。サーバー上でOracle Connectデーモンが動作しているTCP/IPポートを指定します。デフォルトのポートは |
|
オプション。Oracle Connectサーバーにアクセスできるユーザーを指定します。Oracle Connectデーモンの構成で定義されたユーザーです。関連項目: Oracle Connectサーバーへのアクセスを許可するユーザーの詳細は、デーモンの「Security」およびワークスペースの「Security」を参照してください。 |
|
オプション。ユーザーの有効なパスワードを指定します。 |
|
オプション。使用するファイアウォール・プロトコルを指定します。 |
|
オプション。接続のタイムアウト(秒単位)を指定します。デフォルトは0(ゼロ)です。これは、接続がタイムアウトしないことを示します。 |
|
オプション。使用する暗号化プロトコルの名前を指定します。デフォルトは |
|
オプション。使用する対称暗号鍵の名前を指定します。 |
|
オプション。使用する対称暗号鍵の値を指定します。 |
|
オプション。 |
|
このプロパティは、BPELまたはESB環境にのみ使用されます。アダプタの接続プロパティを含む |