コネクターの動作方法

以降のセクションでは、コネクターがビジネス・オブジェクト要求を処理する方法、構成のためにメタオブジェクトを使用する方法、およびコネクターがイベント通知を処理する方法について説明します。

ビジネス・オブジェクトの処理

コネクターは、要求/応答動作により、コネクターと URL の間でデータをやり取りします。コネクターは InterChange Server Express からビジネス・オブジェクト要求を受け取り、この要求を XML ストリームに変換します。要求ストリームは、POST メソッドにより URL に渡されます。戻される応答ストリームは、内容が同様な場合と異なる場合とがあります。応答ストリームは応答ビジネス・オブジェクトに変換され、当初のトップレベルのビジネス・オブジェクトと共に InterChange Server Express に戻されます。ビジネス・オブジェクト要求のタイプは、ビジネス・オブジェクト応答のタイプと異なる場合もあるので注意してください。

以下に、要求/応答サイクルの全体を示します。

図 2. ビジネス・オブジェクトの処理


要求

InterChange Server Express からビジネス・オブジェクト要求を受け取ったコネクターは、この要求を、適切なプロトコルを使用して渡すことのできる要求ストリームに変換する必要があります。要求ビジネス・オブジェクトの変換と URL への送信には、プロトコル・ハンドラーと XML データ・ハンドラーが使用されます。

図 3 に要求プロセスを示します。

図 3. 要求処理


特に、コネクターがトップレベル・ビジネス・オブジェクトを InterChange Server Express から受け取った場合の処理フローは次のようになります。

  1. コネクターは、getAttrValue ("URL") を呼び出し、URL を検索します。また、getAttrValue ("MimeType")getAttrValue ("BOPrefix") を呼び出すことにより、ビジネス・オブジェクトから MimeType と BOPrefix の属性値を検索します。
  2. コネクターは、トップレベルのビジネス・オブジェクトから要求ビジネス・オブジェクトを抽出します。
  3. コネクターは、トップレベルのビジネス・オブジェクトの URL フィールドに指定されたプロトコルおよび指定されたプロトコル・ハンドラー・パッケージ名に基づいて、適切なプロトコル・ハンドラー (HTTP または HTTPS) を呼び出します。
  4. プロトコル・ハンドラーは、トップレベルのビジネス・オブジェクト (トップレベルのメタオブジェクトの中に構成されたもの) の MimeType および BOPrefix 属性に基づいて、適切なデータ・ハンドラーを呼び出します。
  5. データ・ハンドラーは、ビジネス・オブジェクトを要求ストリームに変換し、これを、プロトコル・ハンドラーに戻します。
  6. プロトコル・ハンドラーは、トップレベルのビジネス・オブジェクトに指定された宛先 URL に要求ストリームを送るか、あるいは戻りコードを渡します。

応答

同期式プロトコル・ハンドラーを使用している場合、応答ビジネス・オブジェクトが URL から戻るとき、応答ストリームの形式で戻ります。非同期式プロトコル・ハンドラーを使用している場合には、戻りコードがそのまま戻ります。応答処理は要求処理と同様ですが、応答ストリームをビジネス・オブジェクトに変換して戻す必要のある点が違います。

注:
応答ストリームは、要求ストリームと同じビジネス・オブジェクト・タイプで表現されない場合もあります。

図 4 に、応答ビジネス・オブジェクトがコネクターに戻る処理フローを示します。

図 4. URL からデータが戻るときの処理フロー


