顧客情報は通常、受注、計画、購買、およびサポートなど多様な業務の機能または業務を支援する複数のシステム間で複製されます。顧客情報は複数のシステム間でやり取りされるので、整合性を維持し、すべてのシステムを確実に同期することが業務において重要な課題です。
CustomerSync コラボレーションは、Customer Manager コラボレーション・オブジェクト・グループを構成するほかのコラボレーションと連携し、顧客情報を使用するすべてのシステムでこの情報を更新および同期する共通のプロセスを指定します。同期化により、組織全体で共通の顧客情報を利用できます。
Customer Manager コラボレーション・オブジェクト・グループは、カスタマー・インタラクション・マネジメント (CIM) アプリケーションとエンタープライズ・リソース・プランニング (ERP) アプリケーションとの間で顧客情報を同期します。これらのアプリケーションのどちらも、同期される情報のソースまたは宛先となることができます。
このようにデータを複製することで、データが企業内で追加、変更、または削除された際に、別個のアプリケーションが情報を整合的に利用できます。コラボレーションは、重複した入力を必要とせずに、宛先アプリケーションでの複製情報の正確性を保証します。
多くの場合、顧客情報は、販売注文処理で参照される SoldTo 顧客を最上位とする階層型で保存されています。BillTo および ShipTo データなど、サポートする顧客情報は SoldTo 顧客に関連して保存されています。
IBM では、SoldTo 顧客に関するデータを汎用 Customer ビジネス・オブジェクトに格納します。関連の顧客または住所に関するデータは、汎用 CustomerPartner ビジネス・オブジェクトに格納します。また、SoldTo 顧客とその関連顧客との関係は、Customer ビジネス・オブジェクトを使用して格納します。
Customer Manager コラボレーション・オブジェクト・グループは、これら 2 つの汎用ビジネス・オブジェクトと 3 つのコラボレーションを使用して、SoldTo 顧客とそれらに関連付けられたデータを同期します。3 つのコラボレーションは、次のとおりです。
CustomerSync は、汎用 Customer ビジネス・オブジェクトを使用して SoldTo 顧客、および SoldTo 顧客とその関連顧客との関係を同期します。
このコラボレーションは、SoldTo 顧客に関連するすべての顧客データを同期または検証するよう構成できます (VERIFY_SYNC_CUSTOMERPARTNERS)。このように構成した場合、関連の顧客または住所ごとに汎用 CustomerPartner ビジネス・オブジェクトが作成され、CustomerPartnerWrapper コラボレーションに送信されます。CustomerPartner に対して指定する値は、固有キーのみです。つまり、CustomerSync は参照値ビジネス・オブジェクトを CustomerPartnerSyncへ送信します。CustomerSync は VERIFY_SYNC_CUSTOMERPARTNERS プロパティーの値を使用して、同期を指定する Sync 動詞と検証を指定する Exists 動詞のいずれとともに CustomerPartner を送信するかを決定します。
また CustomerSync の別の構成プロパティー (SYNC_PARENT_FIRST) は、SoldTo 顧客を同期する前に関連の顧客を同期するか、後に同期するかを決定します。この選択は、宛先アプリケーションがデータを保管する方法に依存します。保管オプションには、次の 2 種類があります。
Baan、Oracle、および Vantive などのアプリケーションでは、関係を子レベル (住所または関連の顧客役割など) に保存します。関連の顧客データは親 SoldTo レコードに依存するため、複数の SoldTo 顧客に関連付けることができません。これらの関連レコードを作成するには、SoldTo 顧客が事前に存在する必要があります。
例えば、CustomerSync に Oracle を宛先アプリケーションとしてバインドしている場合、SYNC_PARENT_FIRST を「true」に設定すると、このコラボレーションは次のように動作します。
注: IBM では子へのリンクを親 (汎用 Customer) ビジネス・オブジェクトに保存するため、以下の要件が満たされる必要があります。
Clarify、PeopleSoft、および SAPなどのアプリケーションでは、SoldTo 顧客とその関連顧客との関係を親レベルに保管します。このようなアプリケーションでは、顧客の関連顧客データ (BillTo 顧客、ShipTo 顧客など) が独立したオブジェクトとして保存されています。これらのオブジェクトは、親である SoldTo オブジェクトに依存しないため、複数の SoldTo 顧客に関連づけることができます。SoldTo 顧客を作成するには、これら関連の取引先が事前に存在する必要があります。
例えば、CustomerSync に SAP を宛先アプリケーションとしてバインドしている場合、SYNC_PARENT_FIRST を「false」に設定すると、このコラボレーションは次のように動作します。
注: WebSphere Business Integration システムでは、SoldTo は別の SoldTo に対する取引先として使用できません。このため、場合によっては、この関係を許可するアプリケーションであっても SoldTo を別の SoldTo の BillTo として表現するためのカスタマイズが必要です。
CustomerSync の構成プロパティー全体の詳細については、『構成プロパティー』を参照してください。
CustomerPartnerSync は、宛先アプリケーションの関連顧客または住所を同期します。CustomerPartnerSync は、CustomerSync に依存せずに実行できます。この場合、ソース・アプリケーションで CustomerPartnerSync を直接起動します。CustomerSync によって起動された場合には、CustomerPartnerSync は、CustomerSyncに状況を戻します。
CustomerPartnerSync の構成オプションについては、『構成プロパティー設定のチェックリスト』を参照してください。
CustomerPartnerWrapper は、関連顧客データが宛先アプリケーションに存在するかどうかを検証したり、それらのデータを宛先で同期したりします。
いずれの場合も、CustomerPartnerWrapper は状況を呼び出し側アプリケーションへ戻します。
CustomerPartnerWrapper の構成オプションについては、『構成プロパティー設定のチェックリスト』を参照してください。
インストールしたシステムでは、以下のコラボレーション・オブジェクトが必要になります。
コラボレーション・オブジェクト | 説明 |
---|---|
CustomerSync | ソース・アプリケーションは、CustomerSync コラボレーション・オブジェクトが処理する Customer 同期イベントを起動します。CustomerSync は、各関連顧客の固有キーを Customer ビジネス・オブジェクトから取得します。コラボレーションは、各関連顧客の CustomerPartner ビジネス・オブジェクトを作成し、その固有キーのみを各ビジネス・オブジェクトに取り込みます。次に CustomerSync はCustomerPartnerWrapper コラボレーション・オブジェクトを呼び出し、この CustomerPartner を宛先アプリケーション内で同期します。 |
CustomerPartnerWrapper |
CustomerPartnerWrapper は、CustomerSyncによって呼び出され、完全な値の CustomerPartner ビジネス・オブジェクトをソース・アプリケーションから検索して CustomerPartnerSync コラボレーション・オブジェクトに送信します。 |
CustomerPartnerSync |
CustomerPartnerSync は、CustomerPartnerWrapper (From ポートがバインド済み) によって呼び出され、CustomerPartner を宛先アプリケーション内で同期します。 |
CustomerPartnerSync | 第二の CustomerPartnerSync コラボレーション・オブジェクトは、ソース・アプリケーションによって起動された CustomerPartner 同期イベントを処理します。このコラボレーション・オブジェクトの From ポートは、ソース・アプリケーションに直接バインドされています。このコラボレーションは、関連の SoldTo 顧客と無関係に CustomerPartner を同期します。 |
図 1 は、上記のシナリオに必要なコラボレーションと汎用ビジネス・オブジェクトを示します。立体のオブジェクトは、ビジネス・オブジェクトを表します。長円は、コラボレーション・オブジェクトを表します。
図 1. 使用例に必要なコラボレーションの関係
注: ユーザー独自の要件および条件を指定するには、グループ内のコラボレーションを別途構成する必要があります。詳しくは、『構成プロパティー設定のチェックリスト』を参照してください。
この節では、ポート・バインディングについて説明し、CustomerSync に基づくコラボレーション・オブジェクトをセットアップするために必要なステップを説明します。コラボレーション・テンプレートの標準の機能、ポート、および構成プロパティーについて、およびコラボレーション・オブジェクト作成に関する一般情報については、『Required Documents for Creating Collaboration Objects』にリストされている文書を参照してください。
図 2 に、System Manager で表示される CustomerSync のポートを示します。
図 2. CustomerSync コラボレーションのポート
注: コラボレーション・オブジェクトでポートを使用しないようにするには、そのポートをポート・コネクターにバインドしてください。これにより、コラボレーション・オブジェクトが追加機能を提供せずに、そのポートは未使用として示されます。
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
Customer | 宛先アプリケーションのコネクター | 参照値のビジネス・オブジェクトを送信して、完全な値のビジネス・オブジェクトを検索します。この結果、Customer を同期するときに使用される動詞が決まります。 |
Retrieve |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
Customer | ソース・アプリケーションのコネクター、または呼び出し側コラボレーション | トリガー・ビジネス・オブジェクトを受け取ります。コラボレーションが正常に終了した場合、このポートは、同期呼び出しの最後に、トリガー・ビジネス・オブジェクトをソース・アプリケーションに戻します。 |
Create Retrieve Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
Customer | 宛先アプリケーションのコネクター |
トリガー・ビジネス・オブジェクトをコラボレーションから送信します。 |
Create Update Delete |
ビジネス・オブジェクト | バインド先 | 機能 | 使用される動詞 |
---|---|---|---|
CustomerPartner |
|
参照値 CustomerPartner ビジネス・オブジェクトを CustomerPartnerWrapper へ送信するのに使用します。
|
Sync Exists |
CustomerSync をスタンドアロン・コラボレーション・オブジェクトとしてセットアップするには、次の手順を実行します。
CustomerSync プロセスの一部として関連の CustomerPartners を検証または同期するには、以下のコラボレーション・グループのいずれかの組み合わせを作成します。
検証 同期 必要なコラボレーション CustomerPartner CustomerSync、CustomerPartnerWrapper CustomerPartner CustomerSync、CustomerPartnerWrapper、CustomerPartnerSync
以下のステップでは、セットアップの手順を説明し、CustomerPartner の検証または同期を処理するための代替のステップを示します。
この節では、このコラボレーション・テンプレートのプロセス・ロジックについて説明します。
図 3 に、CustomerSync のプロセス・ロジックを示します。
図 3. CustomerSync コラボレーションのプロセス・ロジック
このコラボレーション・テンプレートでは、以下の標準コラボレーション・ビジネス・プロセスが使用されます。
これらのビジネス・プロセスについては、『Required Documents for Creating Collaboration Objects』を参照してください。
図 4 に、CustomerSync の Create プロセスと Update プロセスを示します。
図 4. CustomerSync コラボレーション: Create および Update プロセス
注: CustomerSync は、CustomerPartnerWrapper を使用して CustomerPartner ビジネス・オブジェクトを CustomerPartnerSync へ送信します。Wrapper コラボレーションもこのビジネス・オブジェクトを動詞 Create とともに送信します。このビジネス・オブジェクトが宛先アプリケーションにすでに存在する場合、CustomerPartnerSync が Create を Update に変換するようにするには、その CONVERT_CREATE プロパティーを「true」に設定します。
Customer ビジネス・オブジェクトを Update 動詞とともに宛先に送信する場合、同期によって CustomerPartner との関係が更新されますが、同期によって CustomerPartner が実際に作成、更新、または削除されることはありません。
例えば、Customer が CustomerPartnerへの参照を削除する場合、アプリケーションは CustomerPartner を削除しません (物理的削除も論理的削除もしません)。アプリケーションは、単純に CustomerPartner への参照を除去します。つまり、CustomerPartner を除去することなく CustomerPartner への関係を除去します。
図5 に、CustomerSync によって同期された Customer No.100 のデータを示します。ソースと宛先のアプリケーションの両方に、同じ 3 つの CustomerPartner が関連付けられた、同一の基本 Customer が含まれています。
図5. CustomerPartner への参照が削除される前の Customer データ
図6 に、ソース・アプリケーションが関連 CustomerPartner の 1 つを削除した後の同じ基本 Customer を示します。子ビジネス・オブジェクトが削除されると、ソース・コネクターは Customer ビジネス・オブジェクトを Update 動詞とともに CustomerSync に送信します。次の図は、宛先アプリケーションが関連 CustomerPartnerへの参照を削除する前に CustomerSync が Customer ビジネス・オブジェクトを宛先アプリケーションに送信するときの Customer ビジネス・オブジェクトの状態を示しています。
図6. ソース・アプリケーションが CustomerPartner への参照を削除した後の Customer データ
図7. に、宛先アプリケーションで関連 CustomerPartner への参照が削除された後の Customer ビジネス・オブジェクトの状態を示します。
図 7. 宛先アプリケーションで同期された後の Customer データ
InterChange Server は、トランザクション・コラボレーションのいずれかのステップで失敗が発生した場合、トランザクションをロールバックできます。例えば、CustomerSync がトランザクションのコラボレーションに参加するコラボレーション・オブジェクト・グループのメンバーである場合、CustomerSync のアクションは、より大きなトランザクションの 1 つのサブトランザクション・ステップとなります。コラボレーション・オブジェクト・グループのビジネス・プロセスでいずれかのステップが失敗すると、トランザクション・コラボレーションは InterChange Server がグループ内のコラボレーションの処理をどのようにロールバックすればよいか明示します。
CustomerSync コラボレーション・オブジェクトをほかのコラボレーション・オブジェクトと無関係に使用する場合、または From ポートを別のコラボレーションではなくソース・アプリケーションにバインドする場合、そのプロセスを構成するトランザクション・ステップは 1 つのみになります。このような場合には、ロールバックを実行する必要はありません。
1 つのコラボレーション・オブジェクト、またはコラボレーション・オブジェクト・グループにロールバックを実行させるには、コラボレーション・テンプレートを変更する必要があります。WebSphere Business Integration システムにおけるトランザクション処理を理解するためには、「テクニカル入門 (IBM WebSphere InterChange Server)」を参照してください。コラボレーション・テンプレートへのトランザクション処理の追加については、『Required Documents for Creating Collaboration Objects』を参照してください。
トランザクション処理を実行できるようにコラボレーション・オブジェクトを拡張するには、以下の手順を完了します。
Customer Manager コラボレーション・オブジェクト・グループは 3 つのコラボレーションに相当するため、望ましい振る舞いを実現するには、すべてのコラボレーション・テンプレートを構成することが重要です。以下のチェックリストは、3 つすべてのコラボレーションに関する構成プロパティーを指定します。
ゴール | プロパティー | 設定 |
---|---|---|
同期前に Customer を宛先アプリケーションから検索します。 | USE_RETRIEVE | 「true」 |
関連の顧客または住所の作成前に SoldTo 顧客を宛先アプリケーションで作成します。 | SYNC_PARENT_FIRST | 「true」 |
トリガーとなる SoldTo 顧客に関連する顧客または住所を検証します。 | VERIFY_SYNC_CUSTOMERPARTNERS | 「verify」 |
トリガーとなる SoldTo 顧客に関連する顧客または住所を同期します。 | VERIFY_SYNC_CUSTOMERPARTNERS | 「sync」 |
CustomerSync のトリガー・ビジネス・オブジェクトが宛先に存在する場合、Create 要求を Update 要求に変換します。 | CONVERT_CREATE | 「true」 |
CustomerSync のトリガー・ビジネス・オブジェクトが宛先に存在しない場合、Update 要求を Create 要求に変換します。 | CONVERT_UPDATE | 「true」 |
ゴール | プロパティー | 設定 |
---|---|---|
同期前に CustomerPartner を宛先アプリケーションから検索します。 | USE_RETRIEVE | 「true」 |
CustomerPartnerSync のトリガー・ビジネス・オブジェクトが宛先に存在する場合、Create 要求を Update 要求に変換します。 | CONVERT_CREATE | 「true」 |
CustomerPartnerSync のトリガー・ビジネス・オブジェクトが宛先に存在しない場合、Update 要求を Create 要求に変換します。 | CONVERT_UPDATE | 「true」 |
ゴール | プロパティー | 設定 |
---|---|---|
顧客データの検証または同期が失敗した場合に、CustomerPartnerWrapper コラボレーションが警告を記録し、呼び出し側のコラボレーションに成功状況を戻すよう指定します。 | CONTINUE_WITH_WARNING | 「true」 |
この節では、このコラボレーション・テンプレートの標準プロパティーおよび固有のプロパティーについて説明します。
このコラボレーション・テンプレートでは、以下のコラボレーション・テンプレートの標準構成プロパティーを使用します。
これらの構成プロパティーについては、『Required Documents for Creating Collaboration Objects』を参照してください。
このコラボレーション・テンプレートには、標準構成プロパティーに加えて、以下に示す構成プロパティーがあります。
プロパティー名とその説明 | 可能な値 | デフォルト値 |
---|---|---|
SYNC_PARENT_FIRST 「true」に設定すると、CustomerSync は、関連の顧客または住所 (CustomerPartner) を作成する前に、SoldTo Customer を宛先アプリケーションで作成します。この設定は、宛先アプリケーションが取引先を再利用しない場合に使用します。つまり、宛先アプリケーションが親/子関係を子に保管する場合です。この場合、宛先アプリケーションは、CustomerPartner ビジネス・オブジェクトを作成する前に Customer を作成する必要があります。 「false」に設定すると、CustomerSync は、SoldTo Customer を作成する前に、関連の顧客または住所 (CustomerPartner) を宛先アプリケーションで作成します。この設定は、宛先アプリケーションが取引先を再利用する場合に使用します。つまり、宛先アプリケーションが親/子関係を親に保管する場合です。この場合、宛先アプリケーションは、Customer ビジネス・オブジェクトを作成する前に CustomerPartner を作成する必要があります。 |
true、false |
false |
VERIFY_SYNC_CUSTOMERPARTNERS 「neither」に指定すると、このコラボレーションがトリガー・ビジネス・オブジェクトを同期するときに、宛先アプリケーション内の関連する CustomerPartners を最初に同期することはありません。 「sync」に設定すると、このコラボレーションは、宛先アプリケーションの関連顧客および住所を同期します。コラボレーションは、以下のステップを実行します。
「verify」に設定すると、このコラボレーションは、宛先アプリケーション内で関連する CustomerPartner を検証します。コラボレーションは、以下のステップを実行します。
注: CustomerSync のメッセージの内容については、以下のコラボレーション・メッセージ・ファイル (\collaborations\messages\CustomerSync.txt) を参照してください。。 |
このコラボレーション・テンプレートのメッセージの説明を表示するには、Log Viewer を起動し、コラボレーション・テンプレートのメッセージ・ファイルを開いてください。Log Viewer を起動してコラボレーション・テンプレートのメッセージ・ファイルを開くには、以下の手順に従います。
コラボレーションを新規バージョンにアップグレードする手順は、以下のとおりです。