プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Service Busでのサービスの開発
12c (12.1.3)
E53004-06
目次へ移動
目次

前
次

37 Tuxedoトランスポートの使用

この章では、Tuxedoトランスポートの概要と、サービスでの使用および構成方法について説明します。Tuxedoトランスポートを使用すると、TuxedoサービスをService Bus環境にもたらすことができます。

この章の内容は次のとおりです。

37.1 Tuxedoトランスポートの概要

Service BusとOracle Tuxedoを連携して動作させることにより、各製品に用意されているサービスを使用できます。Tuxedoトランスポートでは、Service BusからTuxedoドメインへの、安全で保証された、高パフォーマンスの双方向アクセスが提供されます。Tuxedoトランスポートでは、Tuxedoドメインからサービスをコールすることも、Tuxedoドメインにあるサービスをコールすることもできます。

サービスはアウトバウンドまたはインバウンドのいずれかです。

  • Service Busが、Tuxedoに用意されているサービスを使用する場合、TuxedoトランスポートによりそれらのTuxedoサービスへのアクセスが容易になります。アウトバウンドという用語はこのビジネス・サービス・シナリオを表します。

  • TuxedoでService Busに用意されているサービスを使用する場合、TuxedoサービスはService Busサービスを、もう1つのTuxedoアプリケーションのようにコールできます。インバウンドという用語はこのプロキシ・サービス・シナリオを表します。

Tuxedoトランスポートは、JDeveloperまたはOracle Service Busコンソールで構成できます。特定のパラメータによって、プロキシ・サービスとビジネス・サービスの両方を定義します。Tuxedo転送の構成を有効にするには、1つのローカル・アクセス・ポイントおよび1つのリモート・アクセス・ポイントを含む、基本的なWebLogic Tuxedo Connector (WTC)構成が必要です。トランザクション・コンテキストとセキュリティ・コンテキストもサポートされます。

次の図に、このメッセージ処理プロセスをまとめます。

図37-1 WTCのメッセージ処理

図37-1の説明が続きます
「図37-1 WTCのメッセージ処理」の説明

37.1.1 Tuxedoトランスポートの機能

Service BusのネイティブなTuxedoトランスポートでは、次の機能が使用できます。

  • 高水準の階層トランスポート

    ネイティブのTuxedoトランスポートは、Service Busに完全に統合されています。Tuxedoビジネス・サービスとTuxedoプロキシ・サービスの両方を構成、管理、およびモニターできます。

  • 双方向アクセス

    Service Busは、SOAP、JMSまたは他のサービスとTuxedo間の仲介として機能します。Tuxedoトランスポートにより、Service Busのビジネス・サービスとしてTuxedo ATMIサービスにアクセスしたり、Tuxedoで、Service Busのプロキシ・サービスを別のATMIサービスとして表示できるようになります。

  • バッファ変換

    XMLメッセージをTuxedoバッファ・タイプに、またTuxedoバッファ・タイプをXMLに変換できます。すべての標準のTuxedoバッファ・タイプがサポートされており、変換は自動的および透過的に行われます。詳細は、「Tuxedoトランスポートのバッファ変換」を参照してください。

  • トランザクションの整合性

    Tuxedoトランスポートにより、インバウンド・メッセージとアウトバウンド・メッセージのトランザクションの整合性が実現されます。Tuxedoサービスを、「必ず1回」のサービス品質(QoS)が可能なグローバル・トランザクションのコンテキスト内で呼び出すことができます。Tuxedoアプリケーションは、トランザクションを開始し、Service Busサービスをコールでき、XAトランザクション・コンテキストはService Bus、パイプラインに送信され、最終的に目的のトランスポートに送信されます。詳細は、「Tuxedoトランスポートのトランザクション処理」を参照してください。

  • セキュリティの伝播

    パイプラインの最初で確立されたセキュリティ・コンテキストは、TuxedoクライアントまたはService Busクライアントのいずれかから、もう一方のシステムに伝播します。つまり、受信した、認証が必要なService BusへのSOAP over HTTPリクエストは、Service Busによって認証されます。トランザクションと同様に、このサポートも完全に双方向であるため、Tuxedoに対し認証されたクライアントは、Service Busサービスにも、再度認証を必要とせずにリクエストを行うことができます。

  • 暗号化されたネットワーク接続

    WTC構成によってService BusとTuxedo間の接続を暗号化し、2つのシステム間の通信のセキュリティとプライバシを確保できます。

  • ロード・バランシング

    Service BusとTuxedoドメインの接続の要件は、単一のネットワーク接続のみです。ただし、マシンまたはネットワーク障害の場合は複数の接続が必要になる場合があります。ロード・バランシングのために、単一のドメインまたは複数のドメインに、複数の接続を確立できます。

