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

SalesOrderProcessing は、あらゆるビジネスの中心です。 通常、はじめに、顧客は、企業が製造または販売する特定の製品を要求します。 顧客サービス担当者 (CSR) は、要求を見積りまたは注文としてフロント・オフィス・アプリケーションに記録します。 次に、顧客サービス担当者はバック・オフィス・システムに情報を渡し、そこで注文の履行が処理されます。

注文を作成作成してから次に引き渡されるまでには、いくつかのサブプロセスが発生する場合があります。 例えば、製品を顧客の固有の要件に合うように設定したり、顧客の優良さを検証するために信用調査を行ったり、注文された製品の在庫があるかチェックするために利用可能在庫検査を行ったりする場合があります。

顧客サービス担当者は、注文をバック・オフィス注文管理システムに渡す前に、さまざまなタスクを実行する権限が付与されている場合があります。 あるいは、見積りや注文情報の入手の目的に限りフロント・オフィス・システムに依存するバック・オフィス・システムが、中間ステップを実行する場合があります。

SalesOrderProcessing コラボレーションは、汎用コラボレーションであるために完全な Order 処理のビジネス・プロセスを抽出します。 したがって、SalesOrderProcessing コラボレーションは複数のアプリケーションとともに動作する複数の実装で使用できます。 SalesOrderProcessing は、Order 情報が複数のシステムに配布され、これらのシステム間でデータの整合性を維持することが重要な場合にも役立ちます。

例えば、SalesOrderProcessing は以下のビジネス・シナリオを処理します。

SalesOrderProcessing は、汎用 Order ビジネス・オブジェクトを使用して Order データを同期します。

関連するビジネス・オブジェクトの同期

SalesOrderProcessing は Order のみを同期しますが、適切なコラボレーションを呼び出して以下の関連するビジネス・オブジェクトを検証または同期するように構成することができます。

ビジネス・オブジェクト 関連するコラボレーション・プロパティー 呼び出し先コラボレーション
Contact FAIL_ON_CONTACT_ERROR VERIFY_SYNC_CONTACT ContactSync

ContactWrapper

Customer VERIFY_SYNC_CUSTOMERS CustomerSync

CustomerWrapper

Item

ItemBasic

ItemOrder

ItemPlanning

FIND_ALL_ITEM_ERRORS

ITEM_TYPE

VERIFY_SYNC_ITEM

ItemSync

ItemWrapper

問題と前提事項

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

この節では、ポート・バインディングについて説明し、SalesOrderProcessing に基づくコラボレーション・オブジェクトをセットアップするために必要なステップを説明します。コラボレーション・テンプレートの標準の機能、ポート、および構成プロパティーについて、およびコラボレーション・オブジェクト作成に関する一般情報については、『Required Documents for Creating Collaboration Objects』にリストされている文書を参照してください。

ポート情報

図 1 に、System Manager に表示される SalesOrderProcessing のポートを示します。 各ポートについての情報は、図 1 の後にある表に示します。

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

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

ポート名: DestinationAppRetrieve
ビジネス・オブジェクト バインド先 機能 使用される動詞
Order 宛先アプリケーションのコネクター 参照値のビジネス・オブジェクトを送信して、完全な値のビジネス・オブジェクトを検索します。この結果により、Order を同期するときに使用される動詞が決定します。

Retrieve


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

Create Retrieve Update Delete


ポート名: To
ビジネス・オブジェクト バインド先 機能 使用される動詞
Order 宛先アプリケーションのコネクター

トリガー・ビジネス・オブジェクトをコラボレーションから送信します。

Create Update Delete


ポート名: ToItemWrapper
ビジネス・オブジェクト バインド先 機能 使用される動詞
任意の汎用 item ビジネス・オブジェクト (Item、ItemBasic、ItemOrder、ItemPlanningなど)
  • ItemWrapper の From ポート (検証または同期の場合)
  • 宛先アプリケーションのコネクターまたはポート・コネクター (Item の検証または同期以外の場合)
検証または同期のために Item ビジネス・オブジェクトを送信します。

Sync Exists


ポート名: ToContactWrapper
ビジネス・オブジェクト バインド先 機能 使用される動詞
Contact
  • ContactWrapper の From ポート (検証または同期の場合)
  • 宛先アプリケーションのコネクターまたはポート・コネクター (Contact の検証または同期以外の場合)
検証または同期のために Contact ビジネス・オブジェクトを送信します。

Sync Exists


ポート名: ToCustomerWrapper
ビジネス・オブジェクト バインド先 機能 使用される動詞
Customer
  • CustomerWrapper の From ポート (検証または同期の場合)
  • 宛先アプリケーションのコネクターまたはポート・コネクター (Customer の検証または同期以外の場合)
検証または同期のために Customer ビジネス・オブジェクトを送信します。

