CollaborationFoundation コラボレーション・テンプレートは、以下の機能を実行するユーザー定義のコラボレーションの作成を容易にするツールです。
コラボレーションは、アプリケーションから別のアプリケーションにデータを複製するときに同期をとります。同期では通常、結果を待機しないソース・アプリケーションのデータを処理します。
CollaborationFoundation には、同期をとる多くのコラボレーションで使用される動詞ロジック、データ・フィルター操作、およびエラー処理が含まれます。つまりこれが基本同期ロジックです。CollaborationFoundation には、5 つの空のサブダイアグラムがあり、これらの空のサブダイアグラムはそれぞれ Additional Processing という名前が付いています。これらを使用すると、基本同期ロジックを変更せずにコラボレーションのビジネス・プロセスを拡張できます。
このセクションでは、主に基本同期ロジックについて説明し、作成するコラボレーションの要件に合わせた CollaborationFoundation テンプレートの拡張についての推奨事項を提示します。
コラボレーションは、結果を待機するソース・アプリケーションからの Retrieve 要求によって起動されます。また、コラボレーションを起動するのは、同期イベントを送信してコラボレーションが宛先アプリケーションから完全なビジネス・オブジェクトを戻すのを待機する、ソース・アプリケーションの場合もあります。このようなイベントには、同期要求を送信するかサーバー・アクセス・インターフェースを使用することができるソース・アプリケーションが必要です。
この章では、Retrieve プロセスおよび Additional Retrieve プロセスのアクセス機能について説明します。
コラボレーションは、データのフィルター操作や検証を実行せずにアプリケーションから別のアプリケーションにデータを移動するときに、データ・パイピングを実行します。このようなコラボレーションを CollaborationFoundation から作成するには、From ポートをソース・アプリケーションにバインドし、次に DestinationAppRetrieve と To ポートを宛先アプリケーションにバインドします。
以下のセクションでは、CollaborationFoundation テンプレートの詳細を説明します。
CollaborationFoundation テンプレートから生成されるコラボレーション・オブジェクトは、宛先アプリケーションのビジネス・オブジェクト上で Create、Retrieve、Delete、または Update アクションを実行できます。これらのアクションは、コラボレーションのトリガー・ビジネス・オブジェクトに対応します。
CollaborationFoundation は、トリガー・ビジネス・オブジェクトで Retrieve 動詞を使用可能にするように設計されています。コラボレーションが同期要求を行うソース・コネクターにバインドされている場合、コラボレーションが処理を完了するとすぐに、ビジネス・オブジェクトの値がソース・コネクターに戻されます。値は、ビジネス・オブジェクトの値が参照によって受け渡された場合と同じように戻されます。
このテンプレートには、表 8 に示す標準プロパティーがあります。これらのプロパティーは、ビジネス・フローの振る舞いに影響します。
表 8. ビジネス・フロー用 CollaborationFoundation 標準プロパティー
図 9 は、USE_RETRIEVE プロパティーが false と評価された場合のコラボレーションのメイン・ビジネス・フローを示しています。
図 9. CollaborationFoundation のメイン・ビジネス・プロセス・フロー
コラボレーション・オブジェクトでは、トリガー・ビジネス・オブジェクトの特定の属性内のデータをフィルター操作するよう構成できます。フィルター操作の結果を使用して、コラボレーションが特定のデータを持つトリガー・ビジネス・オブジェクトと同期する必要があるか判断することができます。テンプレートには、データのフィルター操作用に以下の 4 つのプロパティーがあります。
複数のフィルター操作属性を指定できる追加プロパティーの追加方法については、付録 A, 標準的なコラボレーションに関する情報の 1_FILTER_ATTRIBUTE プロパティーの説明を参照してください。また、図 83 にコラボレーションのフィルター操作の振る舞いを示します。
2 番目の属性でフィルター操作をするために、CollaborationFoundation テンプレートには以下のプロパティー・セットがあります。
複数の属性でフィルター操作をするには、各プロパティーにフィルター・プロパティーのセットを指定します。プロパティーの各セットには、固有の数値を指定します。つまり、3 番目の属性のフィルター・プロパティーでは、プレフィックスとして 3_ を使用します。プレフィックスは属性のセットごとに異なる必要がありますが、プロパティー名自体は上記の名前と同一にする必要があります。
CollaborationFoundation には、エラー処理用の標準プロパティーがあります。表 9 に、このプロパティーの説明を示します。
エラー処理プロパティー | 説明 |
---|---|
INFORMATIONAL_EXCEPTION | コラボレーション・オブジェクトが正常に終了して例外をトレースに送信するか、正常に終了しないで記録する例外を生成するかを指定します。 |
SEND_EMAIL | INFORMATIONAL_EXCEPTION の値に関係なく、例外が発生した場合にコラボレーション・オブジェクトが特定のアドレスに E メールを送信するか指定します。 |
エラー処理の E メール・プロセスは、コラボレーションのエラー処理時の E メール・プロセスを示しています。
いずれのエラー処理プロパティーの場合も、すべての例外、またはコンマで区切られたメッセージ番号の小さいセットに対して、振る舞いを指定できます。メッセージ番号は、コラボレーション・メッセージ・ファイル (collaborations¥messages¥CollaborationFoundation.txt) 内のメッセージ番号に対応します。
CollaborationFoundation テンプレートを使用するには、以下の操作を実行します。
WebSphere Business Integration Server Express には、一連の構成プロパティーがあります。このプロパティーにより、特定の属性の特定の値に基づいて同期対象にビジネス・オブジェクトを組み込んだり、同期対象から除外したりすることができます。複数の属性値に基づいて同期をフィルター操作する場合、評価する属性ごとに構成プロパティーの追加セットを作成する必要があります。詳細については、コラボレーション・テンプレートの標準プロパティーを参照してください。
図 10 に、CollaborationFoundation のポートを示します。図に続く表には、各ポートの詳細を示します。
図 10. CollaborationFoundation コラボレーションのポート
表 10 に、CollaborationFoundation の DestinationAppRetrieve ポートの機能をリストします。
表 10. ポート機能 (DestinationAppRetrieve ポート)
ポート機能 | 値 |
---|---|
ビジネス・オブジェクト | 参照値を持つ BusObj。デフォルト値は Controller です。 |
使用する動詞 | Retrieve |
差し戻し動詞 | なし |
目的 | 宛先から完全な値を持つビジネス・オブジェクトを検索し、それを使用して動詞を設定します。 |
バインド先 | 宛先アプリケーションのコネクター |
構成プロパティー | USE_RETRIEVE |
表 11 は、CollaborationFoundation の To ポートの機能をリストしています。
ポート機能 | 値 |
---|---|
ビジネス・オブジェクト | 完全な値を持つ BusObj。デフォルト値は Controller です。 |
使用する動詞 | Create、Update、または Delete |
差し戻し動詞 | なし |
目的 | コラボレーションの外部にビジネス・オブジェクトを送信します。コラボレーションは、このポートを使用して宛先にトリガー・ビジネス・オブジェクトのコピーを送信することがあります。 |
バインド先 | 宛先アプリケーションのコネクターまたは別のコラボレーション (追加処理用) |
構成プロパティー | なし |
表 12 に、CollaborationFoundation の From ポートの機能をリストします。
ポート機能 | 値 |
---|---|
ビジネス・オブジェクト | triggeringBusObj (デフォルト値は Controller) |
使用する動詞 | Create、Retrieve、Update、または Delete |
差し戻し動詞 | なし |
目的 | トリガー・ビジネス・オブジェクトを受け取ります。 |
バインド先 | ソース・アプリケーションまたは呼び出し側コラボレーション |
構成プロパティー | なし |