37.2 Oracle Tuxedo Connectorの構成

Tuxedoトランスポートにより、WebLogic Tuxedo Connector (WTC)を使用してTuxedoサービスにアクセスできるようになります。Tuxedoトランスポートを使用するには、1つのローカル・アクセス・ポイントおよび1つのリモート・アクセス・ポイントを含む基本のWTCサーバーを構成する必要があります。

次の項では、WTCを構成する方法を説明します。

WTCのセキュリティの詳細は、『Oracle WebLogic Server WebLogic Tuxedo Connectorの管理』のOracle TuxedoとOracle WebLogic Server間のセキュリティを提供するためのOracle WebLogic Tuxedo Connectorの構成方法に関する項を参照してください。

37.2.1 始める前に

Service Busで使用するTuxedoアプリケーションに関する次の情報を収集します。

  • Tuxedoローカル・アクセス・ポイントのID

  • Tuxedoローカル・アクセス・ポイントのネットワーク・アドレス

  • エクスポートされたTuxedoサービスの名前

  • サービスで、XMLからFMLおよびFMLからXMLへの変換、あるいはViewからXMLまたはXMLからViewへの変換が必要かどうか

    次の項で説明する例では、FML/FML32バッファ・タイプの使用を前提とします。

  • Tuxedoドメイン・ゲートウェイがこのOracle Tuxedo Connectorインスタンスを表すために使用するアクセス・ポイントのID。これはリモート・アクセス・ポイントIDとも呼ばれます。)

  • Tuxedoドメイン・ゲートウェイがこのOracle Tuxedo Connectorローカル・アクセス・ポイントのために定義したネットワーク・アドレス。これはリモート・ネットワーク・アドレスとも呼ばれます。)

37.2.2 Oracle Tuxedo Connectorの構成

Service BusにTuxedoビジネス・サービスおよびプロキシ・サービスを作成またはインポートする場合、サービス構成にはOracle WebLogic Server管理コンソールにWebLogic Tuxedo Connectorリソースとして表示されるWebLogic Tuxedo Connector構成が含まれています。Service Busは同時に使用するWebLogic Tuxedo Connectorリソースを保つ必要があります。Oracle WebLogic Server管理コンソールにあるそれらのWebLogic Tuxedo Connectorリソースを変更すると、このリソースとService Busは同期しなくなります。また、Service Busにサービスを再インポートすると、サービス・アクティブ化が失敗します。

Service BusでWebLogic Tuxedo Connectorリソースを使用および構成するには、次のガイドラインに従ってください。

  • Service Busプロキシおよびビジネス・サービスに使用されるOracle WebLogic ServerコンソールにあるWebLogic Tuxedo Connectorリソースは変更しないでください。Service Busサービス構成のWebLogic Tuxedo Connector構成を変更します。

  • Service BusおよびOracle WebLogic ServerコンソールでのTuxedoサービス間にWebLogic Tuxedo Connector構成は同期していない場合、Oracle WebLogic ServerコンソールにあるWebLogic Tuxedo Connectorリソースを削除し、Service BusのTuxedoサービスを再構成するか、または再インポートする簡単な方法で、構成を同期できます。

37.3 Service BusでのTuxedoサービスの使用

次の項では、Service BusからTuxedoサービスを使用する方法を説明します。

37.3.1 Tuxedoベースのビジネス・サービスの構成

TuxedoサービスをService Busから使用するには、JDeveloperまたはOracle Service Busコンソールで、Tuxedoトランスポートを使用する新しいビジネス・サービスを作成します。ビジネス・サービスの作成と構成の詳細は、「ビジネス・サービスの作成と構成」を参照してください。Tuxedoトランスポートに固有のビジネス・サービスのプロパティについては、「Tuxedoトランスポートを使用するビジネス・サービスの構成」を参照してください。