Sync Exists

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

SalesOrderProcessing のスタンドアローンとしての使用

SalesOrderProcessing をスタンドアローンのコラボレーションとしてセットアップする手順は、以下のとおりです。

  1. SalesOrderProcessing コラボレーション・オブジェクトを作成します。
  2. コラボレーション・オブジェクトの各 ToBusObjWrapper ポートをポート・コネクターにバインドします。
  3. ポート情報』の説明に従って、残りのポートをバインドします。
  4. SalesOrderProcessing コラボレーション・オブジェクトの VERIFY_SYNC_BusObj 構成プロパティーのデフォルト値「neither」は変更しません。
  5. コラボレーションの残りのプロパティーを設定します。詳しくは、『構成プロパティー』を参照してください。  

SalesOrderProcessing のコラボレーション・オブジェクト・グループでの使用

SalesOrderProcessing プロセスの一環として、関連する Customer、Header Contact、Line Item Contact、または Item を検証または同期するには、以下のいずれかのコラボレーション・オブジェクト・グループの任意の組み合わせを作成します。


検証 同期 必要なコラボレーション
Contact   SalesOrderProcessing、ContactWrapper
  Contact SalesOrderProcessing、ContactWrapper、ContactSync
Customer   SalesOrderProcessing、CustomerWrapper
  Customer SalesOrderProcessing、CustomerWrapper、CustomerSync
Item   SalesOrderProcessing、ItemWrapper
  参照先 Item SalesOrderProcessing、ItemWrapper
  参照先および前提条件の Item SalesOrderProcessing、ItemWrapper、ItemSync

SalesOrderProcessing のコラボレーション・オブジェクト・グループでの使用

コラボレーション・オブジェクト・グループの一部として SalesOrderProcessing をセットアップする手順は、以下のとおりです。以下の手順では、Orders とその参照 Item のみを同期するものとします。

  1. SalesOrderProcessing および必要なラッパーや同期コラボレーションのテンプレートからコラボレーション・オブジェクトを作成します。 この例では、SalesOrderProcessing、ItemWrapper、および ItemSync のコラボレーション・オブジェクトを作成します。
  2. SalesOrderProcessing コラボレーション・オブジェクトを編集して、ToBusObjWrapper ポートを適切な Wrapper コラボレーション・オブジェクトまたはポート・コネクターにバインドします。 この例では、ToItemWrapper ポートを ItemWrapper コラボレーションの From ポートにバインドします。該当する宛先の『ポート情報』節を参照してください。
  3. SalesOrderProcessing コラボレーション・オブジェクトの残りのポートをこの文書の『ポート情報』節の説明にしたがってバインドします。
  4. SalesOrderProcessing コラボレーション・オブジェクトの VERIFY_SYNC_BusObj プロパティーを設定します。 この例では、以下のプロパティーに次の推奨値を設定または保持します。
  5. SalesOrderProcessing コラボレーション・オブジェクトの ITEM_TYPE を希望する Item タイプに設定し、FIND_ALL_ITEM_ERRORS プロパティーを希望する値に設定します。
  6. ItemWrapper コラボレーション・オブジェクトを構成して、To ポートを ItemSync の From ポートにバインドします。
  7. ItemWrapper コラボレーション・オブジェクトの残りのポートをバインドします。詳しくは、Wrapper コラボレーションの参照ページの『ポート情報』を参照してください。注: ItemWrapper コラボレーション・オブジェクトの From ポートは、System Manager によってすでに SalesOrderProcessing の To ポートへバインドされていることがあります。
  8. ItemSync コラボレーション・オブジェクトを編集して、そのポートをバインドします。詳しくは、ItemSync コラボレーションの参照ページの『ポート情報』を参照してください。
  9. 各コラボレーションの構成プロパティーを設定します。詳しくは、以下を参照してください。

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

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

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

プロセス・ロジックには、以下のサブプロセスが含まれます。

詳しくは、図 4 を参照してください。図 2 に、SalesOrderProcessing のプロセス・ロジックを示します。

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

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

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

これらのビジネス・プロセスについては、『Required Documents for Creating Collaboration Objects』を参照してください。

Customer と Contact の検証または同期

図 3 に、SalesOrderProcessing が Customer、Header Contact、および Line Item Contact を検証または同期するプロセスを示します。 SalesOrderProcessing は次の順番で Wrapper コラボレーションを呼び出します。Customer、Contact (Header Contact)、Item、Contact (Line Item Contact)。

図 3. Customer、Header Contact、および Line Item Contact の検証または同期

Item の検証または同期

図 4 に、SalesOrderProcessing が関連する Item を検証または同期するプロセスを示します。

図 4. Item の検証または同期

