ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Service Bus開発者ガイド
11gリリース1 (11.1.1.6.2)
B61435-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

25 JCAトランスポート

この章では、JCAトランスポートの概要と、サービスでの使用および構成方法について説明します。また、Oracle JCAアダプタ・フレームワークについても説明し、Oracle Service Bus (OSB)での特定のアダプタの使用方法に関するガイダンスを提供します。

OSBは、エンタープライズ・リソース・プランニング(ERP)システムなどのエンタープライズ情報システム(EIS)と相互作用するJ2EEコネクタ・アーキテクチャ(JCA)トランスポートを提供しており、これにより、EISアプリケーションおよびサービスがサービス・バス環境に参加することが可能になります。JCAトランスポートが動作するアダプタのリストについては、25.2.1項「アダプタ・サポート」を参照してください。

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

25.1 JCAトランスポートについて

JCAトランスポートでは、Oracle Service BusとEISシステムの間のネイティブ接続が提供されており、これによってサービス・バス・レイヤーでのシステム間の対話が可能になり、OSBの機能および性能を利用できます。

JCAプロキシまたはビジネス・サービスで、図25-1に示すように、EISシステムと対話するよう、JCAトランスポートが組込みJCAアダプタ・フレームワークおよびJCA準拠のアダプタと連携して動作します。実線の矢印はリクエストを示し、点線の矢印はレスポンスを示します。

図25-1 EISと対話するOracle Service Busサービス

図25-1の説明が続きます
「図25-1 EISと対話するOracle Service Busサービス」の説明

JCAプロキシ・サービスは、サポートされるアダプタを介したEISエンドポイントを呼び出すサポート対象のJCAアダプタおよびJCAビジネス・サービスからのインバウンド・リクエストをリスニングします。

この項では、JCAトランスポートの機能と特性について説明します。

25.1.1 メッセージ

JCAトランスポートは、SOAP 1.1を使用してリクエストのみのメッセージング・パターンおよび同期のリクエスト/レスポンスのメッセージング・パターンをサポートします。

25.1.1.1 トランザクション

JCAトランスポートはトランザクションです。JCAプロキシ・サービスがEISトランザクションで呼び出される、またはJCAビジネス・サービスがトランザクションで呼び出されると、トランスポートによりトランザクションが伝播されます。

25.1.2 トランスポート・ヘッダーおよび正規化メッセージ・プロパティ

Oracle JCAアダプタは、正規化メッセージ・プロパティを介してヘッダー情報を送信します(AQ用Oracle JCAアダプタのペイロード・ヘッダーを除きます)。

OSBでは、JCAアダプタの正規化メッセージ・プロパティがサポートされます。Oracle JCAアダプタからのインバウンド・メッセージについては、Oracle Service Bus JCAトランスポートによって、正規化メッセージ・プロパティがキー値のペアとしてトランスポート・ヘッダーに自動的にマップされます。JCAアダプタへのアウトバウンド・メッセージについては、JCAトランスポートによって、トランスポート・ヘッダーが正規化メッセージ・プロパティに自動的に変換されます。

次に、正規化メッセージ・プロパティをサポートする、Oracle Service Busでの事前定義済のトランスポート・ヘッダーのリストを示します。OSBでは、この他のすべての正規化メッセージ・プロパティはユーザー定義のトランスポート・ヘッダーにマップされます。


注意:

Oracle Service Busで正規化メッセージ・プロパティをSOAPメッセージ・ヘッダーにマップすることはできません。


JCAアダプタでの正規化メッセージ・プロパティの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

25.1.2.1 $inboundおよび$outboundリクエスト・ヘッダー

次に示すのは、$inboundおよび$outboundリクエスト変数の事前定義済Oracle Service Busトランスポート・ヘッダーです。

  • jca.aq.Priority(int)

  • jca.aq.Correlation(string)

  • jca.aq.HeaderDocument(string)

  • jca.apps.HeaderDocument(string)

  • jca.file.FileName

  • jca.file.Directory

  • jca.file.Size

  • jca.file.Batch

  • jca.file.BatchIndex

  • jca.file.LastModifiedTime

  • jca.ftp.FileName

  • jca.ftp.Directory

  • jca.ftp.Size

  • jca.ftp.Batch

  • jca.ftp.BatchIndex

  • jca.ftp.CreationTime (SFTPのみでサポート)

  • jca.ftp.LastModifiedTime

25.1.2.2 $inboundのみのリクエスト・ヘッダー

次に示すのは、$inboundリクエスト変数の事前定義済Oracle Service Busトランスポート・ヘッダーです。

  • jca.aq.MessageId(string)

  • jca.aq.Attempts(int)

  • jca.aq.EnqueueTime(string)

  • jca.aq.OrigMessageId(string)

25.1.2.3 $outboundのみのリクエスト・ヘッダー