ビジネス・サービスの作成時に、トランスポートとして「tuxedo」を選択し、サービス・タイプとして「任意のXMLサービス」または「メッセージ・サービス」を選択します。

注意:

「Service Bus」コンソールで、Tuxedoトランスポート・ビジネス・サービスの「トランスポート」タブを編集した場合、変更を伝播するにはタブを保存して閉じる必要がある場合があります。たとえば、エンドポイントURIを追加した場合、「トランスポートの詳細」タブで追加したエンドポイントURIを表示するには、タブを保存して閉じ、再度開く必要があります。

37.3.1.1 Tuxedoトランスポートのビジネス・サービスのエンドポイントURI

Tuxedoベースのビジネス・サービスを作成する際は、サービスのエンドポイントURIを指定します。Tuxedoサービスへのアウトバウンド・コールには、次のURI形式を使用します。

tuxedo:resourcename[/remotename]

説明:

  • resourcenameは、WTCインポート・サービス名に対応します。

  • remotenameは、リモートTuxedoドメインによりエクスポートされたサービス名に対応します。これはオプションです。

タイプ/QのTuxedoリソースへのアウトバウンド・コールには、次のURI形式を使用します。

tuxedo-queue:sendQspace/sendQname[/[rcvQspace:]/rcvQname][/failureQname]

説明:

  • tuxedo-queueは、/Q呼出しが行われることを示します。

  • sendQspaceは、Tuxedoドメインのキュー・スペースの一意の名前に対応します。

  • sendQnameは、リクエストが格納されるキュー・スペースのキュー名に対応します。

  • rcvQspaceは、返信が受信されるTuxedoドメインのキュー・スペースの一意の名前に対応します。これはオプションです。指定しない場合は、sendQspaceの値が使用されます。

  • rcvQnameは、返信が受信されるTuxedoドメインのキューの名前に対応します。これはオプションです。

    注意:

    rcvQspaceおよびrcvQnameプロパティは省略可能です。どちらの値も指定しない場合、ランタイムはただちに戻り、レスポンスは想定されません。この場合、Tuxedoトランスポートの詳細ページにある「レスポンスが必要」オプションは使用できません。

    どちらかの値を指定した場合に、「レスポンスが必要」オプションを選択していないと、指定した値は無視されます。

  • failureQnameは、Tuxedoドメイン内でエラー・メッセージが格納されるキューの名前に対応します。この値も省略可能です。rcvQspacercvQnameのどちらも指定されていないのに、failureQnameが指定されている場合、URI形式はtuxedo-queue:sendQspace/sendQname//failureQnameになります。

    注意:

    レスポンスが想定されている場合は、リクエストを送信したのと同じスレッドでレスポンスが発生します。

Tuxedoトランスポートでは、URIからリソース名とリモート名を使用して、WTCインポート・サービスを動的に作成します。複数のURIを指定する場合、エンドポイントごとに一意のリソース名を指定する必要があります。リモート名が指定されていない場合は、その値がリソース名の値になります。リモート名が入力されていない、またはリモート名およびリソース名が同じである場合は、1つのURIのみを使用できます。これにより、既に定義されたWTCインポート・サービスでWTCロード・バランシングおよびフェイルオーバーを使用できるようになります。

注意:

同一のURIを2つ構成すると、そのサービス名がすでに存在していることを通知するエラーが表示されます。

37.3.2 Tuxedoベースのビジネス・サービスのロード・バランシングおよびフェイルオーバー

ビジネス・サービスを指定し、エンドポイントURIを定義する場合に、リソース名とは異なるリモート名を入力すると、Service Busのロード・バランシングおよびフェイルオーバー機能が使用できます。この場合、複数のサービス名を定義し、それらを、複数のリモート・ドメインにレプリケートされたサービスに関連付けることができます。リソース名はユニークである必要がありますが、リモート名はユニークである必要はありません。

37.3.3 Tuxedoベースのビジネス・サービスのエラー処理

