InventoryLevelManager コラボレーション・テンプレートは、あるアプリケーションから別のアプリケーションへ、特定の Inventory Type の在庫レベル情報を同期します。コラボレーションは、在庫レベルの「スナップショット」を収集したり複数のシステムを定期的に同期したりするよう設計されています。
IBM では以下を推奨します。
InventoryLevelManager は、汎用 InventoryLevel ビジネス・オブジェクトを使用して、特定の Inventory Type および Stock Type の品目の在庫量を収集します。
Inventory Type は、在庫のカテゴリーを表します。 このカテゴリーを使用すると、所有権や物理的な場所ごとに個別に管理されている在庫を組織が表すことができます。 例えば、企業は以下の Inventory Type を使用します。
これらの各 Inventory Types は、単一の汎用 InventoryLevel ビジネス・オブジェクトで表されます。
Stock Type は、在庫の状態を表します。 Stock Types には、「Unrestricted」、「Quality Inspection」、「Blocked Stock」、「In-Transit 」などがあります。 Inventory Types と Stock Type の各組み合わせは、単一の汎用 InventoryLevel ビジネス・オブジェクトで表されます。
InventoryLevelManager は在庫レベルのみを同期しますが、適切なコラボレーションを呼び出して以下の関連するビジネス・オブジェクトを検証または同期するように構成することができます。
ビジネス・オブジェクト | 関連するコラボレーション・プロパティー | 呼び出し先コラボレーション |
---|---|---|
Item
ItemBasic ItemOrder ItemPlanning |
VERIFY_SYNC_ITEM ITEM_TYPE |
ItemSync |
InventoryLevelManager が実行するプロセスのほかに、IBM WebSphere Business InterChange Server のコネクターには、ソース・アプリケーションとしての役割において以下の機能があります。
注: これらの機能はアプリケーション固有です。特定のアプリケーションの機能を判断するには、そのビジネス・オブジェクトの解説書を参照してください。
この節では、ポート・バインディングについて説明し、InventoryLevelManager に基づくコラボレーション・オブジェクトをセットアップするために必要なステップを説明します。コラボレーション・テンプレートの標準の機能、ポート、および構成プロパティーについて、およびコラボレーション・オブジェクト作成に関する一般情報については、『Required Documents for Creating Collaboration Objects』にリストされている文書を参照してください。
図 1 に、System Manager で表示される InventoryLevelManager のポートを示します。
図 1. InventoryLevelManager コラボレーションのポート
注: コラボレーション・オブジェクトでポートを使用しないようにするには、そのポートをポート・コネクターにバインドしてください。これにより、コラボレーション・オブジェクトが追加機能を提供せずに、そのポートは未使用として示されます。
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
InventoryLevel | 宛先アプリケーションのコネクター | 参照値のビジネス・オブジェクトを送信して、完全な値のビジネス・オブジェクトを検索します。 |
RetrieveByContent |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
InventoryLevel | ソース・アプリケーションのコネクター、または呼び出し側コラボレーション | トリガー・ビジネス・オブジェクトを受け取ります。コラボレーションが正常に終了した場合、このポートは、同期呼び出しの最後に、トリガー・ビジネス・オブジェクトをソース・アプリケーションに戻します。 |
Create Retrieve RetrieveByContent Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
InventoryLevel | 宛先アプリケーションのコネクター |
トリガー・ビジネス・オブジェクトをコラボレーションから送信します。 |
Create Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
任意の汎用 item ビジネス・オブジェクト (Item、ItemBasic、ItemOrder、ItemPlanningなど) |
|
検証または同期のために参照値 Item ビジネス・オブジェクトを送信します。 |
Sync または Exists |
InventoryLevelManager は、InventoryLevel ビジネス・オブジェクトのみを同期するスタンドアロンのコラボレーションとして使用できます。 また、他のコラボレーションとともに使用して、参照先 Item の検証または同期を行うこともできます。
InventoryLevelManager をスタンドアロンのコラボレーション・オブジェクトとしてセットアップする手順は、以下のとおりです。
InventoryLevelManager プロセスの一部として参照先 Item を検証または同期するには、以下のいずれかのコラボレーション・オブジェクト・グループを作成します。
検証 同期 必要なコラボレーション Item InventoryLevelManager、ItemWrapper Item InventoryLevelManager、ItemWrapper、ItemSync
コラボレーション・オブジェクト・グループの一部として InventoryLevelManager をセットアップする手順は、以下のとおりです。
この節では、このコラボレーション・テンプレートのプロセス・ロジックについて説明します。
プロセス・ロジックには、以下のサブプロセスが含まれます。
図 2 および図 3 は、InventoryLevelManager のプロセス・ロジックを示しています。
図 2. InventoryLevelManager コラボレーションのプロセス・ロジック (その 1)
図 3. InventoryLevelManager コラボレーションのプロセス・ロジック (その 2)
このコラボレーション・テンプレートでは、以下の標準コラボレーション・ビジネス・プロセスが使用されます。
これらのビジネス・プロセスについては、『Required Documents for Creating Collaboration Objects』を参照してください。
VERIFY_SYNC_ITEM プロパティーの値に応じて、コラボレーションは、在庫記録された Item を検証または同期のために ItemWrapper コラボレーションに送信します。図 4 に、InventoryLevelManager が参照先 Item を検証または同期するプロセスを示します。
図 4. Item の検証または同期
注: コラボレーションが ItemBasic、ItemOrder、および ItemPlanning を正常に処理するには、インストールのリポジトリーに Utility ビジネス・オブジェクトが含まれている必要があります。このビジネス・オブジェクトはコラボレーション・コード内で参照され、これによって一時的イテレーター変数がインスタンス化されます。このオブジェクトがリポジトリーに存在しない場合、コラボレーションは失敗します。
InventoryLevelManager コラボレーションは、RetrieveByContent 動詞を使用してトリガー・ビジネス・オブジェクトを検索できます。 ソース・アプリケーションのビジネス・オブジェクトにキー値が含まれない場合、オブジェクトはこの動詞を使用していると想定されます。ビジネス・オブジェクトのマップおよび宛先アプリケーションのコネクターは、特定の重要な属性の値を使用して、宛先アプリケーションからビジネス・オブジェクトを戻します。
ビジネス・プロセスが、キー値 (例えば選択基準) を指定しないでデータを検索するよう命令する場合、このプロセスを統合する単数または複数のコネクターで RetrieveByContent 動詞がサポートされる必要があることを意味します。つまりコネクターは、アプリケーションからデータを検索するときに、RetrieveByContent 動詞とともに動作するビジネス・オブジェクトの非キー属性値に基づく必要があると認識するよう設計する必要があります。
ただし、非キー値検索により固有のオブジェクトが検索されずに複数のオブジェクト (行) が検索される場合、その対処に問題が生じます。
IBM WebSphere Business InterChange Server の標準コネクター機能では、キー・メソッドによる検索を使用して固有のオブジェクトを戻します。非キー値検索を可能にするため、コネクターの設計の一環として以下のことを考慮します。
また、結果セット (複数のオブジェクト) を検索するには、IBM'sInventoryLevel ビジネス・オブジェクトおよびコラボレーションへの設計変更が必要です。以下の手順を実行してください。
例えば、新規ビジネス・オブジェクト (InventoryLevelWrapper と命名します) をリポジトリー内に作成する必要があるとします。 InventoryLevelWrapper にはカーディナリティー「n」を持つ子コンテナーとして InventoryLevel ビジネス・オブジェクトが含まれ、検索に必要な属性がヘッダー・レベルに含まれます。
ソース・アプリケーション・コネクターが InventoryLevel ビジネス・オブジェクトを SubscriptionDelivery 上のコラボレーションに送信する場合、まずコラボレーションが新規の InventoryLevelWrapper オブジェクトをインスタンス化する必要があります。 次に、コラボレーションは必要な属性をトリガー・ビジネス・オブジェクト (InventoryLevel) から InventoryLevelWrapper のヘッダー・レベルにマップします。 このオブジェクトは、検索のために宛先アプリケーションに送信されます。宛先アプリケーション・コネクターが複数の在庫レベルを検索した場合、これらのビジネス・オブジェクトは InventoryLevelWrapper ビジネス・オブジェクトの子コンテナーに保管され、コラボレーションに戻されます。 コラボレーションは、InventoryLevelWrapper ビジネス・オブジェクトを「アンパック」して、子コンテナーの各インスタンスを取得する必要があります。 次に、コラボレーションは、別の Wrapper コラボレーションを介して各 InventoryLevel をソース・アプリケーションへ送信します。 InventoryLevel オブジェクトの全インスタンスがソース・アプリケーションへ送信されると、コラボレーション・オブジェクト・グループ全体が終了します。 図 5 は、InventoryLevelManager の RetrieveByContent プロセスを示しています。
図 5. InventoryLevelManager コラボレーションの RetrieveByContent プロセス
InterChange Server は、トランザクション・コラボレーションのいずれかのステップで失敗が発生した場合、トランザクションをロールバックできます。例えば、InventoryLevelManager がトランザクションのコラボレーションに参加するコラボレーション・オブジェクト・グループのメンバーである場合、InventoryLevelManager のアクションは、より大きなトランザクションの 1 つのサブトランザクション・ステップとなります。 コラボレーション・オブジェクト・グループのビジネス・プロセスでいずれかのステップが失敗すると、トランザクション・コラボレーションは InterChange Server がグループ内のコラボレーションの処理をどのようにロールバックすればよいか明示します。
TradingPartnerOrderManagement コラボレーション・オブジェクトが他のコラボレーションとは独立に使用されている場合、そのプロセスは 1 つのトランザクション・ステップとなります。 このような場合には、ロールバックを実行する必要はありません。
1 つのコラボレーション・オブジェクト、またはコラボレーション・オブジェクト・グループにロールバックを実行させるには、コラボレーションのテンプレートを変更する必要があります。 WebSphere Business Integration システムにおけるトランザクション処理を理解するためには、「テクニカル入門 (IBM WebSphere InterChange Server)」を参照してください。コラボレーション・テンプレートへのトランザクション処理の追加については、『Required Documents for Creating Collaboration Objects』を参照してください。
トランザクション処理を実行できるようにコラボレーション・オブジェクトを拡張するには、以下の手順を行います。
この節では、このコラボレーション・テンプレートの標準プロパティーおよび固有のプロパティーについて説明します。
このコラボレーション・テンプレートでは、以下のコラボレーション・テンプレートの標準構成プロパティーを使用します。
これらの構成プロパティーについては、『Required Documents for Creating Collaboration Objects』を参照してください。
このコラボレーション・テンプレートには、標準構成プロパティーに加えて、以下に示す構成プロパティーがあります。
プロパティー名とその説明 | 可能な値 | デフォルト値 |
---|---|---|
CONVERT_NEG 「true」に設定すると、InventoryLevelManager は汎用 InventoryLevel's AdjustedQty 属性の値が負の場合にそれをゼロにします。 「false」に設定すると、InventoryLevelManager は汎用 InventoryLevel の AdjustedQty 属性の値を無視します。 |
true、false | false |
ITEM_TYPE コラボレーションが InventoryLevel ビジネス・オブジェクトを同期する前に同期または検証する必要がある、汎用 Item のタイプを設定します。その VERIFY_SYNC_ITEM プロパティーが「sync」または「verify」と評価される場合、InventoryLevelManager はこのプロパティーの値を使用して、同期または検証する品目のタイプを判別します。 |
Item、ItemBasic、ItemOrder、または ItemPlanning |
Item |
SEND_DELETE 「true」に設定すると、InventoryLevelManager をトリガーとなる InventoryLevel ビジネス・オブジェクトの AdjustedQty 属性がゼロと評価される場合に、InventoryLevelManager が動詞を Delete に変更します。注: USE_RETRIEVE プロパティーも「true」に設定する必要があります。 「false」に設定すると、InventoryLevelManager は動詞を Delete に変更しません。 |
true、false | false |
VERIFY_SYNC_ITEM 「sync」に設定すると、InventoryLevelManager が宛先アプリケーション内の在庫記録された Item を同期します。InventoryLevelManager は ItemId (および、Plant 属性などその他必要な属性値) を InventoryLevel ビジネス・オブジェクトからコピーし、ITEM_TYPE プロパティーで指定したタイプの汎用ビジネス・オブジェクトを作成します。InventoryLevelManager は、そのビジネス・オブジェクトを Sync 動詞とともに ItemWrapper に送信します。次に、ItemWrapper はすべての属性の値をソース・アプリケーションから検索し、ビジネス・オブジェクトを Create 動詞とともに ItemSync に送信します。ItemSync が在庫記録された Item の作成に失敗した場合、InventoryLevelManager は INFORMATIONAL_EXCEPTIONS プロパティーに指定されたとおりにエラーを処理します。 「verify」に設定すると、InventoryLevelManager が宛先アプリケーション内の在庫記録された Item を検証します。 InventoryLevelManager は InventoryLevel ビジネス・オブジェクトから ItemId をコピーし、ITEM_TYPE プロパティーに指定されたタイプの汎用ビジネス・オブジェクトを作成します。 InventoryLevelManager は、そのビジネス・オブジェクトを Exists 動詞とともに ItemWrapper に送信します。 次に、ItemWrapper は宛先アプリケーションからビジネス・オブジェクトを検索します。ItemWrapper が在庫記録された Item の検索に失敗した場合、InventoryLevelManager は INFORMATIONAL_EXCEPTIONS プロパティーに指定されたとおりにエラーを処理します。 「neither」に指定すると、InventoryLevelManager は、トリガーとなる InventoryLevel ビジネス・オブジェクトを同期するときに、宛先アプリケーション内の在庫記録された Item を最初に同期したり、既存の在庫記録された Item を検証したりすることはありません。 |
neither、verify、sync | neither |
このコラボレーション・テンプレートのメッセージの説明を表示するには、Log Viewer を起動し、コラボレーション・テンプレートのメッセージ・ファイルを開いてください。Log Viewer を起動してコラボレーション・テンプレートのメッセージ・ファイルを開くには、以下の手順に従います。
このコラボレーション・テンプレートのより新しいバージョンにアップグレードするには、以下の手順を行います。