要求処理

コネクターは、コラボレーションから要求を受け取ったり、アプリケーションの代わりに要求を作成したりすることができます。例えば、コラボレーションはコネクターに対して、契約の削除、部品の更新、顧客の作成という要求を、それぞれ Contract.Delete、Part.Update、Customer.Create というビジネス・オブジェクト形式で送信できます。

コネクター・コントローラーがコラボレーションの要求を受信すると、その要求をコネクター・エージェントに転送します。コネクター・エージェントはビジネス・オブジェクトをアプリケーション要求 (通常は API への呼び出しのセット) に変換し、結果を戻します。

図 33 に、コラボレーション要求の処理に関するコネクターの対話を示します。

図 33. 要求の処理のためのコネクターの対話


注:
イベント通知にパブリッシュ・アンド・サブスクライブ対話が使用されるのに対して、コラボレーションがビジネス・オブジェクトを特定のコネクターに送信するには、要求/応答対話を使用します。

コネクター・エージェントが要求を受信すると、次の 3 タイプの情報に基づいて要求の処理方法を決定します。

これらの要素は、以降のトピック内で説明します。

動詞ベースの処理

コネクター・エージェントは、ロジックおよびアプリケーションの API に基づいて、要求内の Create、Retrieve、Update、または Delete 動詞に反応します。2 つのコネクター・エージェントが同一タイプの要求を異なる方法で処理する場合がありますが、結果は論理的に同じになります。

一部のコネクターでは、要求に含まれる動詞に関係なく、ビジネス・オブジェクトでの操作の実行に 1 つの方法のみを要求します。しかし、多くのコネクターでは、各動詞にそれぞれ異なる方法が要求されます。

コネクター・エージェントが要求を受信すると、ビジネス・オブジェクトのアクティブな動詞に合うメソッドをアプリケーションから呼び出します。例えば、コネクター・エージェントが AppAEmployee.Update ビジネス・オブジェクトを受信すると、AppAEmployee オブジェクトの Update メソッドを呼び出します。Update メソッドは、更新を実行するためにアプリケーションと対話します。

図 34 には、いくつの動詞がメソッドを処理する 様子を示しています。

図 34. 要求の処理


図 34 のコネクターが Customer.Create、Item.Retrieve、または Contract.Delete 要求を受信すると、それぞれ DoCreate、DoRetrieve、または DoDelete メソッドを呼び出します。

動詞ベースのアプリケーション固有情報

ビジネス・オブジェクト定義において、アプリケーション固有情報は追加の入力データを、ビジネス・オブジェクトのインスタンスを処理するコネクター・エージェントに提供します。各動詞は、アプリケーション固有情報を持つことができます。アプリケーション固有情報の形式および内容は、完全にコネクター固有のものです。

例えば、あるビジネス・オブジェクト定義内の Retrieve 動詞のアプリケーション固有情報は、そのコネクター・エージェントの Retrieve メソッドに特別な入力引き数を提供します。

例として、MyApp アプリケーションに 3 つの情報形式があるとすると、InventoryItem に関する情報は次のように表示されます。

MyApp コネクター・エージェントが在庫品目に対して操作を行うときには、その操作に合った形式を参照する必要があります。InventoryItem ビジネス・オブジェクト定義内の各動詞に関連したアプリケーション固有情報フィールドには、形式名を保管できます。

動詞固有のメソッドおよびこれらのメソッドに対するアプリケーション固有の入力データの 組み合わせによって、コネクター・エージェントは固有の処理命令を取得します。

Copyright IBM Corp. 1997, 2004