Tuxedoベースのビジネス・サービスでアプリケーションと通信のエラーを処理するには、次のように構成します。

  • アプリケーション・エラー: アプリケーション・エラーが発生したときにビジネス・サービスのエンドポイントURIを再試行するかどうかを指定します。詳細は、「ビジネス・サービスのトランスポート・プロトコル構成」を参照してください。

  • 通信エラー: 通信エラーが発生した場合に、ビジネス・サービスのURIをオフラインにするかどうかを指定します。詳細は、『Oracle Service Busの管理』の応答しないエンドポイントURIをオフラインにするためのService Busの構成に関する項を参照してください。

表37-1はTuxedo例外と例外によって示されるService Busエラーについて説明しています。

表37-1 Tuxedo例外

例外 説明

TPESVCFAIL

サービスが失敗しました。アプリケーション・エラーです。

TPENOENT

リクエストしたエントリが存在しません。通信エラーです。

TPEPERM

パーミッション・エラーが発生しました。通信エラーです。

37.3.4 構成のテスト

Service BusでTuxedoが動作するための構成が終了したら、Oracle Service Busコンソールにあるテスト・コンソールを使用して構成をテストできます。

次のタスク・リストは、Service BusによるTuxedoのアウトバウンドでの使用をテストするプロセスをまとめたものです。

  1. Tuxedoサーバーを構築して起動します。
  2. 作成したビジネス・サービスに関連付けられているService Busプロキシ・サービスをコールするように、Tuxedoサービスを設定します。
  3. Oracle Service Busコンソールで、「アクティブ化」をクリックして、テスト・コンソールを有効にします。
  4. ビジネス・サービスをエディタで開き、右上隅にある「テスト・コンソールの起動」アイコンをクリックします。
  5. テスト・コンソールにペイロードを入力します。詳細は、「ビジネス・サービス・テスト」を参照してください。
  6. 「実行」をクリックします。

    レスポンス・ページに、サービス・リクエストの結果が表示されます。

37.4 TuxedoでのService Busの使用

次の項では、TuxedoからService Busサービスを使用する方法について説明します。

37.4.1 Tuxedoベースのプロキシ・サービスの構成

Service BusサービスをTuxedoから使用するには、JDeveloperまたはOracle Service Busコンソールで、新しいプロキシ・サービスを構成します。プロキシ・サービスの作成と構成の詳細は、「プロキシ・サービスの作成と構成」を参照してください。Tuxedoトランスポートに固有のプロキシ・サービスのプロパティについては、「Tuxedoトランスポートを使用するプロキシ・サービスの構成」を参照してください。

プロキシ・サービスの作成時に、トランスポートとして「tuxedo」を選択し、サービス・タイプとして「任意のXMLサービス」または「メッセージ・サービス」を選択します。エンドポイントURIは、サービスがデプロイされたTuxedoサーバー上のエンドポイントURIに対応するサービス名です。

37.4.2 構成のテスト

TuxedoをService Busとともに使用するように構成したら、サービスをテストして、そのサービスが正しく動作することを確認できます。XMLからFML32およびFML32からXMLへの変換を使用している場合は、Tuxedoに含まれているud32 Tuxedoクライアント・プログラムを使用してこの構成をテストします。FML変換を使用している場合は、udクライアントを使用できます。ud32は、FMLバッファのテキスト表現で構成される入力を読み込みます。

XMLからFMLおよびFMLからXMLへの変換を使用しない場合は、テスト・クライアント・プログラムをTuxedoで開発してこの構成をテストする必要があります。

37.5 Tuxedoトランスポートのバッファ変換

Service BusとTuxedoを相互運用して、各製品に用意されているバッファ変換を含めたサービスを使用できます。Service BusのサービスのタイプとTuxedoのバッファ・タイプによって変換の方法が決まります。

TuxedoトランスポートがService Busでサポートするサービスのタイプは、任意のXMLサービスおよびメッセージ・サービスです。

  • 任意のXMLサービス(SOAP以外): XMLベースのサービスへのメッセージはXMLですが、サービスの構成で許可された任意のTuxedoのバッファ・タイプを使用できます。

  • メッセージ・サービス: メッセージ・サービスは、あるデータ型のメッセージを受信し、レスポンスとして別のデータ型のメッセージを返すことができます。サポートされるデータ型は、XML、MFL、テキスト、および型なしバイナリです。

