この章では、Oracle JCAアダプタ・フレームワークについて説明し、Service Busでの特定のアダプタの使用方法に関するガイダンスを提供します。また、Service BusサービスにおけるOracle JCAアダプタの使用方法と構成方法についても説明します。
この章の内容は次のとおりです。
Service Busは、バックエンドのエンタープライズ情報システム(EIS)と相互作用するJ2EEコネクタ・アーキテクチャ(JCA)トランスポートを提供しており、これにより、これらのシステムがService Bus統合環境に参加することが可能になります。JCAトランスポートでは、Service Busと外部システムの間のネイティブ接続が提供されており、これによってサービス・バス・レイヤーでのシステム間の対話が可能になり、Service Busの機能および性能を活用できます。JCAトランスポートがサポートするアダプタのリストについては、「サポートされるJCAアダプタ」を参照してください。
JCAプロキシまたはビジネス・サービスで、図25-1に示すように、EISシステムと対話するよう、JCAトランスポートが組込みJCAアダプタ・フレームワークおよびJCA準拠のアダプタと連携して動作します。実線の矢印はリクエストを示し、点線の矢印はレスポンスを示します。
JCAプロキシ・サービスは、サポートされるアダプタを介したEISエンドポイントを呼び出すサポート対象のJCAアダプタおよびJCAビジネス・サービスからのインバウンド・リクエストをリスニングします。
JCAアダプタを使用すると、プロキシおよびビジネス・サービスを、データベース、ファイル・システム、FTPサーバー、メッセージング・システム、電子メール、LDAP、Coherenceキャッシュ、クラウド・サービスおよびOracle E-Business Suiteなどのテクノロジと統合できます。JCAアダプタをService Bus概要エディタのスイムレーンにドラッグすると、アダプタ構成ウィザードが起動し、そこでアダプタの構成プロパティを定義できます。次の各項では、Service BusによってサポートされているJCAアダプタの概要を説明します。
AQアダプタを使用すると、Service Busのビジネスおよびプロキシ・サービスは、単一コンシューマまたは複数コンシューマのキューと相互作用できます。Oracle Streams AQは、関連アプリケーション間での双方向の非同期通信を実現する柔軟なメカニズムを提供します。アドバンスト・キューはOracleデータベースの機能であるため、高いスケーラビリティと信頼性を備えています。また、単一のアプリケーションを複数のキューで処理できるため、メッセージを様々な方法で分割したり、ロード・バランシングを介して別のレベルのスケーラビリティを提供したりできます。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for AQに関する項を参照してください。
Oracle BAM 11gアダプタは、Service Busのビジネスおよびプロキシ・サービスをOracle BAM Server 11gと統合します。Oracle BAMアダプタをService Bus概要エディタのスイムレーンにドラッグすると、アダプタ構成ウィザードが起動し、そこでアダプタのプロパティを構成できます。
詳細は、テクノロジ・アダプタの理解のアダプタとOracle Fusion Middlewareの統合に関する項を参照してください。
Oracle Coherenceアダプタは、Service Busのビジネス・サービスをOracle Coherenceと統合します。Coherenceキャッシュは、データベースとクライアント・アプリケーションの間の仲介として機能するデータ・オブジェクトの集合です。データベース・データをキャッシュにロードして、異なるアプリケーションで使用できます。Coherenceキャッシュは、データベースの負荷を削減し、データベース・データへのより高速なアクセスを提供します。キャッシュ内のオブジェクトは、XMLまたはPlain Old Java Object (POJO)のいずれかになります。Coherenceアダプタを使用すると、Coherenceキャッシュに対して次の操作を実行できます。
項目の追加
項目の取得
項目の削除
項目の問合せ
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for Coherenceに関する項を参照してください。
データベース・アダプタを使用すると、Service Busのビジネスおよびプロキシ・サービスは、JDBCを介してOracleデータベースやサード・パーティ・データベースと通信できます。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for Databaseに関する項を参照してください。
ファイル・アダプタを使用すると、Service Busのビジネスおよびプロキシ・サービスは、ローカル・ファイル・システム上でファイルを交換(読取りおよび書込み)できます。ファイル・コンテンツは、XMLデータ・フォーマットと非XMLデータ・フォーマットのどちらでも構いません。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for Files/FTPに関する項を参照してください。
FTPアダプタを使用すると、Service Busのビジネスおよびプロキシ・サービスは、ファイル転送プロトコル(FTP)を使用してリモート・ファイル・システム上でファイルを交換(読取りおよび書込み)できます。ファイル・コンテンツは、XMLデータ・フォーマットと非XMLデータ・フォーマットのどちらでも構いません。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for Files/FTPに関する項を参照してください。
JDE Worldアダプタは、Service Busのビジネス・サービスを、IBMのミニコンピュータ上で稼働しているERP (エンタープライズ・リソース・プランニング)製品のJDE Worldシステムと統合します。JDE Worldアダプタは、IBMシステムへの新しいJDBCドライバ・ベースの接続を使用して、Service Busと、標準データベースとしてのJDE Worldシステムとの相互作用を可能にします。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for JDE Edwards Worldに関する項、およびOracle Technology Networkの統合アダプタ・ドキュメントに関するページを参照してください。
JMSアダプタを使用すると、Service Busのビジネスおよびプロキシ・サービスは、Java Messaging System (JMS)と相互作用できます。JMSアーキテクチャでは、多数のメッセージング・サーバーに対して1つのクライアント・インタフェースを使用します。JMSモデルには、2つのメッセージング・ドメインがあります。
ポイント・ツー・ポイント: メッセージはキュー経由で交換され、各メッセージは1人の受信者にのみ配信されます。
パブリッシュ・サブスクライブ: メッセージはトピックに送信され、多数のサブスクライブ・クライアントで読み取ることができます。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for JMSに関する項を参照してください。
LDAPアダプタを使用すると、Service Busのビジネスおよびプロキシ・サービスは、LDAPディレクトリと相互作用できます。LDAPアダプタは、非同期および同期の両方のインタフェースを定義して、LDAPディレクトリ・サーバーとの間でリクエストとレスポンスを送受信します。LDAPアダプタを使用すると、プロセスは、LDAPプロトコルを使用してLDAPディレクトリを検索、比較および変更できます。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for LDAPに関する項を参照してください。
MQ Seriesアダプタは、Service Busのビジネスおよびプロキシ・サービスとWebSphere MQキューイング・システムとの間のメッセージ交換機能を提供します。Messaging and Queuing Series (MQ Series)は、IBMによって開発された製品および標準のセットです。MQ Seriesは、保証されたメッセージ配信、セキュリティおよび優先度ベースのメッセージングを提供するキューイング・インフラストラクチャを備えています。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for MQ Seriesに関する項を参照してください。
MSMQアダプタは、Service Busのビジネスおよびプロキシ・サービスとMicrosoft Message Queueing (MSMQ)との間のメッセージ交換機能を提供します。MSMQはメッセージ・インフラストラクチャであり、分散され疎結合されたメッセージング・アプリケーションを作成するためのMicrosoft Windowsオペレーティング・システム向けの開発プラットフォームです。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for Microsoft Messaging Queueに関する項を参照してください。
Oracle E-Business Suiteアダプタを使用すると、Service Busのビジネスおよびプロキシ・サービスは、E-Business Suiteと相互作用できます。このアダプタは、Oracle E-Business Suiteのバージョンに基づくカスタム統合インタフェース・タイプの選択をはじめ、Oracle E-Business Suiteリリース12およびリリース11iのすべてのモジュールをサポートしています。
詳細は、Oracle Fusion Middleware Oracle E-Business Suiteアダプタ・ユーザーズ・ガイドを参照してください。
Salesforceクラウド・アダプタを使用すると、Service Busのビジネス・サービスは、Salesforceサービスと相互作用できます。SalesforceのEnterprise、UnlimitedまたはDeveloperのエディションとの統合を可能にし、様々なシステムをSalesforceに接続して、SalesforceのSOAP APIを活用できます。
詳細は、Oracle Technology Networkの統合アダプタ・ドキュメントに関するページを参照してください。
パッケージ・アプリケーション・アダプタであるSAPアダプタを使用すると、Service Busのビジネスおよびプロキシ・サービスをSAPアプリケーションと統合できます。
詳細は、テクノロジ・アダプタの理解のパッケージ・アプリケーション・アダプタに関する項、およびOracle Technology Networkの統合アダプタ・ドキュメントに関するページを参照してください。
ソケット・アダプタを使用すると、クライアントまたはサーバー・ソケットを作成して接続を確立できます。このアダプタを使用して、TCP/IPソケットを介して通信するための標準または非標準プロトコルをモデル化できます。転送されるデータのフォーマットはテキストまたはバイナリです。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for Socketsに関する項を参照してください。
サード・パーティ・アダプタを使用すると、Service Busのビジネスおよびプロキシ・サービスを、PeopleSoftやSAPなどのサード・パーティ・アダプタと統合できます。これらのサード・パーティ・アダプタは、JCAアダプタを構成できるアーティファクト(WSDLおよびJCAファイル)を生成します。
詳細は、テクノロジ・アダプタの理解のパッケージ・アプリケーション・アダプタに関する項を参照してください。
Oracle User Messaging Serviceは、電子メール、セキュア・メッセージング・サービス(SMS)、インスタント・メッセージングおよびボイスなどのメッセージング・チャネルをサポートしています。Oracle User Messaging Serviceは、Service Busのビジネスおよびプロキシ・サービスと外部との間のメッセージング・プロキシを提供します。Oracle User Messaging Serviceには、2つのメッセージング方法(インバウンドおよびアウトバウンド)があります。
詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for UMSに関する項を参照してください。
JCAトランスポートはService Bus JCAアダプタ・フレームワークを使用して、外部EISサービスに接続を提供するJCA準拠のアダプタと対話します。JCAアダプタ・フレームワークは、これらのアダプタと対話する複雑さを除去してくれるため、ユーザーはプロキシおよびビジネス・サービス開発に集中できます。
インバウンド対話では、JCAプロキシ・サービスは関連するJCAアダプタ・エンドポイントにリスナーを登録します。JCAプロキシにメッセージを送信したEISシステムにイベントが発生すると、JCAアダプタ・フレームワークによりリクエストのみのパターンまたはリクエスト/レスポンスのパターンのプロキシ・サービスが呼び出されます。アウトバウンド対話で、クライアントがService Busを介してEISサービスを呼び出すと、JCAビジネス・サービスによりJCAアダプタ・フレームワークを介してJCAアダプタ・エンドポイントが呼び出されます。
JCAアダプタ・フレームワークの構成は不要です。JCAプロキシ・サービスおよびビジネス・サービスを作成し、アダプタをデプロイすると、JCAアダプタ・フレームワークはデプロイされ、自動的に機能します。
JCAトランスポートは、SOAP 1.1を使用してリクエストのみのメッセージング・パターンおよび同期のリクエスト/レスポンスのメッセージング・パターンをサポートします。JCAトランスポートはトランザクションです。JCAプロキシ・サービスがEISトランザクションで呼び出される、またはJCAビジネス・サービスがトランザクションで呼び出されると、トランスポートによりトランザクションが伝播されます。
サービスでJCAトランスポートを使用する場合、JNDIサービス・アカウントがエンドポイント検証時と実行時の両方で使用されます。エンドポイント検証の際、静的サービス・アカウントにエンドポイントが関連付けられている場合、アダプタの接続ファクトリに対するJNDIルックアップが静的サービス・アカウントのサブジェクトを使用して実行されます。サービスがサービス・アカウントを使用しない場合は、匿名サブジェクトが使用されます。
実行時には、JCAプロキシ・サービス・アカウントでは静的サービス・アカウントしかサポートされません。静的サービス・アカウントがサービスで構成されている場合、アダプタの接続ファクトリに対するJNDIルックアップを実行するためにサービス・アカウントのサブジェクトが使用されます。そうでない場合は、匿名サブジェクトが使用されます。JCAビジネス・サービスでは、実行時に静的サービス・アカウント、パス・スルー・サービス・アカウントおよびマッピング・サービス・アカウントがサポートされます。サービス・アカウントがJCAビジネス・サービスで構成されている場合、アダプタ接続ファクトリおよび後続のアウトバウンド呼出しに対するJNDIルックアップは、そのサービス・アカウントのサブジェクトを使用して実行されます。サービスがサービス・アカウントを使用しない場合は、匿名サブジェクトが使用されます。
EISデータベースに接続するOracleアダプタ(データベース、AQおよびOracle E-Business Suite用のOracleアダプタ)は、アダプタで管理される接続ファクトリに関連するJDBCデータ・ソースを使用して接続します。他のOracleアダプタ(ファイル用のOracle JCAアダプタなど)は、アウトバウンド接続で、Oracle WebLogic Serverによるコンテナ管理およびアプリケーション管理のサインオンをサポートします。詳細は、テクノロジ・アダプタの理解のエンタープライズ情報システムの資格証明の保護に関する項を参照してください。
また、JCAトランスポートはOracle Web Services Manager (OWSM)ポリシーとともに使用できます。詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のJCAアダプタでサポートされているOWSMポリシーに関する項を参照してください。
JCAビジネス・サービスで使用するJNDIサービス・アカウントのタイプによって、サブジェクト付きのアウトバウンド・サービス・エンドポイントが次の方法で呼び出されます。
サービス・アカウントを使用しない。かわりに、匿名サブジェクトを使用してアウトバウンドJCAエンドポイントを呼び出します。
パス・スルー・サービス・アカウントを使用する。インバウンド・リクエストに関連するサブジェクトを使用して、アウトバウンドJCAエンドポイントを呼び出します。
静的なサービス・アカウントを使用する。サービス・アカウントの静的ユーザー名/パスワードに関連するサブジェクトを使用して、アウトバウンドJCAエンドポイントを呼び出します。
マッピング・サービス・アカウントを使用する。サービス・アカウントのマップされたユーザー名/パスワードに関連するサブジェクトを使用して、アウトバウンドJCAエンドポイントを呼び出します。
JCAトランスポートは、Oracle WebLogic Server NonCatalogログ機能を使用してメッセージをロギングします。JCAアダプタ・フレームワークのログは、Oracle WebLogic Serverのログにリダイレクトされます。
デバッグ用にoracle.osb.debug.jca-framework-adapter
ロガーが構成されている場合のみ、JCAトランスポート、JCAアダプタ・フレームワークおよびJCAアダプタ(Oracle BAMアダプタを除く)によって生成されるデバッグ・ログ・レコードがOracle WebLogic Serverのログにリダイレクトされます。JCAフレームワークおよびアダプタのメッセージのログにはタグJCA_FRAMEWORK_AND_ADAPTERが付けられます。詳細は、『Oracle Service Busの管理』のログ・ファイルの構成と監視に関する項を参照してください。
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"/>
JCAフレームワークおよびアダプタがEISからの例外をスローすると、JCAビジネス・サービスがその例外をjca-runtime-fault-detail
要素内のSOAPフォルトに伝播します。このフォルト構造はJCAトランスポート・スキーマで定義されます。
次の1つ以上のサブ要素でEISフォルトの詳細にアクセスできます。
eis-error-code
(string): JCAフレームワークおよびアダプタによって伝播されたEISエラー・コードをキャプチャします(可能な場合)。
eis-error-message
(string): JCAフレームワークおよびアダプタによって伝播されたEISエラー・メッセージをキャプチャします(可能な場合)。
exception
(string): JCAフレームワークおよびアダプタのスタック・トレースをキャプチャします。
JCAトランスポートではアプリケーション・エラー時に再試行できず、このオプションを制御しません。このオプションを「いいえ」に設定します。
インバウンド・リクエストおよびアウトバウンド・レスポンスでは、JCAアダプタ・フレームワークがUTF-8エンコーディングを使用してJCAプロキシ・サービスにメッセージを送信します。
JCAトランスポートはすべてJCAアダプタと互換性があり、各アダプタには、一連のエンドポイント・プロパティ、アクティブ化指定/相互指定プロパティ、または接続プロパティを構成できます。JCAアダプタ自体に定義された実行時プロパティまたはバインディング・プロパティは、プロキシまたはビジネス・サービスのトランスポート構成には伝播されません。それらのプロパティは手動で構成する必要があります。詳細は、「JCAトランスポート・エンドポイントのプロパティ」を参照してください。
次の各項では、Service Bus固有の構成の推奨事項について説明します。
Oracle JCAアダプタは、自動的にService Busドメインにデプロイされます。サポートされている他のサード・パーティ・リソース・アダプタは、Oracle WebLogic Server管理コンソールで手動でインストールし、デプロイする必要があります。デプロイされたOracleアダプタを使用するには、Oracle WebLogic Server内のアダプタごとに、データ・ソースと接続プールを作成する必要があります。必要なデータ・ソースと接続プールの作成に関する情報と手順は、テクノロジ・アダプタの理解のアダプタ接続ファクトリの追加に関する項を参照してください。このガイドでは、データ・ソースに関する追加情報がアダプタごとに提供されます。
デフォルトでは、データベースをポーリングするOracleアダプタは1スレッドを使用してデータベースをポーリングします(アクティブ化指定のNumberOfThreads=1プロパティ)。設計に基づき、アダプタはこのスレッドを解放しないため、サーバー・ログにスタック・スレッド・スタック・トレースが表示されます。NumberOfThreadsを2以上に設定すると、それらすべてのスレッドにスタック・トレースが表示されます。スタック・スレッド・スタック・トレースは無視できます。
アダプタに関するスタック・スレッド・スタック・トレースの表示を防ぐには、次の設定を含むようにワーク・マネージャを構成します。
<ignore-stuck-threads>true</ignore-stuck-threads>
JCAプロキシ・サービスで、作成したワーク・マネージャをトランスポートのディスパッチ・ポリシーが使用するように構成します。
ワーク・マネージャについては、次のトピックを参照してください。
『Oracle WebLogic Serverサーバー環境の管理』のワーク・マネージャを使用したスケジュールされた作業の最適化に関する項
特定のOracle Database表をポーリングするプロキシ・サービスは1つのみです。Oracle JCA Adapter for Databaseのデータ・ソースについては、次のオプションを設定します。
オプション | 設定 |
---|---|
初期容量 |
0 |
予約時の接続のテスト |
選択済 |
テスト頻度 |
5 |
テスト対象の表名 |
SQL SELECT 1 FROM DUAL |
アイドル・プール接続を信頼する秒数 |
0 |
接続作成の再試行間隔(秒) |
10 |
Coherenceキャッシュ内のオブジェクトがPlain Old Java Object (POJO)の場合は、アダプタ構成で、POJO JARファイルを保存するアーカイブ・リソースも指定します。このリソースは、Coherenceアダプタおよび関連するビジネス・サービスを作成する前に、Service Busプロジェクトで作成できます。構成ウィザードには、アップロードするJARファイルをファイル・システムで検索し、ファイルをインポートして、Service Busプロジェクトにアーカイブ・リソースを作成できるオプションも用意されています。アーカイブ・リソースの作成方法の詳細は、「JARファイルの操作」を参照してください。
Oracle JDeveloperやその他のサポートされているJCA開発環境を使用して、JCAアダプタを作成および構成し、バックエンドの統合に使用されるJCAアダプタ・リソース(.jca
ファイルおよびWSDLファイル)を作成できます。
Oracle Service BusコンソールではJCAアダプタを作成および構成できませんが、JDeveloperで作成したアダプタをJCAバインド・リソースにアップロードできます。JCAバインド・リソースを作成したら、Service Bus JCAトランスポートを使用し、JCAアダプタを介してEISアプリケーションと通信するプロキシ・サービスおよびビジネス・サービスを生成できます。
JDeveloperでJCAアダプタを作成したら、Oracle Service Busコンソールで、そのアダプタをJCAバインド・リソースにインポートできます(Oracle Service Busコンソールが開発環境である場合)。
Service Bus概要エディタでは、単純なドラッグ・アンド・ドロップ方式を使用して、JDeveloperでService Busプロジェクト内にJCAアダプタを作成できます。サポートされているJCAアダプタを「コンポーネント」ウィンドウからキャンバスにドラッグすると、そのアダプタの構成ウィザードが起動されます。ウィザードを完了すると、JCAファイルとプロキシ・サービスまたはビジネス・サービスが作成され、すべての必要なファイルがService Busプロジェクトに追加されます。
注意:
JDeveloperの概要から直接JCAアダプタを作成することにより、ビジネス・サービスまたはプロキシ・サービスを作成した場合でも、JCAトランスポートはサービスとアダプタの間の仲介として機能します。
詳細は、このガイドの「Service Busコンポーネントの追加」およびテクノロジ・アダプタの理解のOracle JCAアダプタの概要に関する項を参照してください。
Oracle Service BusコンソールでJCAバインド・リソースを作成する最も簡単な方法は、JDeveloperで作成したJCAリソース(JCAファイル、関連付けられているWSDLファイル、TopLinkマッピング・ファイルなど)の一括インポートによるものです。一括インポートでは、Service Busによって、自動的にJCAファイルからJCAバインドが作成され、WSDLファイルからWSDLリソースが作成され、マッピング・ファイルからXMLドキュメント・リソースが作成されます。ファイル間の依存関係は、Service Busによって維持されます。インポートの詳細は、「リソースおよび構成のインポートとエクスポート」を参照してください。
JCAリソースをインポートすると、「JCAバインド・リソースからのプロキシ・サービスの生成方法」および「JCAバインド・リソースからのビジネス・サービスの生成方法」の説明に従って、JCAリソースからプロキシ・サービスまたはビジネス・サービスを生成できます。
JCAリソースをOracle Service Busコンソールに一括インポートしない場合は、手動でJCAバインド・リソースを作成し、JCAファイルをコンソールにアップロードできます。Oracle Service BusコンソールでJCAプロキシ・サービスまたはビジネス・サービスを作成するには、JCAファイルとWSDLファイルが必要となります。この項では、JCAバインド・リソースを作成するプロセスについて説明します。WSDLリソースの作成方法の詳細は、「コンソールでのWSDLリソースの作成方法」を参照してください。
コンソールでJCAバインド・リソースを作成するには:
JCAバインド・リソースとそれらの依存関係を追加したら、JCAバインドからプロキシ・サービスとビジネス・サービスを生成できます。詳細は、「JCAバインド・リソースからのプロキシ・サービスの生成方法」および「JCAバインド・リソースからのビジネス・サービスの生成方法」を参照してください。
Oracle Service Busコンソールを使用している場合は、次の手順を使用してJCAバインドを編集します。
JDeveloperでJCAアダプタを変更する場合の詳細は、Service Bus概要エディタからのコンポーネントの編集方法を参照してください。
コンソールでJCAバインドを編集するには:
プロジェクト・ナビゲータで、編集するJCAバインドを含むプロジェクトおよびフォルダを開きます。
JCAバインド名を右クリックし、「開く」を選択します。
参照する新しいWSDLファイルを検索して選択するには、「WSDLの依存関係」セクションで「WSDLの選択」アイコンをクリックします。
JCAファイルの内容を変更したり、新しいJCAファイルをアップロードするには、次の手順を実行します。
ツールバーの「ソースの編集」をクリックします。
「ソースの編集」ダイアログが表示されます。
アップロードする新しいJCAファイルを参照して選択するには、「参照」をクリックします。
ファイルのコンテンツを変更するには、ダイアログの「コンテンツ」セクションでコードを直接更新します。
「保存」をクリックします。
JCAバインド定義エディタのツールバーで、「保存」をクリックします。
セッションを終了して構成をランタイムにデプロイするには、「アクティブ化」をクリックします。
JCAバインド・リソースに基づくビジネス・サービスまたはプロキシ・サービスがある場合、JCAバインド・リソース自体を削除する前に、ビジネス・サービスまたはプロキシ・サービスからJCAバインド・リソースを削除します。Oracle Service BusコンソールのJCAバインド定義エディタでJCAバインドを開き、右上にある「ツール」アイコンをクリックし、「参照」を選択して参照が含まれているかどうかを確認します。JDeveloperでは、JCAファイルを右クリックして、「依存性の参照」を選択します。
JCAバインド・リソースを削除するには:
Service Busプロジェクトでは、カスタムJCAアダプタを作成して使用できます。カスタム・アダプタはJDeveloperでのみ作成できます。「Oracle Service BusコンソールでのJCAバインド・リソースの作成方法」の説明に従い、アダプタが作成されると、JDeveloperで使用することもでき、またアダプタの関連ファイルをOracle Service Bus Consoleにインポートすることもできます。その後、他のJCAアダプタと同様に、アダプタをJCAトランスポートと組み合せて使用できます。
注意:
TopLink XMLマッピング・ファイルやXSLTファイルなどの依存関係リソースを含むサポート対象の一部のOracle SOA Suiteアダプタとは異なり、Service Busでは、カスタム・アダプタでの依存関係リソースの使用がサポートされません。
カスタム・アダプタはすべて、Service Busホーム・ディレクトリ(OSB_ORACLE_HOME
/config/adapter)にある
OSBSupportedAdapters.xml
ファイルに登録する必要があります。このファイルには、Service BusのすべてのカスタムJCAアダプタの名前のみがリストされます。以前にカスタムJCAアダプタを登録していないと、登録ファイルを作成する必要がある場合があります。独自の登録ファイルの作成に使用できる単純なファイルを次に示します。
<jca:osb-supported-adapters xmlns:jca="http://www.bea.com/wli/sb/transports/jca"> <jca:adapter-type>CUSTOM_ADAPTER</jca:adapter-type> <jca:adapter-type>SAMPLE_ADAPTER</jca:adapter-type> <jca:adapter-type>MY_ADAPTER</jca:adapter-type> </jca:osb-supported-adapters>
adapter-type
要素の値は、アダプタJCAファイルから取得されます。それは、adapter-config
要素のadapter
属性の値に次の変更を加えた値になります。
すべての文字が大文字に変換されます。
1つの空白が1つのアンダースコアに変換されます(たとえば、My Adapter
はMY_ADAPTER
に変換されます)。
連続する空白が1つのアンダースコアに変換されます(たとえば、My Adapter
もMY_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>
JCA Adapter for Socketsは、XSLTおよびカスタムJavaコードに加え、カスタムJavaScriptを使用してハンドシェイクの処理をサポートします。JavaScriptは、HTMLページにインタラクティブ機能を追加するための軽量なスクリプト言語です。
JDeveloperで作業する場合は、JDeveloperの標準機能を使用してJavaScriptをプロジェクトに追加できます。詳細は、『Oracle JDeveloperによるアプリケーションの開発』のスクリプト言語を使用したアプリケーションの開発に関する項を参照してください。
Oracle Service Busコンソールで、JavaScriptリソースを作成して、既存のJavaScriptファイルをそのリソースにアップロードします。
Oracle Service BusコンソールでJavaScriptリソースを作成するには:
JDeveloperを使用している場合は、IDEの標準エディタを使用してJavaScriptファイルを編集できます。Oracle Service Busコンソールを使用している場合は、次の手順を使用してJavaScriptリソースを編集します。
Oracle Service BusコンソールでJavaScriptリソースを編集するには:
プロジェクト・ナビゲータで、編集するJavaScriptリソースが含まれているプロジェクトおよびフォルダを開きます。
JavaScriptリソース名を右クリックして、「開く」を選択します。
JavaScriptリソースの内容を変更したり、新しいJavaScriptリソースをアップロードするには、次の手順を実行します。
ツールバーの「ソースの編集」をクリックします。
「ソースの編集」ダイアログが表示されます。
アップロードする新しいJCAファイルを参照して選択するには、「参照」をクリックします。
ファイルのコンテンツを変更するには、ダイアログの「コンテンツ」セクションでコードを直接更新します。
「保存」をクリックします。
JavaScript定義エディタのツールバーで、「保存」をクリックします。
セッションを終了して構成をランタイムにデプロイするには、「アクティブ化」をクリックします。
この項では、JCAトランスポート固有の構成オプションについて説明します。
注意:
JCAアダプタ・ファイルに定義されている実行時プロパティとバインド・プロパティは、プロキシまたはビジネス・サービス構成には伝播されない点に注意してください。それらのプロパティは、次の各項で説明するエンドポイント、仕様および接続プロパティを変更して、手動で構成する必要があります。
一般的なビジネスおよびプロキシ・サービスの構成の説明については、次の項を参照してください。
JCAサービスの次のエンドポイントURIフォーマットを使用してください。
jca://resource_adapter_jndi
ここで、resource_adapter_jndi
は、JCAファイルに含まれるconnection-factory
要素のlocation
属性の値です。この値は、アダプタの接続ファクトリJNDIと一致します。
JCAサービス・エンドポイントは、WSDLファイル、XMLスキーマ、サービス・アカウント、JCAリソース、XMLスキーマおよびXMLリソース(TopLinkマッピング・ファイル)に依存します。それらのうちいずれかのリソース・タイプが更新され、サービス用に保存されると、JCAサービス・エンドポイントが自動的に削除、再作成および再デプロイされます。JCAプロキシ・サービスでは、新しいアダプタ・リスナーもインバウンド・リクエストをリスニングするために初期化されます。
表25-2で説明されているように、JCAエンドポイント再デプロイメントは、「常にJCAファイルからの構成を使用」オプションをサービスで選択しているかどうかによって、実行時にサービスに潜在的な影響を及ぼします。たとえば、JCAエンドポイントが再デプロイされた後、
「常にJCAファイルからの構成を使用」を選択すると、実行時にリソース・アダプタと接続および対話するために、更新されたJCAファイルが使用されます。
「常にJCAファイルからの構成を使用」を選択しないと、実行時にリソース・アダプタと対話するために、対応する更新済のJCAファイル・プロパティではなく、既存のサービス構成オーバーライドが使用されます。
Oracle JCAアダプタは、正規化メッセージ・プロパティを介してヘッダー情報を送信します(AQ用Oracle JCAアダプタのペイロード・ヘッダーを除きます)。Service Busでは、JCAアダプタの正規化メッセージ・プロパティがサポートされます。Oracle JCAアダプタからのインバウンド・メッセージについては、Service Bus JCAトランスポートによって、正規化メッセージ・プロパティがキー値のペアとしてトランスポート・ヘッダーに自動的にマップされます。JCAアダプタへのアウトバウンド・メッセージについては、JCAトランスポートによって、トランスポート・ヘッダーが正規化メッセージ・プロパティに自動的に変換されます。
XQuery式の作成時は、オプション・リストから正規化された各メッセージ・プロパティを選択できます。
注意:
Service Busで正規化メッセージ・プロパティをSOAPメッセージ・ヘッダーにマップすることはできません。
次に、正規化メッセージ・プロパティをサポートする、Service Busでの事前定義済のトランスポート・ヘッダーのリストを示します。Service Busでは、この他のすべての標準化メッセージ・プロパティはユーザー定義のトランスポート・ヘッダーにマップされます。
Service Busトランスポート・ヘッダーは、$inbound
および$outbound
リクエスト変数で事前定義されています。正規化メッセージ・プロパティのリストと説明は、テクノロジ・アダプタの理解の次のトピックを参照してください。
Oracle AQアダプタのJCAプロパティ: 正規化プロパティ
Coherenceアダプタの正規化プロパティ
Oracle DatabaseアダプタのJCAプロパティ: 正規化プロパティ
Oracleファイル・アダプタのJCAプロパティ: 正規化プロパティ
Oracle FTPアダプタのJCAプロパティ: 正規化プロパティ
Oracle JMSアダプタのJCAプロパティ: 正規化プロパティ
Oracle MQアダプタのJCAプロパティ: 正規化プロパティおよびRFHバージョン2 (RFH2)ヘッダー
MSMQアダプタの正規化プロパティ
UMSアダプタのメッセージ・ヘッダー
JCAトランスポートでは、JCAプロキシまたはビジネス・サービスの構成で「JCAトランスポートを使用するプロキシおよびビジネス・サービスの構成」の説明に従って設定できる、様々なサービス・エンドポイント・プロパティがサポートされます。エンドポイント・プロパティの詳細は、テクノロジ・アダプタの理解のOracle JCAアダプタのプロパティに関する項を参照してください。
警告:
これらのプロパティは、JCAアダプタ・ファイルに定義されている場合でも、ビジネスまたはプロキシ・サービスに定義する必要があります。
エンドポイント・プロパティの標準セットは、ほとんどのJCAアダプタに適用されます。JCAベースのプロキシ・サービスまたはビジネス・サービスを構成する場合、これらのプロパティをオプション・リストから選択し、それらの値を構成できます。表25-1に、JCAトランスポート用に選択できるエンドポイント・プロパティのリストと説明を示します。
表25-1 JCAトランスポートのエンドポイント・プロパティ
プロパティ名 | 説明 |
---|---|
jca.retry.count |
拒否するまでの最大再試行回数を示します。 |
jca.retry.interval |
再試行の間隔を示します(秒単位)。 |
jca.retry.backoff |
再試行間隔の増加係数(正の整数)を示します。 |
jca.retry.maxInterval |
再試行間隔の最大値を示します。つまり、backoffが |
jca.retry.maxPeriod |
アウトバウンドJCAアダプタの最大総再試行期間を示します。期間がこのプロパティに指定された値を超えると、再試行は行われません。 |
activationInstances |
インバウンドJCAリソース・アダプタのポーリング(ワーカー)スレッド数を増やします。つまり、ネイティブでマルチスレッドをサポートしていないアダプタの同時実行性の強化にのみ役立ちます。Oracle Fusion Middlewareに含まれるほとんどのアダプタはネイティブでマルチスレッドをサポートしているため、この設定は、通常、ネイティブでマルチスレッドをサポートしていないサード・パーティ(カスタム)のJCAアダプタで役立ちます。特定のJCAアダプタで、このプロパティに必要なスレッド数を設定します。 |
payloadSizeThreshold |
アダプタ・レイヤーでのペイロード・サイズのしきい値を指定します。サイズが構成されたしきい値の制限を超えるメッセージは拒否されます。このプロパティが構成されていない場合、メッセージ・サイズに対する制限はありません。 |
rejectUncorrelatedMessages |
関連付けできないメッセージを拒否するかどうかを指定します。インバウンド非同期メッセージと前のアウトバウンド・メッセージの関連付けにネイティブ相関が使用されている場合、通常、JCAフレームワークは、インバウンド・メッセージを関連付けできるかどうかに関係なく、メッセージをサービスにポストしようとします。このプロパティを |
UseWorkManager |
デフォルトの標準ワーク・マネージャではなく、ポーリング(ワーカー)スレッドの起動に使用するカスタム・ワーク・マネージャを指定します。このプロパティを使用して、特定のWebLogicワーク・マネージャを使用するようにインバウンドJCAエンドポイントを構成できます。ワーク・マネージャは、このプロパティが定義されているJCAサービスを開始するためにのみ使用されます。このプロパティの値は、ワーク・マネージャの名前です。JNDIルックアップに失敗した場合は、デフォルトのService Busワーク・マネージャが使用されます。 |
ほとんどのJCAアダプタは、統合するシステム・タイプに一意の膨大なエンドポイント・プロパティ・セットをサポートしています。JCAベースのプロキシ・サービスまたはビジネス・サービスを構成する場合、これらのプロパティをオプション・リストから選択し、それらの値を構成できます。正規化メッセージ・プロパティのリストと説明は、テクノロジ・アダプタの理解の次のトピックを参照してください。
すべてのOracle JCAアダプタのバインド・プロパティ
Oracle AQアダプタのバインド・プロパティ
データベース用のOracle JCAアダプタ
OracleファイルおよびFTPアダプタのバインド・プロパティ
Oracle FTPアダプタ固有のバインド・プロパティ
Oracle JMSアダプタのバインド・プロパティ
Oracle MQ Seriesアダプタのバインド・プロパティ
MSMQアダプタのバインド・プロパティ
UMSアダプタのメッセージ・ヘッダー
Service Busでは、アクティブ化指定プロパティはプロキシ・サービス固有で、相互指定プロパティはのビジネス・サービス固有です。これらのプロパティは追加または削除できません。値の変更のみ実行できます。「トランスポート構成」ページに表示されるプロパティは、アダプタ構成ウィザードでアダプタを作成した際のアダプタ・プロパティの定義方法によって異なります。
これらのプロパティを更新するには、アダプタ・エンドポイントを再利用する必要があります。これらのタイプのプロパティは、相互に様々な依存関係を持っています。アクティブ化指定プロパティおよび相互指定プロパティのリストと説明は、テクノロジ・アダプタの理解の次のトピックを参照してください。
すべてのOracle JCAアダプタのプロパティ
Oracle AQアダプタのJCAプロパティ
CoherenceアダプタのJCAプロパティ
データベース用のOracle JCAアダプタ
OracleファイルおよびFTPアダプタのJCAプロパティ
Oracle FTPアダプタ固有のJCAプロパティ
Oracle JMSアダプタのJCAプロパティ
LDAPアダプタの接続プロパティ
Oracle MQ SeriesアダプタのJCAプロパティ
MSMQアダプタのJCAプロパティ
Oracleソケット・アダプタのJCAプロパティ
UMSアダプタのアクティブ化指定プロパティ
UMSアダプタの相互指定プロパティ
JCAトランスポートでは次の環境変数値を宣言し、これらは、異なるデプロイメント環境間でService Bus構成を移動する場合も保持できます。
これらの値の説明は、「JCAトランスポートを使用するプロキシおよびビジネス・サービスの構成」を参照してください。環境変数の詳細は、『Oracle Service Busの管理』のOracle Service Bus環境のカスタマイズに関する項を参照してください。
ワーク・マネージャ
JCAは常にJCAファイルのフラグを使用
JCA接続モード
JCA上書き接続認証フラグ
表25-2に、JDeveloperまたはOracle Service BusコンソールにおいてJCAトランスポート構成ページで使用可能なオプションを示します。
表25-2 JCAトランスポート・プロパティ
オプション | 説明 |
---|---|
JCAファイル |
「参照」をクリックしてJCAリソースを選択します。JCAリソースによって、使用されるアダプタの詳細、WSDLへのバインド、TopLinkマッピング・ファイル、サービスで必要なアクティブ化指定/相互指定プロパティなど、サービスの様々な面が定義されます。 有効なJCAリソースを選択したら、その他のトランスポート構成フィールドが使用可能になります。 |
アダプタ名 |
JCAサービスが使用するアダプタの名前が表示されます。 |
アダプタ・タイプ |
アダプタ・タイプが表示されます。 |
ディスパッチ・ポリシー |
このエンドポイントのディスパッチ・ポリシーに使用するWebLogic Serverワーク・マネージャのインスタンスを選択します。デフォルトのワーク・マネージャは、他にワーク・マネージャがない場合に使用されます。 ワーク・マネージャについては、次のトピックを参照してください。
|
JNDIサービス・アカウント |
「参照」をクリックし、EISアダプタ管理対象の接続ファクトリにアクセスするためJNDIコンテキスト・セキュリティで使用されるJNDIサービス・アカウントを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。 JCAビジネス・サービスでは、静的またはパススルーなど、構成できるJNDIサービス・アカウントのタイプに制限はありませんが、ランタイムはユーザー名とパスワードにアクセスできる必要があります。JCAプロキシ・サービスは静的JNDIサービス・アカウントのみを使用できます。 JNDIサービス・アカウントの詳細は、「JCAトランスポートのセキュリティ」を参照してください。 |
エンドポイント・プロパティ |
「追加」アイコンをクリックし、使用可能リストからエンドポイント・プロパティを選択して、各プロパティに値を割り当てます。このフィールドでは、サービスが使用するアダプタ・タイプの再試行回数など、エンドポイント・プロパティに値を割り当てることができます。 サポートされるエンドポイント・プロパティの情報へのリンクについては、「JCAトランスポート・エンドポイント・プロパティ」を参照してください。 |
動的エンドポイント・プロパティ |
「追加」アイコンをクリックし、エンドポイントの動的なプロパティを定義して、各プロパティに値を割り当てます。指定する動的エンドポイント・プロパティごとに名前と値のペアを入力します。エンドポイント・プロパティ・キーが問合せパラメータ名と一致します。 このオプションを使用すると、リクエスト・パラメータをJCA準拠サービスに渡すことができます。たとえば、動的エンドポイント・プロパティを使用して、データベース問合せパラメータをデータベース用のOracle JCAアダプタに渡すことができます。 パラメータによる問合せの詳細は、テクノロジ・アダプタの理解のOracle JCA Adapter for Databaseに関する項を参照してください。サポートされるエンドポイント・プロパティの情報へのリンクについては、「JCAトランスポート・エンドポイント・プロパティ」を参照してください。 |
常にJCAファイルからの構成を使用 |
このオプションを選択して、「アクティブ化指定プロパティ」(プロキシ・サービス)および「相互指定プロパティ」(ビジネス・サービス)を常にJCAファイルから使用するかどうかを指定します。 このオプションが選択されている場合(デフォルト)、JCAトランスポートはJCAファイルのアクティブ化指定プロパティまたは相互指定プロパティを使用してJCAフレームワークとやり取りします。このオプションが選択されていない場合は、アクティブ化指定および相互指定プロパティをオーバーライドできます。 このオプションを使用する場合の再デプロイメントの影響については、「エンドポイント再デプロイメント」を参照してください。 |
操作名 |
選択したWSDL操作の読取り専用の名前を表示します。操作ごとに専用のアクティブ化指定プロパティまたは相互指定プロパティを指定できます。 |
アクティブ化指定プロパティ/相互指定プロパティ |
ビジネス・サービスの場合、このフィールドには、「操作名」フィールドに表示されているJCAインバウンド操作のアウトバウンド相互指定プロパティが表示されます。プロキシ・サービスの場合、このフィールドには、「操作名」フィールドに表示されているJCAインバウンド操作のアクティブ化指定プロパティが表示されます。「常にJCAファイルからの構成を使用」を選択解除すると、アクティブ化または相互指定プロパティをオーバーライドできます。 注意: Oracle Adapter Suiteアダプタの場合、アクティブ化/相互指定プロパティは読取り専用になります。Oracle Adapter Suiteアダプタには独自の構成が保存されています。これは、Oracle Adapter Suite管理ツールで変更する必要があります。 |
接続モード |
関連付けられたJCAアダプタにサービスを接続する方法を指定するには、次のオプションのいずれかを選択します。 管理対象: プロダクション環境に推奨されます。JCA転送はWebLogic Serverで構成したJCAアダプタ管理対象の接続ファクトリを介してJCAアダプタに接続します。認証のためにJNDIサービス・アカウントを指定します。JNDIサービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。 非管理対象: JCA転送は、JCAアダプタのコンテナとして機能するJCAアダプタ・フレームワークからJCAアダプタに接続します。認証のためにJNDIサービス・アカウントを指定します。JNDIサービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。接続ファクトリ・プロパティを編集してオーバーライドできます。 注意: これらのオプションは、レガシー・アダプタやクラウド・アダプタなどの特定のアダプタでのみ使用可能です。非管理対象モードから管理対象モードに変更する場合、モードを変更する前に、「接続認証プロパティの上書き」オプションを必ず選択解除してください。 |
上書き接続認証のプロパティ |
アダプタ接続ファクトリのユーザー名とパスワードが、「接続認証サービス・アカウント」の資格証明によって上書きされるように指定するには、このオプションを選択します。サービス・アカウントを指定しない場合は、匿名サブジェクトが使用されます。 このオプションは、接続ファクトリ・プロパティにユーザー名およびパスワード・プロパティが含まれ、接続モードが「管理対象外」で、「常にJCAファイルからの構成を使用」が選択されていない場合のみ使用可能です。 |
接続認証サービスのアカウント |
前述の「接続認証プロパティの上書き」が選択されている場合は、認証に使用するサービス・アカウントを参照して選択します(「接続認証プロパティの上書き」を選択した場合は、サービス・アカウントを指定する必要があります)。プロキシ・サービスでは、静的サービス・アカウントのみ使用できます。 |
接続ファクトリ・プロパティ |
接続ファクトリ・オーバーライド値を入力します。 注意: 「常にJCAファイルからの構成を使用」が選択解除され、接続モードが非管理対象の場合に、プロパティ値をオーバーライドできます。プロダクション環境では管理対象のモードを使用して、JCAトランスポートがWebLogic Serverで構成したアダプタ接続ファクトリに接続するようにします。 |
エンドポイントおよびアクティブ化指定/相互指定プロパティの詳細は、テクノロジ・アダプタの理解のアダプタ・フレームワークに関する項を参照してください。