特に、プロトコル・ハンドラーが URL から応答ストリームを受け取ったとき、MIME タイプが text/xml の場合の処理フローは次のようになります。

  1. プロトコル・ハンドラーは getContentType () メソッドを呼び出すことにより、MIME タイプの値を取得し、どのデータ・ハンドラーを使用するか決定します。
  2. プロトコル・ハンドラーは、DataHandler クラスを呼び出すことにより、XML データ・ハンドラーのインスタンスを作成します。

    応答ストリームのデータ形式は、当初の要求ビジネス・オブジェクト内のデータ形式と異なる場合があります。

  3. プロトコル・ハンドラーは応答ストリームをストリングに変換し、このストリングを XML データ・ハンドラーに渡します。
  4. XML データ・ハンドラーは、メッセージの内容に基づいてビジネス・オブジェクト名を取得し、応答ストリーム (XML 文書) からデータを抽出し、このデータからビジネス・オブジェクトを作成します。
  5. XML データ・ハンドラーは完成した応答ビジネス・オブジェクトをプロトコル・ハンドラーに渡します。
  6. プロトコル・ハンドラーは、応答ビジネス・オブジェクトをコネクター・エージェントに渡し、コネクターは、受け取ったビジネス・オブジェクトを当初のトップレベルのビジネス・オブジェクトに追加します。
  7. コネクターは、応答ビジネス・オブジェクトが格納された当初のトップレベルのビジネス・オブジェクトを、InterChange Server Express に戻します。

イベント通知

イベント通知では、コネクターは、ビジネス・オブジェクトを使用して、URL からイベントを取り込みます。コネクターは、応答 XML 文書として戻った要求 XML 文書を送ることにより、URL のポーリングを実行します。応答には、コネクターからイベントとして InterChange Server Express に渡された子ビジネス・オブジェクトが格納されています。各子ビジネス・オブジェクトは、1 つのイベントとして処理されます。非同期プロトコル・ハンドラーはイベント通知をサポートしていません。

注:
イベント処理のためのポーリングは、ビジネス・オブジェクト要求処理と同じですが、応答ビジネス・オブジェクトからイベント・オブジェクトを抽出し、InterChange Server Express に送るステップが追加されている点のみが異なっています。

イベント通知用のビジネス・オブジェクトは、XML ビジネス・オブジェクトの要求および応答ビジネス・オブジェクトと同じビジネス・オブジェクト処理操作に従います。アンサブスクライブされたイベントはすべてファイルにアーカイブされます。このアーカイブの形式は、WebSphere Business Integration Server Express Adapters の標準ビジネス・オブジェクト・ダンプ形式です。

イベント通知を有効にするには、イベント通知ビジネス・オブジェクトを定義し、これらのビジネス・オブジェクトの処理のために URL (Web サーブレットや cgi-bin スクリプトなど) を設定することが必要です。コネクターは、POST メソッドを使用して、XML イベント要求文書をストリームとして URL に送ります。URL は XML 文書を STDIN からのストリームとして読み取り、1 つ以上のイベント・オブジェクトを格納した XML 文書をストリームとして STDOUT に書き込みます。

図 5 に、イベント通知の基本プロセスを示します。

図 5. イベント通知プロセス


ビジネス・オブジェクトの定義の詳細については、コネクター用ビジネス・オブジェクトの開発を参照してください。

ロケール依存データの処理

コネクターは国際化され、2 バイト文字セットをサポートし、特定の言語でメッセージ・テキストを配信できるようになっています。コネクターは、1 つの文字コードを使用する場所から別のコード・セットを使用する場所にデータを転送するとき、データの意味を保存するように文字変換を実行します。Java 仮想マシン (JVM) 内での Java ランタイム環境は、Unicode 文字コード・セットでデータを表します。Unicode には、最も広く知られている文字コード・セット (単一バイトおよびマルチバイトの両方) の文字のエンコードが含まれています。WebSphere Business Integration システムのほとんどのコンポーネントは Java で記述されています。したがって、ほとんどの統合コンポーネントの間でデータが転送されても、文字変換の必要はありません。エラー・メッセージと通知メッセージを適切な言語で適切な国と地域に合わせて記録するには、該当する環境の Locale 標準構成プロパティーを設定します。構成プロパティーの詳細については、付録 A, 標準構成プロパティーを参照してください。

Copyright IBM Corp. 2004