次の項では、Tuxedoトランスポートでのバッファ変換の処理方法について説明します。

37.5.1 任意のXMLサービス・タイプの場合のバッファ変換

表37-2に、サービスのタイプが任意のXMLサービスの場合の、Tuxedoのバッファ・タイプに応じたTuxedoトランスポートの動作を示します。任意のXMLサービスの場合、ペイロードは整形式のXMLドキュメントであることが必要です。

表37-2 任意のXMLサービスの場合のバッファ変換

Tuxedoバッファ・タイプ Tuxedoトランスポートの動作

STRING

バッファをそのまま渡します。

CARRAY

X_OCTET

バッファをそのまま渡します。

FML/FML32

構成されたフィールド・クラスを使用して、バッファをXMLに(またはXMLからバッファに)変換します。

XML

バッファをそのまま渡します。

注意: TuxedoのバッファがXMLの場合、TuxedoアプリケーションはNULLバイトを送信しません

VIEW/VIEW32

X_C_TYPE

X_COMMON

構成されたViewクラスを使用して、バッファをXMLに(またはXMLからバッファに)変換します。

MBSTRING

バッファをそのまま渡します。

注意: エンコーディングは、送受信されたメッセージのMetaDataのencoding要素によって決まります。

37.5.2 メッセージ・サービス・タイプの場合のバッファ変換

表37-3に、サービスのタイプがメッセージング・サービスの場合の、Tuxedoのバッファ・タイプに応じたTuxedo転送の動作を示します。サブタイプになしが指定されている場合、Tuxedoトランスポートはバッファを受信しません。

表37-3 メッセージング・サービスの場合のバッファ変換

Tuxedoバッファ・タイプ バイナリ・メッセージング・タイプ テキスト・メッセージング・タイプ MFLメッセージング・タイプ XMLメッセージング・タイプ

STRING

そのまま渡されます。

そのまま渡されます。

バッファが適切な形式であると仮定し、そのまま渡されます。そうでない場合、トランスポートによってエラーが返されます。

XML

CARRAY

そのまま渡されます。

未サポート

バッファが適切な形式であると仮定し、そのまま渡されます。そうでない場合、トランスポートによってエラーが返されます。

XML

FML/FML32

そのまま渡されます。

未サポート

未サポート

XML

XML

そのまま渡されます。

そのまま渡されます。

未サポート

XML

VIEW/VIEW32

そのまま渡されます。

未サポート

未サポート

XML

MBSTRING

そのまま渡されます。

そのまま渡されます。

バッファが適切な形式であると仮定し、そのまま渡されます。そうでない場合、トランスポートによってエラーが返されます。

XML

Tuxedoトランスポートはバッファ処理を、任意のXMLサービス・タイプのサービスと同様に行います。

37.6 Tuxedoトランスポートのトランザクション処理

Service BusとTuxedoを相互運用して、各製品に用意されているサービス(多くの場合、トランザクション処理を含む)を使用できます。Tuxedoトランスポートは、Service Busでのトランザクションを活用または開始します。このトランザクション・サポートの例外は、インバウンド・トランスポートがトランザクション対応のメッセージのあるTuxedoで、アウトバウンドがリクエストおよびレスポンスXA/JMSの場合です。この場合、Service Busは例外を検出し、結果はTPESYSTEMエラーになります。

Tuxedoトランスポートのトランザクション動作は、メッセージ・コンテキスト・レベルで使用できるサービスの品質(QoS)設定に基づきます。詳細は、「サービスの品質」を参照してください。

次の項では、Tuxedoトランスポートでのトランザクションの処理方法について説明します。

37.6.1 インバウンドTuxedoサービスのトランザクション処理

トランザクション・コンテキストを受信すると、パイプラインに送信されるメッセージによって、QoSが「必ず1回」に設定されるか、そうでない場合は、QoSは「ベスト・エフォート」に設定されます。応答がクライアントに返される前にTransportExceptionが捕捉された場合、TPESYSTEM例外をスローしてリクエストが中断され、トランザクションは結果をロールバックします。

37.6.2 アウトバウンドTuxedoサービスのトランザクション処理

