ヘッダーをスキップ
Oracle Application Server Adapters for Tuxedoユーザーズ・ガイド
10g リリース3(10.1.3.4)
B53277-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

6 OC4JとのOracleAS Adapter for Tuxedoの統合

この項の構成は、次のとおりです。

OC4Jの機能の概要

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 Application Server Adapter概要』、『Oracle Application Server Containers for J2EEユーザーズ・ガイド』、『Oracle Application Server Containers for J2EEサービス・ガイド』および『Oracle Application Server Containers for J2EEセキュリティ・ガイド』

アウトバウンド用Tuxedoアダプタの統合

この項の構成は、次のとおりです。

アウトバウンド用Tuxedoアダプタの構成

Oracle Connect Legacy Adapter RARをjca-legacy-adapterという名前でOC4Jサーバーにデプロイします。

適切なコネクション・ファクトリをOC4J Enterprise Managerに作成します。

表6-1に、コネクション・ファクトリのプロパティの説明を示します。

表6-1 アウトバウンド相互作用のOC4J接続プロパティ

プロパティ 説明

eisName

必須。使用するアダプタの名前を設定します。アダプタは、「Tuxedo OracleASアダプタの設定」に説明されているように、Oracle Studioを使用してOracle Connectサーバーで定義されます。

serverName

必須。Oracle Connectデーモンが動作しているサーバーの名前をTCP/IPアドレスまたはホスト名で入力します。関連項目: デーモンの詳細は、「デーモンの高度なチューニング」を参照してください。

workspace

オプション。使用するOracle Connectサーバー・ワークスペースの名前を指定します。デフォルトのワークスペースはNavigatorです。関連項目: ワークスペースの詳細は、「ワークスペース」を参照してください。

portNumber

オプション。サーバー上でOracle Connectデーモンが動作しているTCP/IPポートを指定します。デフォルトのポートは2551です。

userName

オプション。Oracle Connectサーバーにアクセスできるユーザーを指定します。Oracle Connectデーモンの構成で定義されたユーザーです。関連項目: Oracle Connectサーバーへのアクセスを許可するユーザーの詳細は、デーモンの「Security」およびワークスペースの「Security」を参照してください。

password

オプション。ユーザーの有効なパスワードを指定します。

persistentConnection

オプション。trueまたはfalseに設定します。trueに設定した場合、接続は、複数のリクエストまたは複数の接続コンテキストの変更全体にわたって存続できます。このプロパティはtrueに設定することをお薦めします。

keepAlive

オプション。trueまたはfalseに設定します。trueに設定すると、接続に使用するソケットが常にオープン状態となります。このプロパティはtrueに設定することをお薦めします。

firewallProtocol

オプション。使用するファイアウォール・プロトコルを指定します。noneまたはfixedNat(デーモンの固定アドレスを使用するNatプロトコル)を指定します。デフォルトはnoneに設定されます。

connectTimeout

オプション。接続のタイムアウト(秒単位)を指定します。デフォルトは0(ゼロ)です。これは、接続がタイムアウトしないことを示します。

encryptionProtocol

オプション。使用する暗号化プロトコルの名前を指定します。デフォルトはRC4に設定されます。プロパティの値が定義されていない場合は、RC4プロトコルが使用されます。

encryptionKeyName

オプション。使用する対称暗号鍵の名前を指定します。

encryptionKeyValue

オプション。使用する対称暗号鍵の値を指定します。

fakeXa

アウトバウンド相互作用専用です。trueに設定すると、XA APIはローカル・トランザクションAPIに内部的に変換されます。デフォルトはfalseに設定されます。

useNamespace

オプション。trueまたはfalseに設定します。trueに設定すると、メタデータのレコード・スキーマではネームスペースが使用されます。

exposeEventStreamMetadata

オプション。trueに設定すると、Tuxedo/Qアダプタのインバウンド・イベントのメタデータには標準XSDスキーマが使用されます。falseに設定すると、固有のスキーマが使用されます。


CCI APIを使用したアプリケーションの開発

Common Client Interface(CCI)APIを使用して、アダプタ相互作用を実行するアプリケーションを開発できます。

