BillingInquiry コラボレーション・テンプレート

BillingInquiry コラボレーションを使用することで、企業が使用している複数のアプリケーション間で請求情報を共有できます。それらのアプリケーションに Web アクセス機能がある場合は、BillingInquiry コラボレーションを InterChange Server Express のサーバー・アクセス機能と併用して、Web 検索を実行できます。

BillingInquiry コラボレーションは、RetrieveByContent 動詞を処理するシナリオを提供することで、標準のコラボレーション機能を拡張します。

BillingInquiry は、汎用 BillingStatement ビジネス・オブジェクトを使用して請求データを転送します。

コラボレーション・オブジェクトのセットアップ

この節では、ポート・バインディングについて説明し、BillingInquiry に基づくコラボレーション・オブジェクトをセットアップするために必要なステップを説明します。コラボレーション・テンプレートの標準機構、ポート、および構成プロパティーの詳細については、「コラボレーション開発ガイド」を参照してください。コラボレーション・オブジェクトの作成に関する一般情報については、「システム・インプリメンテーション・ガイド」を参照してください。

ポート情報

図 1 に、System Manager で表示される BillingInquiry のポートを示します。

図 1. BillingInquiry コラボレーションのポート

注: コラボレーション・オブジェクトでポートを使用しないようにするには、そのポートをポート・コネクターにバインドしてください。ポートをバインドすることは、コラボレーション・オブジェクトによって追加機能を提供しないで、ポートを未使用にすることを意味します。

ポート名: DestinationAppRetrieve
ビジネス・オブジェクト バインド先 機能 使用される動詞
BillingStatement 宛先アプリケーションのコネクター 参照値のビジネス・オブジェクトを送信して、完全な値のビジネス・オブジェクトを検索します。 Retrieve RetrieveByContent

ポート名: From
ビジネス・オブジェクト バインド先 機能 使用される動詞
BillingStatement ソース・アプリケーションのコネクター、または呼び出し側コラボレーション トリガー・ビジネス・オブジェクトを受け取ります。コラボレーションが正常に終了した場合、このポートは、同期呼び出しの最後に、トリガー・ビジネス・オブジェクトをソース・アプリケーションに戻します。 Create Retrieve RetrieveByContent Update Delete

ポート名: To
ビジネス・オブジェクト バインド先 機能 使用される動詞
BillingStatement 宛先アプリケーションのコネクター トリガー・ビジネス・オブジェクトをコラボレーションから送信します。

Create Update Delete

セットアップに関する提案

BillingInquiry は、スタンドアロンのコラボレーションとして使用するよう設計されています。BillingInquiry をスタンドアロンのコラボレーション・オブジェクトとしてセットアップするには、次の手順を実行します。

  1. BillingInquiry コラボレーション・オブジェクトを作成します。
  2. ポート情報』の説明に従って、コラボレーション・オブジェクトの各ポートをバインドします。
  3. BillingInquiry の構成プロパティーを設定します。

コラボレーション・テンプレートのプロセス

この節では、このコラボレーション・テンプレートのプロセス・ロジックについて説明します。

プロセス・ロジックの概要

図 2 に、BillingInquiry のプロセス・ロジックを示します。

図 2. BillingInquiry コラボレーションのプロセス・ロジック

継承されたプロセス・ロジック

このコラボレーション・テンプレートでは、以下の標準コラボレーション・ビジネス・プロセスが使用されます。

これらのプロセスの詳細については、「コラボレーション開発ガイド」を参照してください。

RetrieveByContent

BillingInquiry コラボレーションは、トリガー・ビジネス・オブジェクトを動詞 RetrieveByContent とともに受信できます。ソース・アプリケーションのビジネス・オブジェクトにキー値が含まれない場合、オブジェクトはこの動詞を使用していると想定されます。ビジネス・オブジェクトのマップおよび宛先アプリケーションのコネクターは、特定の重要な属性の値を使用して、宛先アプリケーションからビジネス・オブジェクトを戻します。

RetrieveByContent の設計上の考慮事項

ビジネス・プロセスで、例えば選択基準などの非キー値を指定することによってデータの検索を行う必要がある場合は、このプロセスを内蔵するコネクターが RetrieveByContent 動詞をサポートしなければならないことを意味します。つまりコネクターは、アプリケーションからデータを検索するときに、RetrieveByContent 動詞とともに動作するビジネス・オブジェクトの非キー属性値に基づく必要があると認識するよう設計する必要があります。

ただし、非キー値検索により固有のオブジェクトが検索されずに複数のオブジェクト (行) が検索される場合、その対処に問題が生じます。

IBM WebSphere Business Integration Server Express Plus のコネクター機能では、キー・メソッドによる検索を使用して固有のオブジェクトを戻します。非キー値検索を可能にするため、コネクターの設計の一環として以下のことを考慮します。

  1. コネクターは該当のオブジェクト用に RetrieveByContent 動詞をサポートする必要があります。
  2. さらに、宛先アプリケーション・コネクターは、非キー値検索の結果として複数のヒットがあっても、RetrieveByContent 要求に 1 つのオブジェクトのみを戻すよう設計します (現在、Clarify コネクターがこの動作を行います)。

複数のオブジェクトを検索するには、BillingStatement ビジネス・オブジェクトおよびコラボレーションへの設計変更が必要です。以下の手順を実行する必要があります。

