InstalledProductSync コラボレーションは、Service Management または Customer Service と呼ばれる大きなビジネス・プロセスの一部です。 このビジネス・プロセスは、顧客サイトに設置された商品へのアフター・サービスを提供する設置ベースを企業が管理するために使用します。
企業では、InstalledProductSync を使用して設置ベースを表現することで、フロント・オフィス・アプリケーションおよびバック・オフィス・アプリケーションのユーザーがどの製品がどの顧客サイトに設置されているかを把握できるようにします。 IBM では、InstalledProductSync を使用する企業は、フロント・オフィス・アプリケーションおよびバック・オフィス・アプリケーションを次のように使用するものと想定しています。
設置ベースの一部として管理される設置済み製品がバック・オフィス・アプリケーションで作成されると InstalledProductSync がトリガーされ、設置済み製品オブジェクトがフロント・オフィス・アプリケーションに作成されます。 製品に対して記録された例外があればフロント・オフィス・アプリケーションで処理します。 製品に対して記録された例外をバック・オフィス・システムでさらに処理する必要がある場合、フロント・オフィス・アプリケーションは InstalledProductSync を起動して設置済みの製品オブジェクトをバック・オフィス・アプリケーションに作成します。
フロント・オフィス・アプリケーションで設置ベース、例外処理、契約管理およびサービス請求を管理し、バック・オフィス・アプリケーションでは注文配送業務のみ行う企業の場合は、InstalledProductSync のほかに ProductInstallation コラボレーションを使用することをお奨めします。
InstalledProductSync が設置済み製品をソース・アプリケーションから宛先アプリケーションに同期し、ProductInstallation がバック・オフィス・ソース・アプリケーションで起動されたデリバリー・データを使用して設置済み製品をフロント・オフィス宛先アプリケーションに作成します。 これらのコラボレーションの使用方法を次に示します。
InstalledProductSync は 汎用 InstalledProduct ビジネス・オブジェクトを使用して設置済み製品のデータを同期します。
InstalledProductSync が同期するのは InstalledProduct のみですが、適切なコラボレーションを呼び出して次の関連ビジネス・オブジェクトを検証または同期するよう構成できます。
ビジネス・オブジェクト | 関連するコラボレーション・プロパティー | 呼び出し先コラボレーション |
---|---|---|
Contact | VERIFY_SYNC_CONTACT FAIL_ON_CONTACT_ERROR | |
VERIFY_SYNC_CUSTOMERS | CustomerSync CustomerWrapper | |
CustomerPartner | VERIFY_SYNC_CUSTOMERPARTNERS | CustomerPartnerSync CustomerPartnerWrapper |
Item
ItemBasic ItemOrder ItemPlanning |
ItemSync | |
Site |
注: InstalledProductSync を Contact、Customer、CustomerPartner、Item、または Site・データと同期するよう構成する場合には、InstalledProductSync を構成する前に該当するコラボレーション・オブジェクトを作成およびバインドしてください。 詳しくは、『コラボレーション・オブジェクトのセットアップ』を参照してください。
フィルター操作は InstalledProductSync で実行できるほか、IBM WebSphere Business InterChange Server のコネクターでも特定タイプの InstalledProduct をフィルター操作できます。 コラボレーションでなくソース・コネクターでフィルター操作を実行すると、パフォーマンスが向上します。 注: フィルター操作機能はアプリケーションにより異なります。特定のアプリケーションの機能については、各ビジネス・オブジェクトの参照文書を参照してください。
この節では、ポート・バインディングについて説明し、InstalledProductSync に基づくコラボレーション・オブジェクトをセットアップするために必要なステップを説明します。コラボレーション・テンプレートの標準の機能、ポート、および構成プロパティーについて、およびコラボレーション・オブジェクト作成に関する一般情報については、『Required Documents for Creating Collaboration Objects』にリストされている文書を参照してください。
図 1 に、System Manager で表示される InstalledProductSync のポートを示します。 各ポートについての情報は、図 1 の後にある表に示します。
図 1. InstalledProductSync コラボレーションのポート
注: コラボレーション・オブジェクトでポートを使用しないようにするには、そのポートをポート・コネクターにバインドしてください。これにより、コラボレーション・オブジェクトが追加機能を提供せずに、そのポートは未使用として示されます。
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
InstalledProduct | 宛先アプリケーションのコネクター | 参照値のビジネス・オブジェクトを送信して、完全な値のビジネス・オブジェクトを検索します。この結果、InstalledProduct を同期するときに使用される動詞が決まります。 |
Retrieve |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
InstalledProduct | ソース・アプリケーションのコネクター、または呼び出し側コラボレーション | トリガー・ビジネス・オブジェクトを受け取ります。コラボレーションが正常に終了した場合、このポートは、同期呼び出しの最後に、トリガー・ビジネス・オブジェクトをソース・アプリケーションに戻します。 |
Create Retrieve Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
InstalledProduct | ソース・アプリケーションのコネクター |
参照ビジネス・オブジェクトに含まれる ID を基準に、完全な値の親 InstalledProduct ビジネス・オブジェクトを検索します。 |
Retrieve |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
InstalledProduct |
宛先アプリケーションのコネクター |
トリガー・ビジネス・オブジェクトまたはいずれかの親ビジネス・オブジェクトをコラボレーションから送信します。 |
Create Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
Contact |
ContactWrapper の From ポート (VERIFY_SYNC_CONTACT が「verify」または「sync」の場合) 宛先アプリケーションのコネクターまたはポート・コネクター (検証または同期以外の場合) |
検証または同期のために参照値 Contact ビジネス・オブジェクトを送信します。 |
Sync Exists |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
Customer |
CustomerWrapper の From ポート (VERIFY_SYNC_CUSTOMERS が「verify」または「sync」の場合) 宛先アプリケーションのコネクターまたはポート・コネクター (Customer の検証または同期以外の場合) |
検証または同期のために参照値 Customer ビジネス・オブジェクトを送信します。 |
Sync Exists |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
CustomerPartner |
CustomerPartnerWrapper の From ポート (VERIFY_SYNC_CUSTOMERPARTNERS が「verify」または「sync」の場合) 宛先アプリケーションのコネクターまたはポート・コネクター (検証または同期以外の場合) |
検証または同期のために参照値 CustomerPartner ビジネス・オブジェクトを送信します。 |
Sync Exists |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
任意の汎用 item ビジネス・オブジェクト (Item、ItemBasic、ItemPlanning など) |
ItemWrapper の From ポート (VERIFY_SYNC_ITEM = "verify" または "sync" の場合) 宛先アプリケーションのコネクターまたはポート・コネクター (検証または同期以外の場合) |
検証または同期のために参照値 Item ビジネス・オブジェクトを送信します。 |
Sync Exists |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
Site |
SiteWrapper の From ポート (VERIFY_SYNC_SITE が「verify」または「sync」の場合) 宛先アプリケーションのコネクターまたはポート・コネクター (検証または同期以外の場合) |
検証または同期のために参照値 Site ビジネス・オブジェクトを送信します。 |
Sync Exists |
InstalledProductSync をスタンドアロン・コラボレーション・オブジェクトとしてセットアップするには、次の手順を実行します。
InstalledProductSync プロセスの一部として関連のContact、Customer、CustomerPartner、指定タイプの Item、または Site を検証または同期するには、以下のコラボレーション・オブジェクト・グループのいずれかの組み合わせを作成します。
検証 同期 必要なコラボレーション Contact InstalledProductSync、ContactWrapper Contact InstalledProductSync、ContactWrapper、ContactSync Customer InstalledProductSync、CustomerWrapper Customer InstalledProductSync、CustomerWrapper、CustomerSync CustomerPartner InstalledProductSync、CustomerPartnerWrapper CustomerPartner InstalledProductSync、CustomerPartnerWrapper、CustomerPartnerSync Item InstalledProductSync、ItemWrapper Item InstalledProductSync、ItemWrapper、ItemSync Site InstalledProductSync、SiteWrapper Site InstalledProductSync、SiteWrapper、SiteSync
以下の手順は、InstalledProductSync をコラボレーション・オブジェクト・グループの一部としてセットアップするための手順です。 例として、以下の手順では、InstalledProduct とその参照 Item と Site のみを同期するものとします。
Contact、Customer、または CustomerPartnersを同期する場合には、関連するコラボレーションを上記の手順と同様に構成します。
この節では、このコラボレーション・テンプレートのプロセス・ロジックについて説明します。
プロセス・ロジックには、以下のサブプロセスが含まれます。
VERIFY_SYNC_PARENT プロパティーの値によって、このコラボレーションは、トリガー・ビジネス・オブジェクトの親ビジネス・オブジェクトを無視する、トリガー・ビジネス・オブジェクトの親ビジネス・オブジェクトを検証する、またはトリガー・ビジネス・オブジェクトの祖先を同期する、のいずれかを行います。祖先とは、親ビジネス・オブジェクトまたは親の親です。
例えば、自動車を生産している企業で、コンポーネントを製品階層内の独立した設置済み製品として管理していると仮定します。 この場合、フュエル・インジェクターを設置済み製品として、フュエル・インジェクターの親 (エンジン) を設置済み製品として、そしてエンジンの親 (自動車) を設置済み製品として処理します。
祖先 InstalledProduct を同期するよう構成すると、InstalledProductSync はトリガーとなる InstalledProduct の親と各親の親を再起的に検索します。 すべての親が見つかると、InstalledProductSync は最上位の親を同期してから子を同期します。 トリガー・ビジネス・オブジェクトはコラボレーションによって最後に同期されるビジネス・オブジェクトです。 詳細については、『親ビジネス・オブジェクトの同期』を参照してください。図 2 は、メイン・ビジネス・プロセスを示します。図 3 は、親 InstalledProduct ビジネス・プロセスを同期するプロセス(VERIFY_SYNC_PARENT が sync) を示します。詳細については、『親ビジネス・オブジェクトの検証または同期』を参照してください。
VERIFY_SYNC_BusObj プロパティー (VERIFY_SYNC_ITEM および VERIFY_SYNC_CONTACT) の値にしたがって、InstalledProductSync は Wrapper コラボレーションを呼び出して、InstalledProduct ビジネス・オブジェクトによって参照されるビジネス・オブジェクトを作成するか、その存在を検証します。これらの関連オブジェクトの検証または同期の詳細については、『親ビジネス・オブジェクトの検証または同期』を参照してください。
図 2 は、InstalledProductSync のプロセス・ロジックを示します。
図 2. InstalledProductSync コラボレーションのプロセス・ロジック
このコラボレーション・テンプレートでは、以下の標準コラボレーション・ビジネス・プロセスが使用されます。
これらのビジネス・プロセスについては、『Required Documents for Creating Collaboration Objects』を参照してください。
VERIFY_SYNC_PARENT が「verify」または「sync」の場合、InstalledProductSync は以下の手順を実行します。
図 3 は、InstalledProductSync による親 InstalledProduct の同期プロセスを示します。
図 3. 親 InstalledProduct の同期プロセス
参照されている Item を検証または同期するため、InstalledProductSync はまず汎用 Item ビジネス・オブジェクトのタイプを決定する必要があります。 このために、ITEM_TYPE プロパティーを評価します。
注: コラボレーションが ItemBasic、ItemOrder、および ItemPlanning を正常に処理するには、インストールのリポジトリーに Utility ビジネス・オブジェクトが含まれている必要があります。このビジネス・オブジェクトはコラボレーション・コード内で参照され、これによって一時的イテレーター変数がインスタンス化されます。このオブジェクトがリポジトリーに存在しない場合、コラボレーションは失敗します。
参照されている Customer およびCustomerPartner を検証または同期するため、InstalledProductSync はまず、これらのビジネス・オブジェクトのどちらを各 InstalledProduct ビジネス・オブジェクトが参照しているかを判別する必要があります。 VERIFY_SYNC_CUSTOMERS および VERIFY_SYNC_CUSTOMERPARTNERS プロパティーが「verify」または「sync」の場合、InstalledProductSync は、InstalledProduct の RelatedCustomerRef 子ビジネス・オブジェクトの ObjectType 属性の値をチェックします。値が「Customer」の場合、InstalledProductSync は Customer ビジネス・オブジェクトを CustomerWrapper へ送信します。 値が「CustomerPartner」の場合、InstalledProductSync は CustomerPartnerビジネス・オブジェクトを CustomerPartnerWrapper へ送信します。
参照されている Contact の同期に失敗した場合には、InstalledProductSync は FAIL_ON_CONTACT_ERROR プロパティーを評価します。このプロパティーが「false」に設定されている場合、失敗した Contact を InstalledProduct の ContactRef 子ビジネス・オブジェクトから削除し、処理を続行します。 このプロパティーが「true」に設定されている場合、コラボレーションが例外を発行し、停止します。
図 4 は、参照されている Item、Contact、Customer、CustomerPartner、および Site の検証および同期に関する InstalledProductSync のプロセスを示します。
図 4. Item、Contact、Customer、CustomerPartner、および Site の検証または同期
InterChange Server は、トランザクション・コラボレーションのいずれかのステップで失敗が発生した場合、トランザクションをロールバックできます。例えば、InstalledProductSync がトランザクションのコラボレーションに参加するコラボレーション・オブジェクト・グループのメンバーである場合、InstalledProductSync のアクションは、より大きなトランザクションの 1 つのサブトランザクション・ステップとなります。 コラボレーション・オブジェクト・グループのビジネス・プロセスでいずれかのステップが失敗すると、トランザクション・コラボレーションは InterChange Server がグループ内のコラボレーションの処理をどのようにロールバックすればよいか明示します。
InstalledProductSync コラボレーション・オブジェクトをほかのコラボレーション・オブジェクトと無関係に使用する場合、または From ポートを別のコラボレーションではなくソース・アプリケーションにバインドする場合、そのプロセスを構成するトランザクション・ステップは 1 つのみになります。このような場合には、ロールバックを実行する必要はありません。
1 つのコラボレーション・オブジェクト、またはコラボレーション・オブジェクト・グループにロールバックを実行させるには、コラボレーション・テンプレートを変更する必要があります。WebSphere Business Integration システムにおけるトランザクション処理を理解するためには、「テクニカル入門 (IBM WebSphere InterChange Server)」を参照してください。コラボレーション・テンプレートへのトランザクション処理の追加については、『Required Documents for Creating Collaboration Objects』を参照してください。
トランザクション処理を実行できるようにコラボレーション・オブジェクトを拡張するには、以下の手順を完了します。
この節では、このコラボレーション・テンプレートの標準プロパティーおよび固有のプロパティーについて説明します。
このコラボレーション・テンプレートでは、以下のコラボレーション・テンプレートの標準構成プロパティーを使用します。
これらの構成プロパティーについては、『Required Documents for Creating Collaboration Objects』を参照してください。
このコラボレーション・テンプレートには、標準構成プロパティーに加えて、以下に示す構成プロパティーがあります。
プロパティー名とその説明 | 可能な値 | デフォルト値 |
---|---|---|
FAIL_ON_CONTACT_ERROR 「true」に設定すると、VERIFY_SYNC_CONTACT が true で、ContactWrapper がいずれかの参照 Contact の検証または同期に失敗した場合、InstalledProductSync は処理を停止します。 「false」に設定すると、VERIFY_SYNC_CONTACT が true で、ContactWrapper がいずれかの参照 Contact の検証または同期に失敗した場合、InstalledProductSync は処理を続行します。 この場合、InstalledProductSync は、失敗した Contact を InstalledProduct の ContactRef 子ビジネス・オブジェクトの配列から削除します。 |
true、false | true |
ITEM_TYPE コラボレーションが InstalledProduct ビジネス・オブジェクトを同期する前に同期または検証する必要がある、汎用 Item のタイプを設定します。その VERIFY_SYNC_ITEM プロパティーが「sync」または「verify」と評価される場合、InstalledProductSync はこのプロパティーの値を使用して、同期または検証する品目のタイプを判別します。 |
Item、ItemBasic、ItemOrder、または ItemPlanning | Item |
VERIFY_SYNC_CONTACT 「sync」に設定すると、InstalledProductSync が宛先アプリケーション内の関連する Contact を同期します。InstalledProductSync は、ContactId を各 InstalledProduct の ContactRef 子ビジネス・オブジェクトからコピーし、参照されている Contactごとに汎用 Contact ビジネス・オブジェクトを作成します。 InstalledProductSync は、各 Contact ビジネス・オブジェクトを Sync 動詞とともに ContactWrapper に送信します。次に、ContactWrapper はすべての属性の値をソース・アプリケーションから検索し、ビジネス・オブジェクトを Create 動詞とともに ContactSync に送信します。ContactSync が、関連の Contact の作成に失敗した場合、InstalledProductSync の動作は、FAIL_ON_CONTACT_ERROR プロパティーの値によって異なります。 「verify」を設定すると、InstalledProductSync によって宛先アプリケーションの関連する Contact が検証されます。 InstalledProductSync は、ContactId を各 InstalledProduct の ContactRef 子ビジネス・オブジェクトからコピーし、参照されている Contactごとに汎用 Contact ビジネス・オブジェクトを作成します。 InstalledProductSync は、各 Contact ビジネス・オブジェクトを Exists 動詞とともに ContactWrapper に送信します。次に、ContactWrapper は宛先アプリケーションからビジネス・オブジェクトを検索します。ContactWrapper が関連の Contact の検索に失敗した場合、InstalledProductSync の動作は、FAIL_ON_CONTACT_ERROR プロパティーの値によって異なります。 「neither」を設定すると、InstalledProductSync は最初に関連の Contract を同期または検証せずにトリガーとなる InstalledProduct ビジネス・オブジェクトを同期します。 |
neither、verify、sync | neither |
VERIFY_SYNC_CUSTOMERS 「sync」を設定すると、InstalledProductSync は、宛先アプリケーション内の関連する Customer を同期します。InstalledProductSync は、以下の手順を実行します。
「verify」を設定すると、InstalledProductSync は、宛先アプリケーションの関連 Customer を検証します。 InstalledProductSync は、以下の手順を実行します。
「neither」を設定すると、InstalledProductSync は最初に宛先アプリケーションの関連 Customer を同期または検証せずに、InstalledProduct ビジネス・オブジェクトを作成します。 |
neither、verify、sync | neither |
VERIFY_SYNC_CUSTOMERPARTNERS 「sync」に設定すると、InstalledProductSync は、宛先アプリケーション内の関連する CustomerPartner を同期します。InstalledProductSync は、以下の手順を実行します。
「verify」を設定すると、InstalledProductSync は、宛先アプリケーションの関連 CustomerPartner を検証します。 InstalledProductSync は、以下の手順を実行します。
「neither」を設定すると、InstalledProductSync は最初に宛先アプリケーションの関連 CustomerPartner を同期または検証せずに、InstalledProduct ビジネス・オブジェクトを作成します。 |
neither、verify、sync | neither |
VERIFY_SYNC_ITEM 「sync」に設定すると、InstalledProductSync が宛先アプリケーション内の関連する Item を同期します。InstalledProductSync は ItemId (および、Plant 属性などその他必要な属性値) を InstalledProduct ビジネス・オブジェクトからコピーし、ITEM_TYPE プロパティーで指定したタイプの汎用ビジネス・オブジェクトを作成します。InstalledProductSync は、そのビジネス・オブジェクトを Sync 動詞とともに ItemWrapper に送信します。次に、ItemWrapper はすべての属性の値をソース・アプリケーションから検索し、ビジネス・オブジェクトを Create 動詞とともに ItemSync に送信します。ItemSync が関連の Item を作成できなかった場合には、InstalledProductSync は INFORMATIONAL_EXCEPTIONS プロパティーにしたがってエラーを処理します。 「verify」を設定すると、InstalledProductSync は宛先アプリケーションの関連 Item を検証します。 InstalledProductSync は InstalledProduct ビジネス・オブジェクトから ItemId をコピーし、ITEM_TYPE プロパティーに指定されたタイプの汎用ビジネス・オブジェクトを作成します。InstalledProductSync は、そのビジネス・オブジェクトを Exists 動詞とともに ItemWrapper に送信します。次に、ItemWrapper は宛先アプリケーションからビジネス・オブジェクトを検索します。ItemWrapper が関連の Item を検索できなかった場合には、InstalledProductSync は INFORMATIONAL_EXCEPTIONS プロパティーにしたがってエラーを処理します。 「neither」を設定すると、InstalledProductSync は最初に宛先アプリケーションの関連の Item を同期したり、既存の関連 Item を検証したりせずにトリガーとなる InstalledProduct ビジネス・オブジェクトを同期します。 |
neither、verify、sync | neither |
VERIFY_SYNC_PARENT 「sync」を設定すると、InstalledProductSync は、トリガーとなる InstalledProduct の親と各親の親を再起的に見つけます。すべての親ビジネス・オブジェクトが見つかると、InstalledProductSync は最上位の親を同期してから子を同期します。 トリガー・ビジネス・オブジェクトはコラボレーションによって最後に同期されるビジネス・オブジェクトです。 詳細については、『親ビジネス・オブジェクトの同期』を参照してください。 「verify」を設定すると、InstalledProductSync は、宛先アプリケーションでトリガー InstalledProduct の親ビジネス・オブジェクトを作成または存在を検証します。 コラボレーションがこの検証を実行するのは、トリガーとなる InstalledProduct の ParentId 属性に親ビジネス・オブジェクトへの参照が含まれている場合のみです。
「neither」を設定すると、InstalledProductSync は最初に親 InstalledProduct ビジネス・オブジェクトを同期または検証せずにトリガーとなる InstalledProduct ビジネス・オブジェクトを同期します。 neither、verify、sync、neither |
neither、verify、sync | neither |
VERIFY_SYNC_SITE 「sync」に設定すると、InstalledProductSync が宛先アプリケーション内の関連する Sites を同期します。InstalledProductSync は、SiteId を InstalledProduct ビジネス・オブジェクトからコピーし、汎用 Site ビジネス・オブジェクトを作成します。 InstalledProductSync は、そのビジネス・オブジェクトを Sync 動詞とともに SiteWrapper に送信します。次に、SiteWrapper はすべての属性の値をソース・アプリケーションから検索し、ビジネス・オブジェクトを Create 動詞とともに SiteSync に送信します。SiteSync が関連の Site を作成できなかった場合には、InstalledProductSync は INFORMATIONAL_EXCEPTIONS プロパティーにしたがってエラーを処理します。 「verify」を設定すると、InstalledProductSync は、宛先アプリケーションの関連 Site を検証します。 InstalledProductSync は、SiteId を InstalledProduct ビジネス・オブジェクトからコピーし、汎用 Site ビジネス・オブジェクトを作成します。 InstalledProductSync は、そのビジネス・オブジェクトを Exists 動詞とともに SiteWrapper に送信します。これを受けて、SiteWrapper が宛先アプリケーションからビジネス・オブジェクトを検索します。 SiteWrapper が関連の Site を検索できなかった場合には、InstalledProductSync は INFORMATIONAL_EXCEPTIONS プロパティーにしたがってエラーを処理します。 「neither」を設定すると、InstalledProductSync は最初に関連の Site を同期または検証せずにトリガーとなる InstalledProduct ビジネス・オブジェクトを同期します。 |
このコラボレーション・テンプレートのメッセージの説明を表示するには、Log Viewer を起動し、コラボレーション・テンプレートのメッセージ・ファイルを開いてください。Log Viewer を起動してコラボレーション・テンプレートのメッセージ・ファイルを開くには、以下の手順に従います。
このコラボレーション・テンプレートのより新しいバージョンにアップグレードするには、以下の手順を行います。