J2CA 1.5 Tuxedoリソース・アダプタでCCI APIを使用する手順は、次のとおりです。

  1. TuxedoアダプタのConnectionFactoryオブジェクトを選択します。

  2. 選択したConnectionFactoryを使用してConnectionオブジェクトを作成します。Connectionは、EISへの基礎となるネットワーク接続に対するハンドルです。serverNameプロパティによって識別されます。

  3. 選択したConnectionFactoryを使用してConnectionオブジェクトを作成します。AttuInteractionSpecオブジェクトを使用して相互作用プロパティを指定します。AttuInteractionSpecオブジェクトの書式は、次のとおりです。

    AttuInteractionSpec(java.lang.String name, int verb, int timeOut)
    

    次の表に、指定できるプロパティを示します。

    表6-2 interactionSpecプロパティ

    プロパティ 説明

    name

    実行する相互作用名を指定します。

    verb

    相互作用のモード(SYNC_SENDSYNC_SEND_RECEIVEまたはSYNC_RECEIVE)を指定します。

    timeOut

    指定された相互作用の実行に対して、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);
    
  4. interactionexecuteメソッドを起動し、EISへのコールを開始します。相互作用に対するデータは、入出力レコードとして渡します。

  5. 相互作用による処理の終了後、InteractionおよびConnectionオブジェクトを閉じます。

Tuxedo Queueインバウンド・アダプタの統合

この項の構成は、次のとおりです。

Tuxedo Queueインバウンド・アダプタの構成

Tuxedo Queueインバウンド・アダプタは、標準のJavaメッセージ・リスナー・インタフェースをサポートします。 標準のJavaメッセージ・リスナー・インタフェースを使用している場合、TuxedoアダプタはCoreDomRecordインスタンスをエンドポイントのonMessageメソッドに送信します。

表6-3 メッセージ・リスナーのタイプとそのActivationSpecクラス

メッセージ・リスナー・インタフェース ActivationSpecクラス レコード・タイプ

javax.resource.cci.MessageListener

com.oracle.adapter.AttuActivationSpec

com.atunity.adapter.core.CoreDomRecord


次の表に示したプロパティは、サポートされているActivationSpecクラスで定義されています。

表6-4 Queueインバウンド・プロセスに関するOC4J接続のプロパティ

プロパティ 説明

eisName

必須。使用するアダプタの名前を設定します。アダプタは、「Tuxedo Queue OracleASアダプタの設定」に説明されているように、Oracle Studioを使用してOracle Connectサーバーで定義されます。

messagesInBatch

バッチでエンドポイントに移動できるメッセージの最大数を指定します。デフォルトは50に設定されます。

support2PC

使用できる場合、グローバル・トランザクション・サポートを有効にします。デフォルトはFalseに設定されます。trueには設定しないでください。

waitTime

空のトランザクション期間と、Tuxedoアダプタがメッセージなしのレスポンス(これにより現行のトランザクションがクローズします)を戻す最大時間(秒)を定義します。デフォルトは30秒に設定されます。

retryInterval

次のリクエストを発行する前にサーバーにイベントが見つからない場合にリソース・アダプタが待機する時間。デフォルトは15秒に設定されています。

serverName

必須。Oracle Connectデーモンが動作しているTCP/IPアドレスまたはホスト名を設定します。関連項目: デーモンの詳細は、「デーモンの高度なチューニング」を参照してください。

workspace

オプション。使用するOracle Connectサーバー・ワークスペースの名前を指定します。デフォルトのワークスペースはNavigatorです。関連項目: ワークスペースの詳細は、「ワークスペース」を参照してください。

portNumber

オプション。サーバー上でOracle Connectデーモンが動作しているTCP/IPポートを指定します。デフォルトのポートは2551です。

userName

オプション。Oracle Connectサーバーにアクセスできるユーザーを指定します。Oracle Connectデーモンの構成で定義されたユーザーです。関連項目: Oracle Connectサーバーへのアクセスを許可するユーザーの詳細は、デーモンの「Security」およびワークスペースの「Security」を参照してください。

password

オプション。ユーザーの有効なパスワードを指定します。

firewallProtocol

オプション。使用するファイアウォール・プロトコルを指定します。noneまたはfixedNat(デーモンの固定アドレスを使用するNatプロトコル)を指定します。デフォルトはnoneに設定されます。

connectTimeout

オプション。接続のタイムアウト(秒単位)を指定します。デフォルトは0(ゼロ)です。これは、接続がタイムアウトしないことを示します。

encryptionProtocol

オプション。使用する暗号化プロトコルの名前を指定します。デフォルトはnullに設定されます。RC4プロトコルがサポートされます。

encryptionKeyName

オプション。使用する対称暗号鍵の名前を指定します。

encryptionKeyValue

オプション。使用する対称暗号鍵の値を指定します。

