1 カスタム・テクノロジ・アダプタを開発する上での主な考慮事項
カスタム・テクノロジ・アダプタの開発を開始する前にトピックに示されている事項を検討します。
Oracle JCA準拠アダプタは、ビジネス・アプリケーションの統合を可能にし、異種アプリケーション間の相互通信に必要な堅牢、軽量で高度にスケーラブルな標準ベースの統合フレームワークを提供します。自身の要件に基づいて、独自のカスタム・アダプタおよびランタイム・コンポーネントを作成できます。
カスタムJCAアダプタ・ウィザードは、相互作用/アクティブ化の仕様、プロパティおよびデフォルト値を構成ファイルから読み取って表示する汎用アダプタ・ウィザードです。ユーザーは、JDeveloperのデザインタイム・ファシリティを採用して、ウィザードの使用、仕様の選択、デフォルトのプロパティ値のオーバーライドおよびアダプタへの新規プロパティの追加を実行します。
つまり、カスタムJCAアダプタでは、ユーザーから情報を取得し、その情報を使用して、ランタイム・アダプタに必要な相互作用/アクティブ化の仕様およびプロパティが含まれるWSDLファイルおよびJCAファイルを作成する必要があります。
1.1 予備的決定: アダプタを一方向と双方向のいずれにするか
カスタム・アダプタを作成する際に、最初に決定する必要がある事項は、カスタム・アダプタを一方向と双方向のいずれにするか、すなわちアウトバウンド(同期)操作の呼出しをサポートするかどうか、つまりJCA共通クライアント(CCI) APIを使用するかどうかです。あるいは、アダプタでアウトバウンドとインバウンド両方の(非同期)メッセージ・フローをサポートする必要があるかどうかです。
この決断を下し、アウトバウンドおよびインバウンド・メッセージ・フローをサポートするカスタム・アダプタを作成する場合、次の点について認識しておくことが重要です。
-
アウトバウンド・メッセージ・フローをサポートするには、アダプタで
javax.resource.cci.InteractionSpec
の1つ以上の実装を定義する必要があります。 -
インバウンド・メッセージ・フローをサポートするには、アダプタで
javax.resource.spi.ActivationSpec
の1つ以上の実装を定義する必要があります。
これらの仕様(Java Beans)はそれぞれ、アダプタでサポートする特定の操作を定義する名前と値のペアとしてメタデータを提供します。
たとえば、FTPアダプタの場合、相互作用の仕様では、Directory
というBeanプロパティが公開されます。FTPアダプタが呼び出された場合、呼出し元は、相互作用の仕様プロパティDirectory
を設定することによって(たとえば、FtpInteractionSpec.setDirectory("/tmp/receive")
を設定することによって)、特定のディレクトリにペイロードを配置するようアダプタに指示することができます。
アダプタで異なる種類またはカテゴリの呼出しがサポートされる場合、それぞれの呼出しで別々のプロパティ・セットが必要であり、javax.resource.cci.InteractionSpec
の個別実装によって各呼出しタイプをモデリングできます。
たとえば、アダプタではさらに、SshFtpInteractionSpec
およびSSLFtpInteractionSpec
を実装できます。1つ目の相互作用の仕様ではS-FTPプロトコルがサポートされ、2つ目の相互作用の仕様ではFTP/Sプロトコルがサポートされます。
この情報およびアダプタでサポートされる操作に関するアダプタ使用の可能性について認識しておくことは、カスタマイズにおいて役立つ一歩となります。
1.2 用途
カスタムJCAアダプタ・ウィザードには、次のようないくつかの目的があります。
-
顧客またはサード・パーティ製アダプタのプロバイダは、カスタム・アダプタ・ウィザードをそのまま使用して、自分たちのカスタム・ランタイム・アダプタをサポートできます。この場合、カスタム・アダプタ構成ファイル(
customAdapter-config.xml
)を用意(または拡張)することがだけが必要です。 -
顧客またはサード・パーティ製アダプタ・プロバイダは、より限定的なアダプタの作成が必要な場合、カスタム・アダプタのクラスを拡張できます(たとえば、アダプタに適合するようにテキストを変更できます)。
-
カスタム・アダプタ・ウィザードは、JCAアダプタ・フレームワークを使用して、SCAEndpointインタフェースにフックすることによって新しいアダプタ・ウィザードを作成する(または古いアダプタ・ウィザードを変換する)簡単な例です。SOA jdev拡張をインストールすると、カスタム・アダプタのjavaソース・ファイルは
<Oracle Home>/soa/plugins/jdeveloper/integration/adapters/samples
に配置されます
アダプタ・デザインタイム・コンポーネントの作成について学ぶ前に、デフォルトのカスタム・アダプタ・ウィザードを構成する画面について理解しておく必要があります。