BillingInquiry コラボレーションを使用することで、企業が使用している複数のアプリケーション間で請求情報を共有できます。それらのアプリケーションに Web アクセス機能がある場合は、BillingInquiry コラボレーションを InterChange Server Express のサーバー・アクセス機能と併用して、Web 検索を実行できます。
BillingInquiry コラボレーションは、RetrieveByContent 動詞を処理するシナリオを提供することで、標準のコラボレーション機能を拡張します。
BillingInquiry は、汎用 BillingStatement ビジネス・オブジェクトを使用して請求データを転送します。
この節では、ポート・バインディングについて説明し、BillingInquiry に基づくコラボレーション・オブジェクトをセットアップするために必要なステップを説明します。コラボレーション・テンプレートの標準機構、ポート、および構成プロパティーの詳細については、「コラボレーション開発ガイド」を参照してください。コラボレーション・オブジェクトの作成に関する一般情報については、「システム・インプリメンテーション・ガイド」を参照してください。
図 1 に、System Manager で表示される BillingInquiry のポートを示します。
図 1. BillingInquiry コラボレーションのポート
注: コラボレーション・オブジェクトでポートを使用しないようにするには、そのポートをポート・コネクターにバインドしてください。ポートをバインドすることは、コラボレーション・オブジェクトによって追加機能を提供しないで、ポートを未使用にすることを意味します。
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
BillingStatement | 宛先アプリケーションのコネクター | 参照値のビジネス・オブジェクトを送信して、完全な値のビジネス・オブジェクトを検索します。 | Retrieve RetrieveByContent |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
BillingStatement | ソース・アプリケーションのコネクター、または呼び出し側コラボレーション | トリガー・ビジネス・オブジェクトを受け取ります。コラボレーションが正常に終了した場合、このポートは、同期呼び出しの最後に、トリガー・ビジネス・オブジェクトをソース・アプリケーションに戻します。 | Create Retrieve RetrieveByContent Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
BillingStatement | 宛先アプリケーションのコネクター | トリガー・ビジネス・オブジェクトをコラボレーションから送信します。 |
Create Update Delete |
BillingInquiry は、スタンドアロンのコラボレーションとして使用するよう設計されています。BillingInquiry をスタンドアロンのコラボレーション・オブジェクトとしてセットアップするには、次の手順を実行します。
この節では、このコラボレーション・テンプレートのプロセス・ロジックについて説明します。
図 2 に、BillingInquiry のプロセス・ロジックを示します。
図 2. BillingInquiry コラボレーションのプロセス・ロジック
このコラボレーション・テンプレートでは、以下の標準コラボレーション・ビジネス・プロセスが使用されます。
これらのプロセスの詳細については、「コラボレーション開発ガイド」を参照してください。
BillingInquiry コラボレーションは、トリガー・ビジネス・オブジェクトを動詞 RetrieveByContent とともに受信できます。ソース・アプリケーションのビジネス・オブジェクトにキー値が含まれない場合、オブジェクトはこの動詞を使用していると想定されます。ビジネス・オブジェクトのマップおよび宛先アプリケーションのコネクターは、特定の重要な属性の値を使用して、宛先アプリケーションからビジネス・オブジェクトを戻します。
ビジネス・プロセスで、例えば選択基準などの非キー値を指定することによってデータの検索を行う必要がある場合は、このプロセスを内蔵するコネクターが RetrieveByContent 動詞をサポートしなければならないことを意味します。つまりコネクターは、アプリケーションからデータを検索するときに、RetrieveByContent 動詞とともに動作するビジネス・オブジェクトの非キー属性値に基づく必要があると認識するよう設計する必要があります。
ただし、非キー値検索により固有のオブジェクトが検索されずに複数のオブジェクト (行) が検索される場合、その対処に問題が生じます。
IBM WebSphere Business Integration Server Express Plus のコネクター機能では、キー・メソッドによる検索を使用して固有のオブジェクトを戻します。非キー値検索を可能にするため、コネクターの設計の一環として以下のことを考慮します。
複数のオブジェクトを検索するには、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 システムのトランザクション処理についての説明は、「システム・インプリメンテーション・ガイド」を参照してください。コラボレーション・テンプレートへのトランザクション処理の追加については、「コラボレーション開発ガイド」を参照してください。
トランザクション処理を実行できるようにコラボレーション・オブジェクトを拡張するには、以下の手順を完了します。
注: BillingInquiry には、独自の構成プロパティーがありません。そのプロパティーはすべて標準のものです。
このコラボレーション・テンプレートでは、以下のコラボレーション・テンプレートの標準構成プロパティーを使用します。
これらの構成プロパティーの詳細については、「コラボレーション開発ガイド」を参照してください。
このコラボレーション・テンプレートのメッセージの説明を表示するには、Log Viewer を起動し、コラボレーション・テンプレートのメッセージ・ファイルを開いてください。Log Viewer を起動してコラボレーション・テンプレートのメッセージ・ファイルを開くには、以下の手順に従います。