品目情報は、組織や組織の拡張パートナー・ネットワーク (提供業者、流通業者、販売業者、顧客など) 全体における、エンタープライズ・アプリケーション・システムの操作にとって重要です。 品目情報は、通常、さまざまなビジネス機能またはさまざまな業務 (計画、購買、在庫、製造、販売および配布、サポートなど) をサポートするシステムで複製されます。
ItemSync コラボレーションは、複数のシステムで複製される品目情報の保全性を維持して、すべてのシステムが最新の品目情報を使用して更新されるようにします。
品目は通常、新製品として、あるいは新規または改良品目のコンポーネントとしての始まりから、使用に必要な延長期間を通して維持されます。 品目が在庫内で価格評価および保持される場合、品目の定義は原価計算データとともに拡張されます。 品目が資材所要量計画 (MRP) に組み込まれている場合、必要な計算を実行できるように追加プロパティーが定義されます。 品目を販売やサービス・オーダーから参照されるようにするには、新たにプロパティーを追加します。
図 1 は、複数の組織で品目情報を定義および変更する方法を示しています。IBM は、さまざまな操作で使用されるさまざまな要件を表す個別の汎用ビジネス・オブジェクトを提供します。 これらのビジネス・オブジェクトの一部は、他のビジネス・オブジェクトの前提条件として機能します。 点線の長方形で囲まれた組織に限っては、現在のところサポートされていません。
図 1. 品目のライフ・サイクル: 組織と操作
品目のライフ・サイクルを通じて重要な情報を同期するため、ItemSync コラボレーションは以下の汎用ビジネス・オブジェクトをサポートしています。
注: コラボレーションが ItemBasic、ItemOrder、および ItemPlanning を正常に処理するには、インストールのリポジトリーに Utility ビジネス・オブジェクトが含まれている必要があります。このビジネス・オブジェクトはコラボレーション・コード内で参照され、これによって一時的イテレーター変数がインスタンス化されます。このオブジェクトがリポジトリーに存在しない場合、コラボレーションは失敗します。
ItemSync によるデータの同期は、エンタープライズ・リソース・プランニング (ERP) アプリケーションから、フロント・オフィス・システム (カスタマー・インタラクション・マネージメント (CIM) アプリケーションなど) およびサプライ・チェーン (SC) システムに対して行われます。 ERP システムは通常、多数の機能を提供して「レコードのシステム」となるので、ソースとしての役割を担います。 例えば、ERP アプリケーション内のモジュールは販売用に品目の価格を設定し、それを原料から完成品まで追跡し、必要なレベルまで詳細にその保管場所を追跡します。
ItemSync には、処理されるデータを制限できるようにする構成プロパティーがあります。 品目を同期する前に、データのフィルター操作を適用するかどうか、および前提条件情報を検証または同期するかどうか指定できます。 例えば、品目を販売注文に使用する前に、その品目の計画データを必ず作成するよう指定できます。
注: ItemSync は、部品表 (BOM) データや、技術変更に関連する改訂情報をサポートしません。
この節では、ポート・バインディングについて説明し、ItemSync に基づくコラボレーション・オブジェクトをセットアップするために必要なステップを説明します。コラボレーション・テンプレートの標準の機能、ポート、および構成プロパティーについて、およびコラボレーション・オブジェクト作成に関する一般情報については、『Required Documents for Creating Collaboration Objects』にリストされている文書を参照してください。
図 2 に、System Manager または Process Designer で表示される ItemSync のポートを示します。 各ポートについての情報は、図 2 の後にある表に示します。
図 2. ItemSync コラボレーションのポート
注: コラボレーション・オブジェクトでポートを使用しないようにするには、そのポートをポート・コネクターにバインドしてください。これにより、コラボレーション・オブジェクトが追加機能を提供せずに、そのポートは未使用として示されます。
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
ItemOrder、ItemPlanning、またはサポートされる任意の汎用 Item ビジネス・オブジェクト | 宛先アプリケーションのコネクター | 参照値のビジネス・オブジェクトを送信して、完全な値のビジネス・オブジェクトを検索します。検索は、参照先ビジネス・オブジェクトに含まれる ID に基づいて行われます。 この結果により、トリガー・ビジネス・オブジェクトまたは必須ビジネス・オブジェクトを同期する場合に使用される動詞が決定します。 |
Retrieve |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
Item、ItemBasic、ItemOrder、ItemPlanning、またはサポートされる任意の汎用 Item ビジネス・オブジェクト | ソース・アプリケーションのコネクターまたは呼び出し側コラボレーションの To ポート | 別のコラボレーション (通常は ItemWrapper コラボレーション) から、サポートされる任意の汎用 Item ビジネス・オブジェクトを受け取ります。このコラボレーションの構成時に、ItemSync を起動する Item ビジネス・オブジェクトのタイプが分からない場合、このポートを使用すると便利です。 例えば、別のコラボレーションが ItemWrapper を呼び出して、自身のトリガー・ビジネス・オブジェクトで参照される Items を同期し、ItemWrapper が ItemSync を呼び出す場合、トリガーとなる Item のタイプは実行時にのみ決定されます。 |
Create Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
ItemBasic | ソース・アプリケーションのコネクター |
トリガーとなる ItemBasic ビジネス・オブジェクトを受け取ります。 コラボレーションが正常に終了した場合、このポートは、同期呼び出しの最後に、トリガー・ビジネス・オブジェクトをソース・アプリケーションに戻します。 |
Create Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
ItemOrder | ソース・アプリケーションのコネクター | トリガーとなる ItemOrder ビジネス・オブジェクトを受け取ります。 コラボレーションが正常に終了した場合、このポートは、同期呼び出しの最後に、トリガー・ビジネス・オブジェクトをソース・アプリケーションに戻します。 |
Create Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
ItemPlanning | ソース・アプリケーションのコネクター | トリガーとなる ItemPlanning ビジネス・オブジェクトを受け取ります。 コラボレーションが正常に終了した場合、このポートは、同期呼び出しの最後に、トリガー・ビジネス・オブジェクトをソース・アプリケーションに戻します。 |
Create Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
ItemBasic、ItemOrder、ItemPlanning、またはサポートされる任意の汎用 Item ビジネス・オブジェクト | ソース・アプリケーションのコネクター |
参照値ビジネス・オブジェクトを送信して、参照するビジネス・オブジェクトに含まれる ID に基づいて、完全な値を持つ必須ビジネス・オブジェクトを検索します。 |
Retrieve |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
Item、ItemBasic、ItemOrder、ItemPlanning、またはサポートされる任意の汎用 Item ビジネス・オブジェクト | 宛先アプリケーションのコネクター |
完全な値を持つトリガー・ビジネス・オブジェクト、または必須ビジネス・オブジェクトのいずれかを、コラボレーションの外部に送信します。 |
Create Update Delete |
任意の汎用 Item ビジネス・オブジェクトによって起動される IemSync コラボレーション・オブジェクトを作成する場合、FromItemBasic、FromItemOrder、および FromItemPlanning ポートをソース・コネクターに、From ポートをポート・コネクターにバインドします。
ある 1 つの汎用 Item ビジネス・オブジェクトのみによって起動される IemSync コラボレーションを作成する場合、関連するポートのみをソース・コネクターに、残りの 3 つのトリガー・ポートをポート・コネクターにバインドします。 例えば、ソース・コネクターが ItemOrder ビジネス・オブジェクトのみを送信する場合、ItemSync の FromItemOrder ポートをソース・コネクターにバインドします。 FromItemBasic、FromItemPlanning、および From ポートはポート・コネクターにバインドします。
ItemWrapper コラボレーション・オブジェクトによって起動されるような、コラボレーション・オブジェクト・グループの一部として ItemSync コラボレーション・オブジェクトを作成する場合、トリガー・ビジネス・オブジェクトのタイプは実行時にのみ決定されます。 スーパークラスのように振る舞う汎用 Item ビジネス・オブジェクトでは、コラボレーションはサポートされる任意のタイプの汎用 Item ビジネス・オブジェクトを受け取ることができます。 この場合、From ポートを ItemWrapper の To ポートに、FromItemBasic、FromItemOrder、および FromItemPlanning ポートをポート・コネクターにバインドします。
他のコラボレーションのトリガー・ビジネス・オブジェクトで参照される Item を同期するために ItemSync を別のコラボレーションとともに使用することがない場合、ItemSync をスタンドアロンとして使用できます。 ItemSync をスタンドアロンとして使用する手順は、以下のとおりです。
ItemSync を他のコラボレーションとともに使用して、関連 Item を他のコラボレーションのトリガー・ビジネス・オブジェクトと同期する場合、ItemSync はコラボレーション・オブジェクト・グループの一部になります。 ItemSync をコラボレーション・オブジェクト・グループの一部として使用する手順は、以下のとおりです。
この節では、このコラボレーション・テンプレートのプロセス・ロジックについて説明します。
注: ItemSync には Retrieve シナリオは含まれません。
プロセス・ロジックには、以下のサブプロセスが含まれます。
図 3 は、ItemSync のプロセス・ロジックを示しています。
図 3. ItemSync コラボレーションのプロセス・ロジック
このコラボレーション・テンプレートでは、以下の標準コラボレーション・ビジネス・プロセスが使用されます。
これらのビジネス・プロセスについては、『Required Documents for Creating Collaboration Objects』を参照してください。
図 4 は、前提条件の同期を示しています。
図 4. 前提条件の同期
ItemSync が VERIFY_SYNC_PREQ プロパティーを評価するのは、トリガーとなる動詞が Create である場合のみです。
VERIFY_SYNC_PREQ が「verify」または「sync」を評価される場合、ItemSync は RETRIEVE_PREQ プロパティーの値を確認します。
RETRIEVE_PREQ が「true」と評価される場合、ItemSync は必須ビジネス・オブジェクトのリストをループし、それぞれを宛先アプリケーションから検索します。 コラボレーションの振る舞いは、検索が成功するかどうかによって異なります。
図 5. 前提条件階層の例
図に示されているように、ItemShipping には 2 つの前提条件 (ItemOrder と ItemPlanning) があり、ItemOrder には 2 つの前提条件 (ItemBasic と ItemCost) があります。 ItemSync が ItemOrder を正常に検索した場合、ItemSync は前提条件のリストから ItemOrder、ItemCost、および ItemBasic を削除します。 ただし、ItemOrder の検索に失敗した場合、ItemCost と ItemBasic の検索を試行します。 それらの検索に成功すると前提条件のリストから削除しますが、ItemOrder は保持します。 ItemCost または ItemBasic の検索に失敗した場合、失敗した前提条件と ItemOrder をリストに保持します。
ItemSync が宛先から ItemPlanning の検索に失敗した場合、コラボレーションは前提条件のリストに ItemPlanning を保持します。 検索に成功した場合、リストから削除します。
リストに残っているそれぞれの前提条件について、ItemSync はソース・アプリケーションから完全なビジネス・オブジェクトを検索します。 検索に成功すると、ItemSync はその前提条件をフィルター操作プロセスに送信してから、Create 動詞とともに宛先アプリケーションに送信します。
RETRIEVE_PREQ が「false」と評価される場合、ItemSync は必須ビジネス・オブジェクトのリストをループしたり、それぞれを宛先アプリケーションから検索したりしません。 したがって、IBM では、RETRIEVE_PREQ を「false」に設定するのは VERIFY_SYNC_PREQ を「sync」に設定してある場合のみにすることをお勧めします。 RETRIEVE_PREQ が「false」と評価されると宛先から検索するよう構成されないので、VERIFY_SYNC_PREQ が「verify」または「sync」と評価されるのに関係なく、コラボレーションは同じプロセスを実行します。 ItemSync は必須ビジネス・オブジェクトのリストをループして、各前提条件について以下の手順を実行します。
InterChange Server は、トランザクション・コラボレーションのいずれかのステップで失敗が発生した場合、トランザクションをロールバックできます。例えば、ItemSync がトランザクションのコラボレーションに参加するコラボレーション・オブジェクト・グループのメンバーである場合、ItemSync のアクションは、より大きなトランザクションの 1 つのサブトランザクション・ステップとなります。 コラボレーション・オブジェクト・グループのビジネス・プロセスでいずれかのステップが失敗すると、トランザクション・コラボレーションは InterChange Server がグループ内のコラボレーションの処理をどのようにロールバックすればよいか明示します。
ItemSync コラボレーション・オブジェクトをほかのコラボレーション・オブジェクトと無関係に使用する場合、または From ポートを別のコラボレーションではなくソース・アプリケーションにバインドする場合、そのプロセスを構成するトランザクション・ステップは 1 つのみになります。このような場合には、ロールバックを実行する必要はありません。
1 つのコラボレーション・オブジェクト、またはコラボレーション・オブジェクト・グループにロールバックを実行させるには、コラボレーション・テンプレートを変更する必要があります。WebSphere Business Integration システムにおけるトランザクション処理を理解するためには、「テクニカル入門 (IBM WebSphere InterChange Server)」を参照してください。コラボレーション・テンプレートへのトランザクション処理の追加については、『Required Documents for Creating Collaboration Objects』を参照してください。
トランザクション処理を実行できるようにコラボレーション・オブジェクトを拡張するには、以下の手順を完了します。
この節では、このコラボレーション・テンプレートの標準プロパティーおよび固有のプロパティーについて説明します。
このコラボレーション・テンプレートでは、以下のコラボレーション・テンプレートの標準構成プロパティーを使用します。
これらの構成プロパティーについては、『Required Documents for Creating Collaboration Objects』を参照してください。
このコラボレーション・テンプレートには、標準構成プロパティーに加えて、以下に示す構成プロパティーがあります。
プロパティー名とその説明 | 可能な値 | デフォルト値 |
---|---|---|
PREQ_ITEMORDER IBM では、ItemBasic を ItemPlanning および ItemOrder の前提条件と見なしているので、PREQ_ITEMORDER は ItemBasic を第 1 の前提条件として指定します。ItemSync が ItemBasic に加えて ItemPlanning を同期または検証するように設定するには、ItemPlanning を 2 番目の前提条件として指定します。 注: ItemSync は指定された順序で前提条件を処理します。以下の例では、ItemSync は ItemBasic を処理してから ItemPlanning を処理します。 |
type1、type2、...、typeN | ItemBasic |
PREQ_ITEMPLANNING IBM では、ItemBasic を ItemPlanning および ItemOrder の前提条件と見なしているので、PREQ_ITEMPLANNING は ItemBasic を第 1 の前提条件として指定します。ItemSync が ItemBasic に加えて ItemOrder を同期または検証するように設定するには、ItemOrder を 2 番目の前提条件として指定します。 注: ItemSync は指定された順序で前提条件を処理します。以下の例では、ItemSync は ItemBasic を処理してから ItemOrder を処理します。 |
type1、type2、...、typeN | ItemBasic |
RETRIEVE_PREQ 「true」に設定すると、ItemSync は、トリガー・ビジネス・オブジェクトを処理する前に宛先から必須ビジネス・オブジェクトを検索します。RETRIEVE_PREQ が「true」と評価され、ItemSync が宛先から正常に前提条件を検索すると、ItemSync はその前提条件をフィルター操作に送信してからトリガー・ビジネス・オブジェクトを処理します。 RETRIEVE_PREQ が「true」と評価され、ItemSync が宛先からの前提条件の検索に失敗した場合、ItemSync の振る舞いは VERIFY_SYNC_PREQ プロパティーの設定によって異なります。 「false」に設定すると、ItemSync は、必須ビジネス・オブジェクトを処理する前に宛先からそれらを検索しません。 RETRIEVE_PREQ が「false」と評価される場合、ItemSync はトリガー・ビジネス・オブジェクトに含まれる ID を使用して、ソース・アプリケーションから各前提条件を取得します。 ItemSync は、各前提条件を Create 動詞とともに宛先に送信します。 前提条件で作成が成功すると、ItemSync はその前提条件をフィルター操作プロセスに送信します。 前提条件で作成に失敗した場合、ItemSync の振る舞いは CONVERT_CREATE プロパティーの設定によって異なります。 このプロパティーがビジネス・オブジェクトに及ぼす影響については、図 4 を参照してください。 |
true、false |
true |
VERIFY_SYNC_PREQ 「sync」に設定すると、ItemSync が宛先アプリケーション内の必須 Item を同期します。ItemSync の振る舞いは RETRIEVE_PREQ プロパティーの設定によって異なります。 RETRIEVE_PREQ が「true」と評価され、VERIFY_SYNC_PREQ が「sync」と評価される場合、ItemSync は即時必須ビジネス・オブジェクトのリストをループし、それぞれを宛先アプリケーションから検索します。 コラボレーションの振る舞いは、検索が成功するかどうかによって異なります。
例えば、図 5 のように ItemShipping および ItemCost ビジネス・オブジェクトを作成したとします。ItemShipping には 2 つの前提条件 (ItemOrder と ItemPlanning) があり、ItemOrder には 2 つの前提条件 (ItemBasic と ItemCost) があります。ItemSync が ItemOrder を正常に検索した場合、ItemSync は前提条件のリストから ItemOrder、ItemCost、および ItemBasic を削除します。 ただし、ItemOrder の検索に失敗した場合、ItemCost と ItemBasic の検索を試行します。 それらの検索に成功すると前提条件のリストから削除しますが、ItemOrder は保持します。 ItemCost または ItemBasic の検索に失敗した場合、失敗した前提条件と ItemOrder をリストに保持します。 ItemSync が宛先から ItemPlanning の検索に失敗した場合、コラボレーションは前提条件のリストに ItemPlanning を保持します。 検索に成功した場合、リストから削除します。 リストに残っているそれぞれの前提条件について、ItemSync はソース・アプリケーションから完全なビジネス・オブジェクトを検索します。 検索に成功すると、ItemSync はその前提条件をフィルター操作プロセスに送信してから、Create 動詞とともに宛先アプリケーションに送信します。 o 作成に成功すると、ItemSync は次の手順に進みます。 o 作成に失敗した場合、ItemSync は例外を生成します。ItemSync の振る舞いは、INFORMATIONAL_EXCEPTIONS および SEND_EMAIL プロパティーの設定によって異なります。 RETRIEVE_PREQ が「false」と評価され、VERIFY_SYNC_PREQ が「sync」と評価される場合、ItemSync は必須ビジネス・オブジェクトのリストをループし、各前提条件について以下の手順を実行します。
「verify」に設定すると、ItemSync が宛先アプリケーション内の必須 Item を検証します。 ItemSync の振る舞いは RETRIEVE_PREQ プロパティーの設定によって異なります。
「neither」に指定すると、ItemSync はトリガーとなる汎用 Item ビジネス・オブジェクトを同期するときに、宛先アプリケーション内の必須 Item を最初に同期または検証することはありません。 注: このプロパティーの使用についての詳細は、図 4 を参照してください。 |
neither、verify、sync | neither |
このコラボレーション・テンプレートのメッセージの説明を表示するには、Log Viewer を起動し、コラボレーション・テンプレートのメッセージ・ファイルを開いてください。Log Viewer を起動してコラボレーション・テンプレートのメッセージ・ファイルを開くには、以下の手順に従います。
この節では、以下のトピックについて説明します。
ItemSync の機能の拡張
汎用 Item ビジネス・オブジェクトの整合性
ItemSync には、コラボレーションの作成時に存在しなかった汎用ビジネス・オブジェクトを処理するのに十分な柔軟性があります。 例えば、ItemSync では現在、品目配送、コスト、在庫、および購入注文のデータの同期をサポートしていません。 このデータを表す追加の汎用 Item ビジネス・オブジェクトを作成する場合、コラボレーション・テンプレートを変更して、それらのオブジェクトをトリガー・ビジネス・オブジェクトまたは前提条件として取り入れることができます。
例えば、図 5 のように ItemShipping および ItemCost ビジネス・オブジェクトを作成したとします。ItemShipping には 2 つの前提条件 (ItemOrder と ItemPlanning) があり、ItemOrder には 2 つの前提条件 (ItemBasic と ItemCost) があります。さらに、ソース・アプリケーションで ItemShipping を作成または変更して、ItemSync コラボレーションを起動するとします。
コラボレーション・テンプレートの機能を拡張して、2 つの新規ビジネス・オブジェクトを使用するには、以下のように変更します。
既存のビジネス・オブジェクトの前提条件となる汎用ビジネス・オブジェクトを新たに作成する場合、新規前提条件を認識するように、既存のビジネス・オブジェクトのコラボレーション・プロパティーを変更する必要があります。 例えば、ItemCost ビジネス・オブジェクトを作成して、それが ItemOrder の前提条件として機能するよう設定する場合、PREQ_ITEMORDER プロパティーを変更して、ItemBasic のほかに ItemCost を組み込む必要があります。
前提条件リストは、ItemSync が処理する順に前提条件を組み込みます。 以下の例では、ItemSync は ItemBasic を処理してから ItemCost を処理します。 PREQ_ITEMORDER = {ItemBasic,ItemCost}.
固有の前提条件のセットを持つ新規ビジネス・オブジェクトを作成する場合、新規コラボレーション・プロパティーを作成します。 例えば、ItemShipping ビジネス・オブジェクトを作成する場合、PREQ_ITEMSHIPPING プロパティーを作成して、新規ビジネス・オブジェクトの前提条件 (ItemOrder と ItemPlanning) を指定する必要があります。
注:
ItemSync コラボレーションを起動する汎用ビジネス・オブジェクトを新たに作成する場合、トリガー・ポートをコラボレーション・テンプレートに追加する必要があります。
注: ポートを追加する前に、ユーザー定義のビジネス・オブジェクトを作成し、それをアプリケーション固有ビジネス・オブジェクトにマップしておく必要があります。
ポートをコラボレーション・テンプレートに追加するときは、関連するポートと同じ命名規則を使用します。 ItemSync の特定のビジネス・オブジェクト用のトリガー・ポートに使用する命名規則は、FromBusObjName です。
汎用 ItemBasic、汎用 ItemOrder、および汎用 ItemPlanning ビジネス・オブジェクトには、同じキー属性が含まれています。 ItemSync は、トリガーとなる Item ビジネス・オブジェクトのほかに、必須 Item ビジネス・オブジェクトも処理できるので、汎用ビジネス・オブジェクトにおいてこれらのキー属性の整合性を保つことが重要です。 キー属性を変更する場合は、それらを同じように変更します。
このコラボレーション・テンプレートのより新しいバージョンにアップグレードするには、以下の手順を行います。