ビジネス・サービスを呼び出すスレッドにトランザクション・コンテキストがある場合、Tuxedoトランスポートは次のように動作します。

  • QoSが「必ず1回」に設定されている場合、エンドポイントがトランザクションを中断するように構成されている場合を除いて、Tuxedoトランスポートは、自動的にトランザクション・コンテキストをリモート・ドメインに転送します。

  • QoSが「ベスト・エフォート」に設定されている場合、Tuxedoトランスポートは、呼出しを行う前にトランザクションを中断し、呼出しが行われてから再開します。これは、TPNOTRANフラグを設定してATMI呼出しを行う場合と同じです。

ビジネス・サービスを呼び出すスレッドに、関連付けられているトランザクションがない場合、QoS設定に関係なく、Tuxedo呼出しは非トランザクションとして行われます。この場合、TPNOTRANフラグが設定されたtpcall()またはtpacall()に相当します。

37.7 Tuxedoトランスポート構成のリファレンス

この項では、プロキシ・サービスおよびビジネス・サービスでTuxedoトランスポートを使用する場合に構成できるプロパティについて説明します。

37.7.1 Tuxedoトランスポートを使用するプロキシ・サービスの構成

プロキシ・サービス定義エディタの「トランスポートの詳細」ページでは、次の表に示す、トランスポートを構成するためのプロパティが提供されます。

表37-4 プロキシ・サービス用のTuxedoトランスポート・プロパティ

オプション 説明

フィールド表クラス

受信されるFML/FML32バッファを表す(1つまたは複数の)クラスの名前を入力します。これらは、フィールド名を要素名にマップするために、FML/FML32からXMLへの変換ルーチンで使用されます。完全修飾クラス名をスペースで区切ってリストします。

Viewクラス

受信されるVIEW/VIEW32バッファを表す(1つまたは複数の)クラスの名前を入力します。これらは、フィールド名を要素名にマップするために、VIEWからXMLまたはVIEW32からXMLへの変換ルーチンで使用されます。これは空白で区切られた完全修飾クラス名のリストです。

Tuxedoのバッファ・タイプX_C_TYPEX_COMMONは、VIEW/VIEW32バッファと同様に処理されます。

受信リクエストにVIEWが含まれる場合、該当するVIEWクラスをService BusのCLASSPATHに指定する必要があります。

クラスJar

このエンドポイント・オペレーションに必要なFML/FML32またはVIEW/VIEW32クラスを持つJARファイルを含んだJARリソースを選択します。Oracle Service Busコンソール内で作業している場合、コンソール内でJARリソースを作成してから、そのリソースを選択する必要があります。詳細は、「JARファイルの追加方法」を参照してください。

ローカル・アクセス・ポイント

エクスポートに関連付けられたリストから、ローカル・アクセス・ポイントを選択します。このリストには、WebLogic Tuxedo Connector (WTC)で構成されたローカル・アクセス・ポイントが含まれます。関連するローカル・アクセス・ポイントがない場合、プロキシ・サービスは作成できません。

ローカル・アクセス・ポイントが存在しない場合、または、新しいローカル・アクセス・ポイントを作成する場合は、「新規」を選択します。対応する「ローカル・アクセス・ポイント名」「ローカル・ネットワーク・アドレス」を隣のフィールドに入力します。エンドポイントの検証時に、各WTCサーバーのWTC構成にアクセス・ポイントが追加されます。WTCサーバーがない場合は、新しいサーバーが作成されます。

「新規」オプションを選択した後では、既存のアクセス・ポイント名を入力できます。この場合、既存の情報が新しいパラメータで更新されます。変更できるのは、ホスト名とポート番号に限られます。

リモート・アクセス・ポイント

新しく作成したローカル・アクセス・ポイントと関連付けるリモート・アクセス・ポイントを、リストから選択します。新しいアクセス・ポイントを作成するには、「新規」を選択します。対応する「アクセス・ポイント名」「ネットワーク・アドレス」を隣のフィールドに入力します。このフィールドは、「ローカル・アクセス・ポイント」フィールドで「新規」を選択した場合にのみ表示されます。

「新規」オプションを選択した後では、既存のアクセス・ポイント名を入力できます。この場合、既存の情報が新しいパラメータで更新されます。変更できるのは、ホスト名とポート番号に限られます。