次に示すのは、$outboundリクエスト変数の事前定義済Oracle Service Busトランスポート・ヘッダーです。

  • jca.aq.Delay(int)

  • jca.aq.Expiration(int)

  • jca.aq.RecipientList(string)

  • jca.aq.ExceptionQueue(string)

  • jca.db.ProxyUserName(string)

  • jca.db.ProxyPassword(string)

  • jca.db.ProxyRoles(string)

  • jca.db.ProxyCertificate(string)

  • jca.db.ProxyDistinguishedName(string)

  • jca.db.ProxyIsThickDriver(boolean)

  • jca.db.XADataSourceName(string)

  • jca.db.DataSourceName(string)

  • jca.apps.Username(string)

  • jca.apps.Responsibility(string)

  • jca.apps.RespApplication(string)

  • jca.apps.SecurityGroup(string)

  • jca.apps.NLSLanguage(string)

  • jca.apps.ORG_ID(integer)

  • jca.apps.ecx.TransactionType(string)

  • jca.apps.ecx.TransactionSubtype(string)

  • jca.apps.ecx.PartySiteId(string)

  • jca.apps.ecx.MessageType(string)

  • jca.apps.ecx.MessageStandard(string)

  • jca.apps.ecx.DocumentNumber(integer)

  • jca.apps.ecx.ProtocolType(string)

  • jca.apps.ecx.ProtocolAddress(string)

  • jca.apps.ecx.Username(string)

  • jca.apps.ecx.Password(string)

  • jca.apps.ecx.Attribute1(string)

  • jca.apps.ecx.Attribute2(string)

  • jca.apps.ecx.Attribute3(string)

  • jca.apps.ecx.Attribute4(string)

  • jca.apps.ecx.Attribute5(string)

  • jca.apps.ecx.Payload(string)

25.1.3 エンドポイント・プロパティ

JCAトランスポートでは、25.5.2項「プロキシ・サービスとビジネス・サービスのためのJCAトランスポートの構成」で説明するように、JCAプロキシ・サービスまたはビジネス・サービスの構成で設定できる複数のサービス・エンドポイント・プロパティがサポートされます。サポートされるエンドポイント・プロパティを次に示します。

詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』のOracle JCAアダプタのエンドポイント・プロパティに関する項、および『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のOracle JCAアダプタのプロパティに関する項を参照してください。

25.1.3.1 プロキシ・サービスのエンドポイント・プロパティ(インバウンド)

JCAプロキシ・サービスでサポートされるエンドポイント・プロパティは次のとおりです。

  • jca.retry.count

  • jca.retry.interval

  • jca.retry.backoff

  • jca.retry.maxInterval

AQ用のOracle JCAアダプタ

  • DequeueTimeOut

  • ConnectionRetryDelay

  • adapter.aq.dequeue.threads

データベースおよびOracle Applications用のOracle JCAアダプタ

  • activationInstances

ファイル用のOracle JCAアダプタ

  • ignoreListingErrors

  • IgnoreZeroByteFile

  • jca.message.encoding

  • notifyEachBatchFailure

  • oracle.tip.adapter.file.debatching.rejection.quantum

  • oracle.tip.adapter.file.highavailability.maxRetry

  • oracle.tip.adapter.file.highavailability.maxRetryInterval

  • oracle.tip.adapter.file.rejectOriginalContent

  • oracle.tip.adapter.file.timeout.recoverpicked.minutes

  • oracle.tip.adapter.file.timeout.recoverunpicked.minutes

  • payloadThreshold

  • recoveryInterval

  • serializeTranslation

  • useFileSystem

FTP用のOracle JCAアダプタ

  • IgnoreZeroByteFile

  • oracle.tip.adapter.file.rejectOriginalContent

  • serializeTranslation

  • timestampOffset

  • ignoreListingErrors

  • jca.message.encoding

  • notifyEachBatchFailure

  • oracle.tip.adapter.file.debatching.rejection.quantum

  • oracle.tip.adapter.file.highavailability.maxRetry

  • oracle.tip.adapter.file.highavailability.maxRetryInterval

  • oracle.tip.adapter.file.timeout.recoverpicked.minutes

  • oracle.tip.adapter.file.timeout.recoverunpicked.minutes

  • payloadSizeThreshold

  • recoveryInterval

  • useFileSystem

25.1.3.2 ビジネス・サービスのエンドポイント・プロパティ(アウトバウンド)

JCAビジネス・サービスでサポートされるエンドポイント・プロパティは次のとおりです。

  • jca.retry.count

  • jca.retry.interval

  • jca.retry.backoff

  • jca.retry.maxInterval

  • jca.retry.maxPeriod

Oracle Applications用のOracleアダプタ

  • ユーザー名

  • 職責

ファイル用のOracle JCAアダプタ

  • inMemoryTranslation

  • IgnoreZeroByteFile

  • oracle.tip.adapter.file.mutex

  • oracle.tip.adapter.file.rejectOriginalContent

  • serializeTranslation

FTP用のOracle JCAアダプタ

  • IgnoreZeroByteFile

  • oracle.tip.adapter.file.rejectOriginalContent

  • serializeTranslation

  • timestampOffset

  • inMemoryTranslation

  • oracle.tip.adapter.file.mutex