注: コラボレーションが ItemBasic、ItemOrder、および ItemPlanning を正常に処理するには、インストールのリポジトリーに Utility ビジネス・オブジェクトが含まれている必要があります。このビジネス・オブジェクトはコラボレーション・コード内で参照され、これによって一時的イテレーター変数がインスタンス化されます。このオブジェクトがリポジトリーに存在しない場合、コラボレーションは失敗します。

差し戻し処理

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

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

1 つのコラボレーション・オブジェクト、またはコラボレーション・オブジェクト・グループにロールバックを実行させるには、コラボレーション・テンプレートを変更する必要があります。WebSphere Business Integration システムにおけるトランザクション処理を理解するためには、「テクニカル入門 (IBM WebSphere InterChange Server)」を参照してください。コラボレーション・テンプレートへのトランザクション処理の追加については、『Required Documents for Creating Collaboration Objects』を参照してください。

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

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

構成プロパティー

この節では、このコラボレーション・テンプレートの標準プロパティーおよび固有のプロパティーについて説明します。

標準プロパティー

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

これらの構成プロパティーについては、『Required Documents for Creating Collaboration Objects』を参照してください。

このコラボレーション・テンプレート固有のプロパティー

このコラボレーション・テンプレートには、標準構成プロパティーに加えて、以下に示す構成プロパティーがあります。

SalesOrderProcessing コラボレーション・テンプレートに固有の構成プロパティー

プロパティー名とその説明 可能な値 デフォルト値

FAIL_ON_CONTACT_ERROR

「true」に設定すると、VERIFY_SYNC_CONTACT が「sync」または「verify」と評価され、ContactWrapper が参照先 Contact の検証または同期に失敗する場合に、SalesOrderProcessing が処理を停止します。

「false」に設定すると、VERIFY_SYNC_CONTACT が「sync」または「verify」と評価され、ContactWrapper が参照先 Contact の検証または同期に失敗する場合に、SalesOrderProcessing が処理を続行します。 この場合、SalesOrderProcessing は、ContactRef 子ビジネス・オブジェクトの Order 配列から失敗した Contact を除去します。

true、false true

FIND_ALL_ITEM_ERRORS

「true」に設定すると、VERIFY_SYNC_ITEM が「verify」と評価され、USE_RETRIEVE が「true」と評価され、ItemWrapper が参照先 Item の検証に失敗する場合に、SalesOrderProcessing がすべての Item の検証を続行します。すべての Item の検証が終わると、SalesOrderProcessing はエラー処理の例外プロセスまたは E メール・プロセスに入ります。

「false」に設定すると、VERIFY_SYNC_ITEM が「verify」と評価され、USE_RETRIEVE が「true」と評価され、ItemWrapper が参照先 Item の検証に失敗する場合に、SalesOrderProcessing が処理を停止します。

true、false false

ITEM_TYPE

コラボレーションが Order ビジネス・オブジェクトを同期する前に同期または検証する必要がある、汎用 Item のタイプを設定します。 その VERIFY_SYNC_ITEM プロパティーが「sync」または「verify」と評価される場合、SalesOrderProcessing はこのプロパティーの値を使用して、同期または検証する品目のタイプを判別します。

Item、ItemBasic、ItemOrder、または ItemPlanning Item

VERIFY_SYNC_CONTACT

「sync」に設定すると、SalesOrderProcessing が宛先アプリケーション内の関連する Contact を同期します。SalesOrderProcessing は Order の各 ContactRef 子ビジネス・オブジェクトから ContactId をコピーし、各参照先 Contact ごとに汎用 Contact ビジネス・オブジェクトを作成します。 SalesOrderProcessing は、各 Contact ビジネス・オブジェクトを Sync 動詞とともに ContactWrapper に送信します。 次に、ContactWrapper はすべての属性の値をソース・アプリケーションから検索し、ビジネス・オブジェクトを Create 動詞とともに ContactSync に送信します。ContactSync が、関連の Contact の作成に失敗した場合、SalesOrderProcessing の動作は、FAIL_ON_CONTACT_ERROR プロパティーの値によって異なります。

「verify」に設定すると、SalesOrderProcessing が宛先アプリケーション内の関連する Contact を検証します。 SalesOrderProcessing は Order の各 ContactRef 子ビジネス・オブジェクトから ContactId をコピーし、各参照先 Contact ごとに汎用 Contact ビジネス・オブジェクトを作成します。 SalesOrderProcessing は、各 Contact ビジネス・オブジェクトを Exists 動詞とともに ContactWrapper に送信します。次に、ContactWrapper は宛先アプリケーションからビジネス・オブジェクトを検索します。ContactWrapper が関連の Contact の検索に失敗した場合、SalesOrderProcessing の動作は、FAIL_ON_CONTACT_ERROR プロパティーの値によって異なります。