useNamespace

オプション。trueまたはfalseに設定します。trueに設定すると、メタデータのレコード・スキーマではネームスペースが使用されます。

exposeEventStreamMetadata

true(デフォルト)に設定されていると、EventStreamスキーマがエンドポイントに送信されます。

connectionFactory

このプロパティは、BPELまたはESB環境にのみ使用されます。アダプタの接続プロパティを含むconnectionFactoryクラスを指定します。接続プロパティがactivationSpecおよびconnectionFactoryの両方で定義されている場合は、activationSpecの値が使用されます。


CCI APIを使用したメッセージ・エンドポイント・アプリケーションの開発

エンドポイントでは、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>
    

J2CA Tuxedo Gateway同期インバウンド・アダプタの統合

この章の構成は、次のとおりです。

J2CA 1.5 Tuxedo Gateway同期インバウンド・アダプタの構成

Tuxedo Gateway同期インバウンド・アダプタは、標準のJavaメッセージ・リスナー・インタフェースをサポートします。 標準のJavaメッセージ・リスナー・インタフェースを使用している場合、TuxedoアダプタはエンドポイントのonMessageメソッドとの間でAttuMappedRecordインスタンスを送受信します。

表6-5 メッセージ・リスナーのタイプとそのActivationSpecクラス

メッセージ・リスナー・インタフェース ActivationSpecクラス レコード・タイプ

javax.resource.cci.MessageListener

com.oracle.adapter.AttuGWActivationSpec

com.atunity.adapter.AttuMappedRecord


次の表に示したプロパティは、特に記載がないかぎり、サポートされるactivationSpecクラスの両方で定義されています。

表6-6 同期インバウンド・プロセスに関するOC4J接続のプロパティ

プロパティ 説明

eisName

必須。使用するアダプタの名前を設定します。アダプタは、「Tuxedo Gateway OracleASアダプタの設定」に説明されているように、Oracle Studioを使用してOracle Connectサーバーで定義されます。

serviceName

必須。Tuxedoサービスの名前を設定します。このサービスは、Oracle Studioを使用してOracle Connectサーバーの相互作用として定義されます。

waitTime

空のトランザクション期間と、Tuxedoアダプタがメッセージなしのレスポンス(これにより現行のトランザクションがクローズします)を戻す最大時間(秒)を定義します。デフォルトは30秒に設定されます。

retryInterval

次のリクエストを発行する前にイベントがサーバーに見つからない場合にリソース・アダプタが待機する時間。デフォルトは15秒です。

endpointTimeout

エンドポイント・スレッド起動のタイムアウト(秒単位)を定義します。デフォルトは600秒です。

serverName

必須。Oracle Connectデーモンが動作しているTCP/IPアドレスまたはホスト名を設定します。関連項目: デーモンの詳細は、「デーモンの高度なチューニング」を参照してください。

portNumber

オプション。サーバー上でOracle Connectデーモンが動作しているTCP/IPポートを指定します。デフォルトのポートは2551です。

userName

オプション。Oracle Connectサーバーにアクセスできるユーザーを指定します。Oracle Connectデーモンの構成で定義されたユーザーです。関連項目: Oracle Connectサーバーへのアクセスを許可するユーザーの詳細は、デーモンの「Security」およびワークスペースの「Security」を参照してください。

password

オプション。ユーザーの有効なパスワードを指定します。

firewallProtocol

オプション。使用するファイアウォール・プロトコルを指定します。noneまたはfixedNat(デーモンの固定アドレスを使用するNatプロトコル)を指定します。デフォルトはnoneに設定されます。

connectTimeout

オプション。接続のタイムアウト(秒単位)を指定します。デフォルトは0(ゼロ)です。これは、接続がタイムアウトしないことを示します。

encryptionProtocol

オプション。使用する暗号化プロトコルの名前を指定します。デフォルトはnullに設定されます。RC4プロトコルがサポートされます。

encryptionKeyName

オプション。使用する対称暗号鍵の名前を指定します。

encryptionKeyValue

オプション。使用する対称暗号鍵の値を指定します。

useNamespace

オプション。trueまたはfalseに設定します。trueに設定すると、メタデータのレコード・スキーマではネームスペースが使用されます。

connectionFactory

このプロパティは、BPELまたはESB環境にのみ使用されます。アダプタの接続プロパティを含むconnectionFactoryクラスを指定します。接続プロパティがactivationSpecおよびconnectionFactoryの両方で定義されている場合は、activationSpecの値が使用されます。