データベース用のOracle JCAアダプタ

  • cacheConnections - Oracle Service Busは暗黙的にこのプロパティの値をtrueに設定します。このプロパティの値がtrueに設定されていると、データベース・アダプタに対するアウトバウンド接続がキャッシュされます。デフォルトを変更してこのプロパティをfalseに設定すると、アウトバウンドを呼び出すたびに接続のオープンとクローズが発生します。

25.1.4 セキュリティ

ここでは、JCAトランスポートおよびJCAアダプタ・フレームワークがどのようにセキュリティを処理するかを説明します。

JNDIサービス・アカウントは、エンドポイント検証時と実行時の両方で使用されます。

エンドポイント検証の際、静的サービス・アカウントにエンドポイントが関連付けられている場合、アダプタの接続ファクトリに対するJNDIルックアップが静的サービス・アカウントのサブジェクトを使用して実行されます。サービスがサービス・アカウントを使用しない場合は、匿名サブジェクトが使用されます。

実行時には、JCAプロキシ・サービス・アカウントでは静的サービス・アカウントしかサポートされません。静的サービス・アカウントがサービスで構成されている場合、アダプタの接続ファクトリに対するJNDIルックアップを実行するためにサービス・アカウントのサブジェクトが使用されます。そうでない場合は、匿名サブジェクトが使用されます。

実行時のJCAビジネス・サービスでは、静的サービス・アカウント、パス・スルー・サービス・アカウントおよびマッピング・サービス・アカウントがサポートされます。サービス・アカウントがJCAビジネス・サービスで構成されている場合、アダプタ接続ファクトリおよび後続のアウトバウンド呼出しに対するJNDIルックアップは、そのサービス・アカウントのサブジェクトを使用して実行されます。サービスがサービス・アカウントを使用しない場合は、匿名サブジェクトが使用されます。

EISデータベースに接続するOracleアダプタ(データベース、AQおよびOracle Applications用のOracleアダプタ)は、アダプタで管理される接続ファクトリに関連するJDBCデータソースを使用して接続します。他のOracleアダプタ(ファイル用のOracle JCAアダプタなど)は、アウトバウンド接続で、Oracle WebLogic Serverによるコンテナ管理およびアプリケーション管理のサインオンをサポートします。詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のエンタープライズ情報システムの資格証明の保護に関する項を参照してください。

25.1.4.1 プロキシ・サービス

インバウンド・リクエストで、JCAプロキシ・サービスを呼び出すJCAアダプタ・フレームワークは匿名として常にプロキシ・サービスを呼び出します。

25.1.4.2 ビジネス・サービス

JCAビジネス・サービスで使用するJNDIサービス・アカウントのタイプによって、サブジェクト付きのアウトバウンド・サービス・エンドポイントが以下の方法で呼び出されます。

  • サービス・アカウントを使用しない-匿名サブジェクトはアウトバウンドJCAエンドポイントを呼び出すために使用します。

  • パススルー・サービス・アカウントを使用する-インバウンド・リクエストに関連するサブジェクトはアウトバウンドJCAエンドポイントを呼び出すために使用します。

  • 静的なサービス・アカウントを使用する-サービス・アカウントの静的ユーザー名/パスワードに関連するサブジェクトはアウトバウンドJCAエンドポイントを呼び出すために使用します。

  • マッピング・サービス・アカウントを使用する-サービス・アカウントのマップされたユーザー名/パスワードに関連するサブジェクトはアウトバウンドJCAエンドポイントを呼び出すために使用します。

25.1.5 ログ

JCAトランスポートは、Oracle WebLogic Server NonCatalogログ機能を使用してメッセージをロギングします。JCAアダプタ・フレームワークのログは、Oracle WebLogic Serverのログにリダイレクトされます。

Oracle Service Busトランスポートのデバッグ・ロギングが有効の場合のみ、JCAトランスポート、JCAアダプタ・フレームワーク、およびJCAアダプタ(Oracle BAMアダプタを除く)によって生成されるデバッグ・ログ・レコードがWebLogic Serverのログにリダイレクトされます。デバッグ・モードを有効にするには、サーバーを起動する前に、ドメイン・ディレクトリのalsbdebug.xmlファイルを編集し、カテゴリのalsb-jca-framework-adapter-debugフラグをtrueに設定する必要があります。JCAフレームワークおよびアダプタのメッセージのログにはタグJCA_FRAMEWORK_AND_ADAPTERが付けられます。


注意:

alsb-transports-debugフラグは、他のすべてのトランスポートで使用されます。JCAトランスポート、フレームワークおよびアダプタには影響しません。


詳細は、『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busのデバッグに関する項を参照してください。

25.1.5.1 Oracle BAM Adapterロギング

