コネクター・コンポーネント

アダプターは Java で記述され、3 つのコンポーネントから構成されています。

コネクターは XML データ・ハンドラーと対話します。データ・ハンドラーの詳細については、「データ・ハンドラー・ガイド」を参照してください。

図 1 に、コネクター・コンポーネントのアーキテクチャーを示します。コネクターはモジュール構成であるため、製品が提供する機能を置き換えるカスタム・コンポーネントを設計することができます。

図 1. コネクター・アーキテクチャー


コネクター

コネクターは、InterChange Server Express とプロトコル・ハンドラーの間で、ビジネス・オブジェクトを受け渡します。 コネクターは、以下の処理を実行します。

コネクターが使用する主なメソッドは、init()doVerbFor()、および pollForEvents() です。init() メソッドは、InterChange Server Express のリポジトリーからすべての構成値を読み取り、プロキシー名 (HTTP および HTTPS) とそれに対応するポートを設定し、プロトコル・ハンドラー (JavaProtocolHandlerPkgs) および XML データ・ハンドラー (JavaDataHandlerPkgs) に対応する Java クラス・パッケージ名、さらにデータ・ハンドラーとプロトコル・ハンドラーのプロパティー値を読み取ります。

doVerbFor() メソッドは、ビジネス・オブジェクト要求/応答操作を処理します。コネクターが InterChange Server Express からトップレベルのビジネス・オブジェクトを受け取ると、doVerbFor() メソッドが要求ビジネス・オブジェクトと宛先 URL を抽出します。次に、doVerbFor() メソッドが適切なプロトコル・ハンドラー・インスタンスを作成します。

コネクターが宛先 URL から応答を受け取ると、doVerbFor() メソッドはトップレベルのビジネス・オブジェクトの子としての応答ビジネス・オブジェクトにデータを設定し、その結果を InterChange Server Express に戻します。コネクターの中で、すべてのエラーは例外として伝搬し、コネクターにより処理されます。その結果、BON_FAIL が戻り、Return Status Descriptor が設定されます。

pollForEvents() メソッドは、イベント通知用に使用されます。コネクターには、ビジネス・オブジェクトを使用して URL からのイベントをチェックする機能があります。イベント通知の詳細については、"イベント通知" を参照してください。

コネクターは、データ・ハンドラーのトップレベルのメタオブジェクト名を、DataHandlerConfigMO コネクター構成プロパティーで指定されたとおりに静的プロパティーに設定します。

プロトコル・ハンドラー (HTTP および HTTPS)

コネクターは、プロトコル・ハンドラーにより、HTTP および HTTPS プロトコルを使用して URL との通信を実現できます。プロトコル・ハンドラーは、Java URLConnection クラスから拡張された抽象基本クラスです。このクラスに所属する抽象メソッドを実装することにより、HTTP や HTTPS など具体的なプロトコルをサポートすることができるようになります。コネクターから呼び出されるプロトコル・ハンドラー・フレームワークにより、プロトコル・ハンドラーのインスタンスが作成されます。

WebSphere Business Integration Server Express Adapter for XML には同期と非同期、両方のプロトコル・ハンドラーが含まれています。同期プロトコル・ハンドラーは、同期応答に基づいてビジネス・オブジェクトを戻します。非同期プロトコル・ハンドラーは応答ビジネス・オブジェクトの受信を想定していません。通知動作の結果として受け取る戻りコードに基づいて成功または失敗のメッセージを戻します。非同期プロトコル・ハンドラーはイベント通知をサポートしていません。

注:
プロトコル・ハンドラー・フレームワークを使用することにより、FTP など他のプロトコルのサポートを追加することができます。プロトコル・ハンドラー・フレームワークは、CWURLConnection と呼ばれる抽象基本クラスです。

プロトコル・ハンドラー・フレームワークは、プロトコル・ハンドラーのインスタンスを作成し、この作成されたインスタンスに、コネクターがビジネス・オブジェクトを渡します。プロトコル・ハンドラーは、ビジネス・オブジェクトから内容タイプ (text/plaintext/xml など) を抽出し、これを使用して XML データ・ハンドラーのインスタンスを作成します。

プロトコル・ハンドラーが createHandler() メソッドを呼び出すと、メソッドは内容タイプで渡されます。データ・ハンドラー作成メソッドは、スラッシュ (/) をピリオド (.) に、すべての非英数字文字を下線 (_) に置き換えることにより、内容タイプを渡します。

次に作成メソッドは、内容タイプから解析されたストリングに一致する属性を、データ・ハンドラーのトップレベルのメタオブジェクトから探します。一致が見つからない場合、メソッドはクラス名を com.crossworlds.DataHandlers.modified content_type としてクラスを構築します。

プロトコル・ハンドラーは次の処理を実行します。

実装されたコネクターに追加プロトコルのサポートが必要な場合には、カスタム・プロトコル・ハンドラーの作成が必要です。カスタム・プロトコル・ハンドラーの作成方法については、カスタム・プロトコル・ハンドラーの作成を参照してください。

Copyright IBM Corp. 2004