例えば、新規ビジネス・オブジェクト (例: BillingStatementWrapper) をリポジトリに作成する必要があります。BillingStatementWrapper には、カーディナリティー「n」を持つ子コンテナとして BillingStatement ビジネス・オブジェクトが含まれており、また検索に必要な属性もヘッダー・レベルに含まれています。

ソース・アプリケーションのコネクターが BillingStatement ビジネス・オブジェクトを SubscriptionDelivery のコラボレーションに送信するとき、このコラボレーションは、まず、新規 BillingStatementWrapper オブジェクトをインスタンス化する必要があります。次に、コラボレーションはトリガー・ビジネス・オブジェクト (BillingStatement) の必要な属性を BillingStatementWrapper のヘッダー・レベルにマッピングする必要があります。このオブジェクトは、検索のために宛先アプリケーションに送信されます。宛先アプリケーションのコネクターが複数の請求書を検索した場合、これらのビジネス・オブジェクトは BillingStatementWrapper ビジネス・オブジェクトの子コンテナに格納され、コラボレーションに戻されます。コラボレーションは BillingStatementWrapper ビジネス・オブジェクトを「アンパック」し、子コンテナの各インスタンスを取り出します。コラボレーションは各 BillingStatement を別の Wrapper コラボレーションを介してソース・アプリケーションへ送信します。BillingStatement オブジェクトの全インスタンスがソース・アプリケーションへ送信されると、コラボレーション・オブジェクト・グループ全体が終了します。

図 3 に、BillingInquiry の RetrieveByContent プロセスを示します。

図 3. BillingInquiry コラボレーションの RetrieveByContent プロセス

差し戻し処理

InterChange Server Express Plus は、トランザクション・コラボレーションのいずれかのステップで失敗が発生した場合、トランザクションをロールバックします。例えば、BillingInquiry がトランザクションのコラボレーションに参加するコラボレーション・オブジェクト・グループのメンバーである場合、BillingInquiry のアクションは、より大きなトランザクションの 1 つのサブトランザクション・ステップとなります。コラボレーション・オブジェクト・グループのビジネス・プロセスでいずれかのステップが失敗すると、トランザクション・コラボレーションは InterChange Server Express Plus がグループ内のコラボレーションの処理をどのようにロールバックすればよいか明示します。

BillingInquiry コラボレーション・オブジェクトをほかのコラボレーション・オブジェクトと無関係に使用する場合、または From ポートを別のコラボレーションではなくソース・アプリケーションにバインドする場合、そのプロセスを構成するトランザクション・ステップは 1 つのみになります。このような場合には、ロールバックを実行する必要はありません。

1 つのコラボレーション・オブジェクトまたはコラボレーション・オブジェクト・グループにロールバックを実行させるには、コラボレーション・テンプレートに変更を加える必要があります。IBM WebSphere Business Integration Server Express Plus システムのトランザクション処理についての説明は、「システム・インプリメンテーション・ガイド」を参照してください。コラボレーション・テンプレートへのトランザクション処理の追加については、「コラボレーション開発ガイド」を参照してください。

トランザクション処理を実行できるようにコラボレーション・オブジェクトを拡張するには、以下の手順を完了します。

  1. この機能を、そのコラボレーション・テンプレートと、コラボレーション・オブジェクト・グループ内の他のすべてのコラボレーション・テンプレートに追加します。
  2. コラボレーション・オブジェクト、およびコラボレーション・オブジェクト・グループのすべてのメンバーの最小トランザクション・レベルを、None より大きい値に設定します。「最小限の努力」以上に設定した場合、いずれかのサブトランザクション・ステップで失敗が発生すると、このコラボレーション・オブジェクトおよびグループ内のほかのコラボレーション・オブジェクトは、すべてのビジネス・オブジェクトに対して実行された Create、Update、および Delete 操作に対して差し戻しを実行します。
  3. コラボレーション・オブジェクト、およびコラボレーション・オブジェクト・グループの他のすべてのメンバーの USE_RETRIEVE プロパティーを「true」に設定します。コラボレーション・オブジェクトに対して、値を変更する前に検索するように強制すると、コラボレーション・オブジェクトは Update または Delete プロセスの際に元の値を復元できるようになります。

構成プロパティー

注: BillingInquiry には、独自の構成プロパティーがありません。そのプロパティーはすべて標準のものです。

標準プロパティー

このコラボレーション・テンプレートでは、以下のコラボレーション・テンプレートの標準構成プロパティーを使用します。

これらの構成プロパティーの詳細については、「コラボレーション開発ガイド」を参照してください。

コラボレーション・メッセージ

このコラボレーション・テンプレートのメッセージの説明を表示するには、Log Viewer を起動し、コラボレーション・テンプレートのメッセージ・ファイルを開いてください。Log Viewer を起動してコラボレーション・テンプレートのメッセージ・ファイルを開くには、以下の手順に従います。

  1. 「スタート」メニューで、「プログラム」>「IBM WebSphere InterChange Server Express」>「Toolset Express」>「管理」>「Log Viewer」の順にクリックします。
  2. 「ファイル」メニューで、「開く」をクリックします。
  3. 「Look In」フィールドを使用して、現在のフォルダーを ProductDir\collaborations\messages に変更し、このコラボレーション・テンプレートのメッセージ・ファイルを選択します。

Copyright IBM Corp. 2004

Copyright IBM Corp. 2004