RMIベースおよびSOAPベースの接続プールを使用してOracle BAM Adapterバッチ処理のデバッグレベル・ロギングを有効にするには、次のロガー・エントリをdomain_home/config/fmwconfig/servers/server_name/logging.xmlに追加します。

  • RMI/EJBの場合 - <logger name="oracle.bam.adc.api.batching.BatchProcessor" level="FINER"/>

  • SOAPの場合 - <logger name="oracle.bam.adapter.adc.soap.SOAPBatchProcessor" level="FINER"/>

25.1.6 エラー処理

ここでは、JCAトランスポートのエラー処理情報について説明します。

25.1.6.1 JCAビジネス・サービスのEISフォルトの詳細

JCAフレームワークおよびアダプタがEISからの例外をスローすると、JCAビジネス・サービスがその例外をjca-runtime-fault-detail要素内のSOAPフォルトに伝播します。

次の1つ以上のサブ要素でEISフォルトの詳細にアクセスできます。

  • eis-error-code(string) - JCAフレームワークおよびアダプタによって伝播されたEISエラー・コードをキャプチャします(可能な場合)。

  • eis-error-message(string) - JCAフレームワークおよびアダプタによって伝播されたEISエラー・メッセージをキャプチャします(可能な場合)。

  • exception(string) - JCAフレームワークおよびアダプタのスタック・トレースをキャプチャします。

このフォルト構造はJCAトランスポート・スキーマで定義されます。


注意:

JCAトランスポートによるEISフォルトの処理方法は、今後のリリースで変わる可能性があります。


25.1.6.2 ビジネス・サービス・アプリケーション・エラーの再試行

JCAトランスポートではアプリケーション・エラー時に再試行できず、このオプションを制御しません。このオプションを「いいえ」に設定します。

25.1.7 URI再書込み

JCAトランスポートは、プロキシ・サービスのメッセージ・フローのURI再書込みをサポートします。

25.1.8 環境変数

JCAトランスポートでは次の環境変数値を宣言します。これらは、異なるデプロイメント環境間でOracle Service Bus構成を移動する場合も保持できます。

これらの値の説明は、25.5.2項「プロキシ・サービスおよびビジネス・サービスのためのJCAトランスポートの構成」を参照してください。

  • JCA JNDIサービス・アカウント(JCA_ENV_JNDI_SERVICE_ACCOUNT)

  • ワーク・マネージャ

  • JCAは常にWSDLフラグを使用(JCA_ENV_ALWAYS_USE_WSDL)

  • JCA接続モード(JCA_ENV_CONNECTION_MODE)

  • JCA上書き接続認証フラグ(JCA_ENV_OVERWRITE_CONNECTION_FACTORY_AUTHENTICATION_PROPERTIES)

  • JCA認証上書きサービス・アカウント(JCA_ENV_CONNECTION_AUTHENTICATION_OVERWRITE_SERVICE_ACCOUNT)

25.1.9 エンコーディング

インバウンド・リクエストおよびアウトバウンド・レスポンスでは、JCAアダプタ・フレームワークがUTF-8エンコーディングを使用してJCAプロキシ・サービスにメッセージを送信します。

25.2 アダプタの操作

JCAトランスポートは様々なEISアダプタと互換性があります。この項では、Oracle Service BusとJCAトランスポートにサポートされるアダプタの使用方法について説明します。

Oracle Service BusでJCAプロキシ・サービスまたはビジネス・サービスを作成するには、WSDLが必要となります。サポートされるアダプタと対話するプロキシ・サービスまたはビジネス・サービスのために、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』のリソースの命名制限に関する項に従って、EISシステム環境にJCAファイルとWSDLを生成する必要があります。JCAファイルとWSDLを生成した後に、それらをOracle Service Bus構成にインポートし、JCAファイルを使用してJCAサービスを作成します。

たとえば、Oracle JCAアダプタと対話するサービスを作成するとき、JCAファイルとWSDLをOracle JDeveloperで生成し、それらのファイルをOracle Service Bus IDEにインポートし、JCAファイルに基づいてJCAサービスを作成および構成します。詳細は、2.2.2項「アウトバウンドJCAファイルからJCAビジネス・サービスを生成する」および2.3.2項「インバウンドJCAファイルからJCAプロキシ・サービスを生成する」を参照してください。

JCAサービスの生成のためにJCAファイルとWSDLファイルをOracle Service Bus管理コンソールにインポートすることもできます。Oracle Service Bus管理コンソールのオンライン・ヘルプを参照してください。

この項には次のトピックが含まれます:

25.2.1 アダプタ・サポート

Oracle Service Bus JCAトランスポートでは、以下のJCA準拠のアダプタと対話できます。

  • カスタムJCAアダプタ - 25.2.8項「カスタムJCAアダプタの使用」を参照

  • Oracle Applications用のOracleアダプタ

  • AQ用のOracle JCAアダプタ

  • データベース用のOracle JCAアダプタ

  • ファイル/FTP用のOracle JCAアダプタ

  • ソケット用のOracle JCAアダプタ

  • Oracle BAM Adapter (Business Activity Monitoring)

  • PeopleSoft (Oracle Application Adapters 10g)

  • SAP R/3(Oracle Application Adapters 10g)

  • Siebel (Oracle Application Adapters 10g)

  • J.D. Edwards (Oracle Application Adapters 10g)