「neither」に設定すると、SalesOrderProcessing が関連する Contact を最初に同期または検証することなく、トリガーとなる Order ビジネス・オブジェクトを同期します。

neither、verify、sync neither

VERIFY_SYNC_CUSTOMERS

「sync」を設定すると、SalesOrderProcessing は、宛先アプリケーション内の関連する SoldTo Customer を同期します。SalesOrderProcessing は以下のプロセスを実行します。

  1. Order ビジネス・オブジェクトから CustomerId をコピーし、それを新規に作成した汎用 Customer ビジネス・オブジェクトの固有の ID として使用します。
  2. ビジネス・オブジェクトを Sync 動詞とともに CustomerWrapper に送信します。次に、Wrapper コラボレーションはすべての属性に対する値をソース・アプリケーションから検索し、ビジネス・オブジェクトを動詞 Create とともに CustomerSync に送信します。
  3. 同期コラボレーションが Customer の作成に失敗した場合、SalesOrderProcessing は INFORMATIONAL_EXCEPTIONS プロパティーで指定されたとおりにエラーを処理します。

「verify」に設定すると、SalesOrderProcessing が宛先アプリケーション内の関連する Customer を検証します。 SalesOrderProcessing は以下のプロセスを実行します。

  1. Order ビジネス・オブジェクトから CustomerId をコピーし、それを新規に作成した汎用 Customer ビジネス・オブジェクトの固有の ID として使用します。
  2. ビジネス・オブジェクトを Exists 動詞とともに CustomerWrapper に送信します。次に、Wrapper コラボレーションが宛先アプリケーションからビジネス・オブジェクトを検索します。
  3. Wrapper コラボレーションが Customer の検索に失敗した場合、SalesOrderProcessing は INFORMATIONAL_EXCEPTIONS プロパティーに指定されたとおりにエラーを処理します。

「neither」に指定すると、SalesOrderProcessing が Order ビジネス・オブジェクトを作成するときに、宛先アプリケーション内の関連する Customer を最初に同期または検証することはありません。

neither、verify、sync neither

VERIFY_SYNC_ITEM

「sync」に設定すると、SalesOrderProcessing が宛先アプリケーション内の関連する Item を同期します。SalesOrderProcessing は Order ビジネス・オブジェクトから ItemId をコピーし、ITEM_TYPE プロパティーに指定されたタイプの汎用ビジネス・オブジェクトを作成します。SalesOrderProcessing は、そのビジネス・オブジェクトを Sync 動詞とともに ItemWrapper に送信します。次に、ItemWrapper はすべての属性の値をソース・アプリケーションから検索し、ビジネス・オブジェクトを Create 動詞とともに ItemSync に送信します。ItemSync が関連する品目の作成に失敗した場合、SalesOrderProcessing は INFORMATIONAL_EXCEPTIONS プロパティーに指定されたとおりにエラーを処理します。

「verify」に設定すると、SalesOrderProcessing が宛先アプリケーション内の関連する品目を検証します。 SalesOrderProcessing は Order ビジネス・オブジェクトから ItemId をコピーし、ITEM_TYPE プロパティーに指定されたタイプの汎用ビジネス・オブジェクトを作成します。SalesOrderProcessing は、そのビジネス・オブジェクトを Exists 動詞とともに ItemWrapper に送信します。次に、ItemWrapper は宛先アプリケーションからビジネス・オブジェクトを検索します。ItemWrapper が関連する品目の検索に失敗した場合、SalesOrderProcessing は INFORMATIONAL_EXCEPTIONS プロパティーで指定されたとおりにエラーを処理します。

「neither」に指定すると、SalesOrderProcessing がトリガーとなる Order ビジネス・オブジェクトを同期するときに、宛先アプリケーション内の関連する品目を最初に同期したり、既存の関連する品目を検証したりすることはありません。

neither、verify、sync neither

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

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

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

アップグレード情報

アップグレード処理

このコラボレーション・テンプレートのより新しいバージョンにアップグレードするには、以下の手順を行います。

  1. 現在の SalesOrderProcessing コラボレーションを停止します。
  2. リポジトリーをバックアップします。詳しくは、「システム管理ガイド」を参照してください。
  3. コラボレーション・テンプレートをカスタマイズしている場合には、以下の手順を行います。
  4. 新規の SalesOrderProcessing コラボレーション・テンプレートをインストールします。
  5. 新しいコラボレーション・テンプレートにカスタマイズを追加します。
  6. 新しいコラボレーション・オブジェクトを作成し、適切なコネクターにバインドします。 詳しくは、『コラボレーション・オブジェクトのセットアップ』を参照してください。
  7. 新しいコラボレーション・オブジェクトを実行してテストします。
  8. テスト中に見つかった問題点に基づいて、コラボレーション・オブジェクトを変更します。

Copyright IBM Corp. 1997, 2003