リモート・アクセス・ポイントは、インバウンド・リクエストに対するWTC接続の認証プリンシパルでもあります。オプションとして、デフォルトのセキュリティ・レルムで同じアクセス・ポイントIDを持つユーザーを作成して、インバウンド呼出しを許可することができます。これを行うには、「ユーザーを作成しますか。」リストから「はい」を選択します。セキュリティの問題を回避するために、パスワードは一時変数を使用してランダムに生成されます。

応答バッファ・タイプ

リモートTuxedoクライアントが受信するバッファのタイプを選択します。

このオプションは、「レスポンスが必要」フィールドが選択されている場合にのみ使用できます。

応答バッファ・サブタイプ

応答バッファに関連付けるバッファのサブタイプを入力します。

このオプションは、「レスポンスが必要」オプションが選択されていて、「レスポンス・バッファ・タイプ」の値がVIEWまたはVIEW32の場合にのみ使用できます。

レスポンスが必要

このサービスにレスポンスの送信が想定されている場合は、このチェックボックスを選択します。デフォルトで、このオプションは選択されています。

サービスのタイプが「メッセージ・サービス」で、レスポンス・メッセージのタイプが「なし」の場合は、このオプションの選択が解除され、使用できません。

リクエストのエンコーディング

Tuxedoトランスポートのリクエストのエンコーディングを設定する文字を指定します。

レスポンスのエンコーディング

Tuxedoトランスポートのレスポンスのエンコーディングを設定する文字を指定します。

変換スタイル

XMLドキュメントでのFML/FML32バッファの表現方法を指定します。次のいずれかを選択します。

  • 「なし」: フィールドの順序を無視します。これはデフォルト選択です。

  • 「順序付け」: すべてのフィールドを正しい順序で表示します。

  • 順序付けとグループ別: フィールドが論理的にレコード構造になっている場合、発生順に並べ替えられ、レコードごとにグループ化されます。

37.7.2 Tuxedoトランスポートを使用するビジネス・サービスの構成

ビジネス・サービス定義エディタの「トランスポートの詳細」ページでは、次の表に示す、トランスポートを構成するためのプロパティが提供されます。

表37-5 ビジネス・サービス用のTuxedoトランスポート・プロパティ

プロパティ 説明

フィールド表クラス

受信されるFMLまたはFML32バッファを表すクラス名を入力します。これらは、フィールド名を要素名にマップするために、FMLまたはFML32からXMLへの変換ルーチンで使用されます。完全修飾クラス名をスペースで区切ってリストします。

Viewクラス

送受信されるVIEWまたはVIEW32バッファを表すクラス名を入力します。これらは、フィールド名を要素名にマップするために、VIEWからXMLまたはVIEW32からXMLへの変換ルーチンで使用されます。完全修飾クラス名をスペースで区切ってリストします。

クラスJar

このエンドポイント・オペレーションに必要なFML/FML32またはVIEW/VIEW32クラスを持つJARファイルを含むJARリソースを選択します。

Oracle Service Busコンソール内で作業している場合、コンソール内でJARリソースを作成してから、そのリソースを選択する必要があります。詳細は、「JARファイルの追加方法」を参照してください。

リモート・アクセス・ポイント

使用可能なオプションのリストから、リモート・アクセス・ポイントを選択します。このリストには、WTCで構成されたリモート・アクセス・ポイントが含まれます。関連するリモート・アクセス・ポイントがない場合、ビジネス・サービスは作成できません。

リモート・アクセス・ポイントがない場合、または新規ポイントを作成する場合は「新規」を選択します。対応する「アクセス・ポイント名」「ネットワーク・アドレス」を隣のフィールドに入力します。エンドポイントの検証時に、各WTCサーバーのWTC構成にアクセス・ポイントが追加されます。WTCサーバーがない場合は、新しいサーバーが作成されます。

「新規」オプションを選択した後では、既存のアクセス・ポイント名を入力できます。この場合、既存の情報が新しいパラメータで更新されます。変更できるのは、ホスト名とポート番号に限られます。

複数のURIを指定した場合、URIごとに1つのリモート・アクセス・ポイントが存在し、そのURIが参照用に表示されます。複数のURIが存在している場合、各URIに異なるリモート・アクセス・ポイントが必要です。既存のWTCリソースに対応するURIがすでに指定されている場合、対応するリモート・アクセス・ポイントが表示されますが、編集することはできません。