Oracleアダプタの詳細は、次のガイドを参照してください。

25.2.2 Oracle JCAアダプタの制約事項

Oracle Service Busで一部のJCAアダプタを使用する際の制約事項を次に示します。

25.2.2.1 すべてのJCAアダプタに適用される制約事項

JCAトランスポートでは、アクティブ/パッシブ・トポロジでシングルトン・エンドポイント・プロパティがサポートされません。

25.2.2.2 AQ用のOracle JCAアダプタの制約事項

AQ用のOracle JCAアダプタでは、JCAトランスポートでストリーム・ペイロードがサポートされません。

25.2.2.3 ファイル/FTP用のOracle JCAアダプタの制約事項

ファイル/FTP用のOracle JCAアダプタでは、JCAトランスポートで、添付(大規模なペイロードのサポート)、ファイルの前処理と後処理、ZIPファイル処理用のリエントラント・バルブの使用、コンテンツ・ストリーミング、ファイルのチャンク読取りがサポートされません。

25.2.3 JCAアダプタ・フレームワーク

JCAトランスポートはOracle Service Bus JCAアダプタ・フレームワークを使用して、外部EISサービスに接続を提供するJCA準拠のアダプタと対話します。JCAアダプタ・フレームワークは、これらのアダプタと対話する複雑さを除去してくれるため、ユーザーはOracle Service Busのプロキシおよびビジネス・サービス開発に集中できます。

インバウンド対話では、JCAプロキシ・サービスは関連するJCAアダプタ・エンドポイントにリスナーを登録します。JCAプロキシにメッセージを送信したEISシステムにイベントが発生すると、JCAアダプタ・フレームワークによりリクエストのみのパターンまたはリクエスト/レスポンスのパターンのプロキシ・サービスが呼び出されます。

アウトバウンド対話で、クライアントがOracle Service Busを介してEISサービスを呼び出すと、JCAビジネス・サービスによりJCAアダプタ・フレームワークを介してJCAアダプタ・エンドポイントが呼び出されます。

JCAアダプタ・フレームワークの構成は不要です。Oracle Service BusでJCAプロキシ・サービスおよびビジネス・サービスを作成し、必要に応じてアダプタをデプロイすると、JCAアダプタ・フレームワークはデプロイされ、自動的に機能します。

25.2.4 アダプタの構成 - 全般

Oracle JCAアダプタ(AQ、データベースおよびOracle Applications用のOracle JCAアダプタなど)はOracle Service Busドメインに自動的にデプロイされます。(サポートされている他のサードパーティ・リソース・アダプタは、Oracle WebLogic Serverコンソールで手動でインストールし、デプロイする必要があります。)

Oracle WebLogic Serverで各アダプタのデータ・ソースを作成し、各アダプタを構成します。すでにデプロイ済のOracleアダプタ(AppsAdapter、AqAdapter、DbAdapterなど)を構成するには、次の一般的な手順を実行します。

  1. データ・ソースを作成します。Oracle WebLogic Serverコンソールで、EISデータベースに接続するためのデータ・ソースを作成して構成します。

  2. デプロイされたリソース・アダプタを構成します。Oracle WebLogic Serverコンソールで、作成したデータ・ソースを使用するようにアダプタの構成を変更します。

    1. 「デプロイメント」アダプタ「構成」「アウトバウンド接続プール」を選択します。

    2. 新しいデータ・ソースに基づく新しい接続プール・ファクトリを作成します。処理中に、接続プール・ファクトリPlan.xmlファイルの場所を指定します。このファイルは接続ファクトリの構成設定を永続化します。

    3. 接続プール・ファクトリを作成したら、名前をクリックしてプロパティを変更します。このためには、XADataSourceName(XAデータ・ソース用)またはdatasourceName(非XAデータ・ソース用)の「プロパティ」フィールドをクリックし、作成したデータ・ソースの名前を入力し、[Enter]を押します。


      注意:

      データ・ソースの名前を入力してから、カーソルが入力フィールドにあるときに[Enter]を押す必要があります。こうしないと、接続プール・ファクトリのプロパティが保存されません。


    4. チェンジ・センターの変更をアクティブ化します。

アダプタ固有の構成情報については、以下の項を参照してください。

25.2.5 データベースをポーリングするアダプタの構成

デフォルトでは、データベースをポーリングするOracleアダプタは1スレッドを使用してデータベースをポーリングします(アクティブ化指定のNumberOfThreads=1プロパティ)。設計に基づき、アダプタはこのスレッドを解放しないため、サーバー・ログにスタック・スレッド・スタック・トレースが表示されます。NumberOfThreadsを2以上に設定すると、それらすべてのスレッドにスタック・トレースが表示されます。スタック・スレッド・スタック・トレースは無視できます。

アダプタに関するスタック・スレッド・スタック・トレースの表示を防ぐには、次の設定を含むようにワーク・マネージャを構成します。

<ignore-stuck-threads>true</ignore-stuck-threads>

JCAプロキシ・サービスで、作成したワーク・マネージャをトランスポートのディスパッチ・ポリシーが使用するように構成します。

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

  • 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

  • 『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busでのワーク・マネージャの使用に関する項

25.2.6 データベース用のOracle JCAアダプタの構成

Oracle Service BusとOracleデータベース・アダプタの構成における重要な点を次に示します。構成手順の詳細は、OSBでのJCA DBアダプタに関するチュートリアル(http://www.oracle.com/technetwork/middleware/service-bus/learnmore/index.html)を参照してください。

  • データ・ソース: データベース用のOracle JCAアダプタのデータ・ソースについては、次のオプションを設定します。

    オプション 設定

    初期容量

    0

    予約時の接続のテスト

    選択

    テスト頻度

    5

    テスト対象の表名

    SQL SELECT 1 FROM DUAL

    アイドル・プール接続を信頼する秒数

    0

    接続作成の再試行間隔(秒)

    10



    注意:

    特定のOracleデータベース表をポーリングするプロキシ・サービスは1つのみです。


25.2.7 AQ用のOracle JCAアダプタの構成

AQ用のOracle JCAアダプタのデータ・ソースでは、「予約時に接続をテスト」オプションを選択します。

25.2.8 カスタムJCAアダプタの使用

この項では、Oracle Service BusでカスタムJCAアダプタを登録および使用する方法について説明します。OSBにカスタム・アダプタを登録すると、他のJCAアダプタと同様に、そのカスタム・アダプタをJCAトランスポートと組み合せて使用できます。

OSBでカスタムJCAアダプタを登録および使用するには、次の手順を実行します。

  1. カスタムJCAアダプタを作成します。『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のカスタム・アダプタの作成に関する項を参照してください。

  2. OSB_ORACLE_HOME/config/adapter/OSBSupportedAdapters.xmlで、サポートされるアダプタ・タイプのリストにカスタム・アダプタを追加します。カスタム・アダプタ・タイプの名前は、JCAファイルの<adapter-config>要素のadapter属性値から取得します。

    たとえば、アダプタのJCAファイルが次のようであるとします。

    <adapter-config name="custom-adapter-endpoint" adapter="My Adapter" 
        wsdlLocation="custom-adapter-endpoint.wsdl" 
        xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    . . .
    </adapter-config>
    

    OSBSupportedAdapters.xmlのエントリは次のようになります。

    <jca:adapter-type>MY_ADAPTER</jca:adapter-type>
    

    大文字への変換とスペースのアンダースコア文字への置換に注意してください。

  3. カスタム・アダプタのJCAリソースをOSBにインポートし、プロキシ・サービスまたはビジネス・サービスの構成時にOSBのJCAトランスポートを使用してカスタム・アダプタを使用します。

    JCAトランスポート構成ページの「動的エンドポイント・プロパティ」セクションで、カスタム・エンドポイント・プロパティを追加および構成します(オプション)。

    JCAトランスポートでは、カスタム・アダプタの正規化メッセージ・プロパティもサポートされます。25.1.2項「トランスポート・ヘッダーおよび正規化メッセージ・プロパティ」を参照してください。


    注意:

    TopLink XMLマッピング・ファイルやXSLTファイルなどの依存関係リソースを含むサポート対象の一部のOracle SOA Suiteアダプタとは異なり、OSBでは、カスタム・アダプタでの依存関係リソースの使用がサポートされません。


25.2.9 拒否されたメッセージ

JCAアダプタ・フレームワークにより、拒否されたメッセージ(データ・エラーのメッセージ)がアダプタごとに/domain/jca/.../rejectedMessagesディレクトリに自動的にログされます。

25.3 Oracle Service Busを介したEISサービスの呼出し

この項では、Oracle Service Busを介したEISサービスを呼び出す方法について説明します。

JCAトランスポートは、リクエストおよび同期リクエスト/レスポンスのメッセージ・パターンをサポートします。ここでは、図25-2に示すように、同期リクエスト/レスポンスのパターンについて説明します。

図25-2 クライアントによるOracle Service Busを介したEISサービスの呼出し

図25-2の説明が続きます
「図25-2 クライアントによるOracle Service Busを介したEISサービスの呼出し」の説明

25.3.1 サービスの作成、構成および呼出し

クライアントからEISサービスを呼び出すために、以下のガイドラインを使用してください。

特定のアダプタに関する構成の問題は、25.2項「アダプタの操作」を参照してください。

  • Oracle Service Busで、呼び出すEISサービスを表すビジネス・サービスを作成します。

    アウトバウンドJCAビジネス・サービスをOracle Service Busで作成します。詳細は、2.2.2項「アウトバウンドJCAファイルからJCAビジネス・サービスを生成する」を参照してください。

    その他のビジネス・サービス構成の詳細は、2.2項「ビジネス・サービスの操作」を参照してください。

  • ビジネス・サービスを呼び出すOracle Service Busでのプロキシ・サービスを作成します。

    • 25.1.1項「メッセージ」で説明されているように、プロキシ・メッセージ・フローでは、JCAトランスポートのサポートされるメッセージ・フォーマットでメッセージを送信するために必要なトランスフォーメーションを実行します。

    • クライアントから目的のペイロードのプロキシ・サービスを呼び出します。

    その他のプロキシ・サービス構成の詳細は、2.3項「プロキシ・サービスの操作」を参照してください。

25.4 EISからの外部サービスの呼出し

この項では、Oracle Service Busを介してEISから外部サービスを呼び出す方法について説明します。

JCAトランスポートは、リクエストおよび同期リクエスト/レスポンスのメッセージ・パターンをサポートします。ここでは、図25-3に示すように、同期リクエスト/レスポンスのパターンについて説明します。

図25-3 EISによるOracle Service Busを介した外部サービスの呼出し

図25-3の説明が続きます
「図25-3 EISによるOracle Service Busを介した外部サービスの呼出し」の説明

25.4.1 サービスの作成、構成および呼出し

以下のガイドラインを使用して、EISから外部サービスを呼び出します。

特定のアダプタに関する構成の問題は、25.2項「アダプタの操作」を参照してください。

  • 呼び出したい外部サービスを表すOracle Service Busでのビジネス・サービスを作成します。

    ビジネス・サービス構成の詳細は、2.2項「ビジネス・サービスの操作」を参照してください。

  • ビジネス・サービスを呼び出すOracle Service Busでのプロキシ・サービスを作成します。

    • インバウンドJCAプロキシ・サービスをOracle Service Busで作成します。詳細は、2.3.2項「インバウンドJCAファイルからJCAプロキシ・サービスを生成する」を参照してください。

    • プロキシ・メッセージ・フローでは、呼び出す外部サービスでサポートされるメッセージ・フォーマットでメッセージを送信するために、必要なトランスフォーメーションを実行します。

    • 通常どおり、EISからプロキシ・サービスを呼び出します。

    Oracle Service Busで、JCAトランスポートはEISからのサービス呼出しをリスニングするJCAアダプタ・エンドポイントにリスナーを登録します。JCAアダプタ・フレームワークはサービス呼出しをプロキシ・サービスに渡します。

    その他のプロキシ・サービス構成の詳細は、2.3項「プロキシ・サービスの操作」を参照してください。

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

この項では、JCAトランスポート固有の構成オプションについて説明します。一般的なビジネスおよびプロキシ・サービスの構成の説明については、以下のトピックを参照してください。

25.5.1 エンドポイントURI

JCAサービスの次のエンドポイントURIフォーマットを使用してください。

jca://<resource_adapter_jndi>

ここで、resource_adapter_jndiは、JCAファイルに含まれるconnection-factory要素の"location"属性の値です。この値は、アダプタの接続ファクトリJNDIと一致します。

25.5.1.1 エンドポイント再デプロイメント

JCAサービス・エンドポイントは、WSDL、XMLスキーマ、サービス・アカウント、JCAリソース、XMLスキーマおよびXMLリソース(TopLinkまたはEclipseLinkマッピング・ファイル)に依存します。それらのうちいずれかのリソース・タイプが更新され、サービス用に保存されると、JCAサービス・エンドポイントが自動的に削除、再作成および再デプロイされます。JCAプロキシ・サービスでは、新しいアダプタ・リスナーもインバウンド・リクエストをリスニングするために初期化されます。

表25-1で説明されているように、JCAエンドポイント再デプロイメントは、「常にJCAファイルからの構成を使用」オプションをサービスで選択しているかどうかによって、実行時にサービスに潜在的な影響を及ぼします。例:

  • 「常にJCAファイルからの構成を使用」を選択すると、JCAエンドポイントの再デプロイメント後に、実行時にリソース・アダプタと接続および対話するために、更新されたJCAファイルが使用されます。

  • 「常にJCAファイルからの構成を使用」を選択しないと、実行時にリソース・アダプタと対話するために、対応する更新済のJCAファイル・プロパティではなく、既存のサービス構成いオーバーライドが使用されます。

25.5.2 プロキシ・サービスとビジネス・サービスのためのJCAトランスポートの構成

表25-1に、EclipseまたはOracle Service Bus管理コンソールにおけるJCAトランスポートの構成ページに含まれるオプションを示します。

表25-1 JCAトランスポート構成オプション

オプション 説明

JCAファイル

「参照」をクリックしてJCAリソースを選択します。JCAリソースによって、使用されるアダプタの詳細、WSDLへのバインド、TopLinkまたはEclipseLinkマッピング・ファイル、サービスで必要なアクティブ化/相互指定プロパティなど、サービスの様々な面が定義されます。

有効なJCAリソースを選択したら、その他のトランスポート構成フィールドが使用可能になります。

アダプタ名

JCAサービスで使用するアダプタの名前を示す読取り専用の値。

アダプタ・タイプ

アダプタ・タイプを示す読取り専用の値。

ディスパッチ・ポリシー

このエンドポイントのディスパッチ・ポリシーに使用するOracle WebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。

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

  • 『Oracle Fusion Middleware Oracle WebLogic Serverサーバー環境の構成』のワーク・マネージャを使用したスケジューリング済作業の最適化に関する説明

  • 『Oracle Fusion Middleware Oracle Service Bus管理者ガイド』のOracle Service Busでのワーク・マネージャの使用に関する項

JNDIサービス・アカウント

JNDIサービス・アカウントはJNDIコンテキスト・セキュリティのためのアカウントで、EISアダプタ管理対象の接続ファクトリへのアクセスに使用します。「参照」をクリックして、サービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。

JCAビジネス・サービスでは、静的またはパススルーなど、構成できるJNDIサービス・アカウントのタイプに制限はありませんが、ランタイムはユーザー名とパスワードにアクセスできる必要があります。JCAプロキシ・サービスは静的JNDIサービス・アカウントのみを使用できます。

JNDIサービス・アカウントの詳細は、25.1.4項「セキュリティ」を参照してください。

エンドポイント・プロパティ

このフィールドでは、サービスが使用するアダプタ・タイプの再試行回数など、エンドポイント・プロパティに値を割り当てることができます。

サポートされるエンドポイント・プロパティのリストは、25.1.3項「エンドポイント・プロパティ」を参照してください。

動的エンドポイント・プロパティ

このオプションを使用すると、リクエスト・パラメータをJCA準拠サービスに渡すことができます。たとえば、動的エンドポイント・プロパティを使用して、データベース問合せパラメータをデータベース用のOracle JCAアダプタに渡すことができます。

パラメータを使用する問合せの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』のデータベース用のOracle JCAアダプタに関する項を参照してください。

指定する動的エンドポイント・プロパティごとに名前と値のペアを入力します。エンドポイント・プロパティ・キーが問合せパラメータ名と一致します。

このセクションを使用して、カスタム・アダプタのエンドポイント・プロパティを追加および構成します。

常にJCAファイルからの構成を使用

このオプションを使用して、「アクティブ化指定プロパティ」(プロキシ・サービス)および「相互指定プロパティ」(ビジネス・サービス)を常にJCAファイルから使用するかどうかを決定します。

このオプションが選択されている場合(デフォルト)、JCAトランスポートはJCAファイルのアクティブ化/相互指定プロパティを使用してJCAフレームワークと対話します。

このオプションが選択されていない場合は、アクティブ化/相互指定プロパティをオーバーライドできます。

このオプションを使用する場合の再デプロイメントの影響については、25.5.1.1項「エンドポイント再デプロイメント」を参照してください。

操作名

選択したWSDL操作の読取り専用の名前を表示します。操作は、「アクティブ化/対話の仕様プロパティ」フィールドで示すように、独自のアクティブ化/対話の仕様プロパティを持つことができます。

アクティブ化指定プロパティ/相互指定プロパティ

「アクティブ化指定プロパティ」はプロキシ・サービス用のフィールド名で、「相互指定プロパティ」はビジネス・サービス用のフィールド名です。

このサービスがEISアプリケーションによって呼び出されたインバウンド・サービスである場合、このフィールドには、「操作名」フィールドで示すように、JCAインバウンド操作のアクティブ化仕様プロパティが表示されます。

「常にJCAファイルからの構成を使用」を選択解除すると、アクティブ化/相互指定プロパティをオーバーライドできます。

注意: Oracle Adapter Suiteアダプタの場合、アクティブ化/相互指定プロパティが読取り専用として表示されます。Oracle Adapter Suiteアダプタには独自の構成が保存されています。これは、Oracle Adapter Suite管理ツールで変更する必要があります。

接続プロパティ(レガシー)

非管理対象モード接続プロパティ(このリリースでは非推奨)を使用するレガシーJCAサービスの場合、http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/jcatransport/transport.html#wp1105451の接続構成オプションを参照してください。


エンドポイントおよびアクティブ化/相互指定プロパティの詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

25.5.3 プロキシ・サービス操作の構成

JCA WSDLはドキュメントliteralバインディングのみサポートします。JCAプロキシ・サービスの操作構成用のアルゴリズムは、 SOAPActionヘッダーのみです。Oracle Service Bus effective WSDLは常にSOAPActionを含みます。SOAPActionフィールドの値は操作名です。

25.5.4 プロキシ・サービスのメッセージ処理

JCAトランスポートはメッセージ・コンテンツのストリーミングまたは添付をサポートしません。コンテンツ・ストリーミングを有効にするかどうかは、実行時にJCAトランスポートに影響しません。コンテンツ・ストリーミングはトランスポートの制御なしのサービス構成オプションであるため、コンテンツ・ストリーミングを有効にしても、トランスポートによって検証エラーが発生することはありません。

25.5.5 ポリシー

JCAサービスにポリシーを設定することはできません。JCAサービスにポリシーを設定すると、サービス構成の矛盾がOracle Service Busによって示されます。