ローカル・アクセス・ポイント

新しく作成したリモート・アクセス・ポイントと関連付けるローカル・アクセス・ポイントを選択します。新しいアクセス・ポイントを作成するには、「新規」を選択します。対応する「ローカル・アクセス・ポイント名」「ローカル・ネットワーク・アドレス」を隣のフィールドに入力します。

このフィールドは、「リモート・アクセス・ポイント」フィールドで 「新規」を選択した場合のみ表示されます。

注意: アクセス・ポイントは複数のエンドポイントから使用されることがあるため、エンドポイントが削除されても、トランスポートによってアクセス・ポイントが削除されることはありません。アクセス・ポイントを削除するには、Oracle WebLogic Server管理コンソールを使用します。

リクエスト・バッファ・タイプ

リモートTuxedoサービスが受信するバッファの種類を選択します。

リクエスト・バッファ・サブタイプ

リクエスト・バッファに関連付けるバッファのサブタイプを入力します。このオプションが有効になるのは、上記の「リクエスト・バッファ・タイプ」の値がVIEWまたはVIEW32の場合です。

レスポンスが必要

双方向の呼出しを指定する場合に選択します。これを選択しない場合、基礎になるtpcallTPNOREPLYフラグで呼び出され、nullレスポンスが非同期的に返されます。

トランザクションを中断

トランザクションがある場合、このチェックボックスを選択してトランザクションを中断します。この機能は、リモート・サービスがトランザクションに対応していない場合に役立ちます。

/QタイプのTuxedoリソースを呼び出す場合は、レスポンスの想定の有無に関わらず、「トランザクションを中断」オプションを使用します。一方向の呼出しから正常に戻ってきたことは、メッセージがキューに正しく置かれたことを意味します。

注意: 「トランザクションを中断」オプションが選択されていない場合、/Qモード・エンドポイントへのTuxedoトランスポートは、非同期のトランザクションを伴うトランスポートだと見なされます。これにより、デッドロックが回避されます。/Qモードでは、エンドポイントが返信を想定している場合、複数の管理対象サーバーにある複数のスレッドが同じ宛先に返信を行うことがあります。このため、返信が想定される場合は、一意の相関IDがリクエストとともに送信されます。デキュー操作では、この相関IDを持つメッセージを待機します。相関IDはJMSトランスポートの同様の状況で使用される場合と同等の方法で構成されます。

リクエストのエンコーディング

リクエストに使用する文字セットのエンコーディングを指定します。

レスポンスのエンコーディング

レスポンスに使用する文字セットのエンコーディングを指定します。

タイムアウト

トランスポート・ランタイムの返信の最長待ち時間(秒単位)を指定します。0以上の整数を指定する必要があります。指定されていない場合またはゼロ(デフォルト)に指定されている場合は、ローカルのTuxedoアクセス・ポイントが部ブロッキング・コールを許可する最大秒数であるBLOCKTIMEの時点で返信はタイムアウトします。実行時、タイムアウト値を超えている返信は無視され、TPETIME例外でエラー・メッセージが返されます。

このフィールドは、リクエスト/レスポンス・サービスにのみ使用可能であり、m/Qまたは一方向のエンドポイントには使用できません。アウトバウンド呼出しの一部がトランザクションである場合、タイムアウト値は無視されます。

注意: WTC BLOCKTIME値がタイムアウト値よりも短い場合、WTC BLOCKTIME値が優先されます。

変換スタイル

FMLまたはFML32バッファがXMLに変換される際に要素を順序付けまたはグループ化する方法として、次のいずれかを選択します。

  • 「なし」: (デフォルト)フィールドの順序を無視します。

  • 「順序付け」: すべてのフィールドを正しい順序で表示します。

  • 順序付けとグループ別: フィールドが論理的にレコード構造になっている場合、発生順に並べ替えられ、レコードごとにグループ化されます。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。Service Busはこのワーク・マネージャを使用して、一方向の呼出しの場合に、null返信を非同期的にポストします。

ワーク・マネージャの詳細は、次の説明を参照してください。