コンテキストレプリケーション時のローカルデータの処理
このトピックでは、ソースシステムからターゲットシステムへのビジネスオブジェクトおよびそれらの関連のレプリケーションを、特にそれらのオブジェクトの一部がすでにターゲットシステム内のローカルに存在している場合に、システムがどのように管理するかについて説明します。目的は、コンフリクトを回避し、データの整合性を確保することです。
ローカルオブジェクトの動作
レプリケーションのシナリオによっては、ターゲットシステム内のローカルオブジェクトが、ソースシステム内に存在するオブジェクトのプレースホルダーとして機能する場合があります。これらのプレースホルダーはターゲットシステム内で独立して変化し、発展し続け、エージェントと呼ばれます。
プレースホルダーコンフィギュレーション
プレースホルダー機能を有効にするには、ソース環境とターゲット環境の両方の wt.properties ファイルでプロパティ wt.ixb.import.businessIdentityBasedSearchForLinks.placeholderObjectsOnly=true を設定します。
|
|
これらのオブジェクトは、ソースシステムではプレースホルダーと呼ばれるのに対し、ターゲットシステムでは実際の実装を表すエージェントと呼ばれます。
|
レプリケーションのコンフリクト処理
• 以前の動作 - コンテキストレプリケーションで、レプリケーション対象のビジネスオブジェクトの一部が閉じた環境 (ターゲット) のローカルにすでに存在しており、レプリケーション対象としてマークされていないことが検出された場合、コンフリクトが発生していました。このコンフリクトは、それらのオブジェクトのインポートをスキップすることで解決されていました。
• 現在の動作 - コンテキストレプリケーションで、そのようなローカルオブジェクトを参照するレプリケーション対象の関連が検出された場合、コンフリクトを防ぐためにインポート時にそれらの関連は無視されます。
パッケージのエクスポートとインポート
レプリケーション時に、ソースシステムはサポートされているすべてのオブジェクトとそのビジネスアイデンティティを含むパッケージをエクスポートします。その後、このパッケージはターゲットシステムまたはローカルシステムによってインポートされます。
関連の処理ロジック
このインポート操作では、次のことが行われます。
• システムはまず、ターゲットシステム上で UFID を使用して従属側オブジェクトを見つけようとします。
• UFID が一致しない場合、システムは、ソースシステム内の従属側オブジェクトのビジネスアイデンティティがターゲットシステム上のローカルオブジェクトと一致しているかどうかをチェックします。
• 一致が見つかった場合、リンクがレプリケーションされます。
ローカルオブジェクトのレプリケーション規則
ビジネスアイデンティティに基づいてターゲットシステムでビジネスオブジェクトが検出された場合、レプリケーションプロセスは次の規則に従います。
• 条件付きリンクレプリケーション: リンク (関連) がレプリケーションされるのは、所有側オブジェクトがレプリケーション対象であり、従属側オブジェクトがターゲットシステムのローカルにすでに存在していてプレースホルダーとしてマークされている場合だけです。このレプリケーションは、ローカルの従属側オブジェクトのビジネスアイデンティティが、ソースによって提供されたアイデンティティ、または受信送信物パッケージに含まれているアイデンティティと一致する場合にのみ行われます。
• ロックステータスに基づくリンクレプリケーション: ビジネスオブジェクトがリンクレプリケーションの対象になるかどうかは、オブジェクトのロックステータスに基づいて判断されます。オブジェクトが「レプリケーション用にロック済み」または「製品設計パッケージによりロック」でマークされている場合、そのオブジェクトはリンクレプリケーションプロセスから除外されます。ただし、オブジェクトが遷移中ロックでマークされているか、ローカルオブジェクトとして識別されている場合、そのオブジェクトはリンクレプリケーションに参加できます。
• 所有側のみのレプリケーション: オブジェクトが関連の従属側として識別された場合、所有側オブジェクトのみがレプリケーションされ、従属側オブジェクトの最新の作業版数へのリンクが確立されます。従属側オブジェクト自体はローカルのまま残り、レプリケーションされず、プレースホルダーとしてマークされます。
• 完全ローカルオブジェクトのリンクレプリケーションなし: 所有側オブジェクトと従属側オブジェクトの両方がターゲットシステムにすでに存在し、ローカルである場合、これらのオブジェクト間のリンクはレプリケーションされません。
• ロックまたは保留中のレプリケーションによるレプリケーションの制限: 所有側オブジェクトが次のいずれかの状態である場合、リンクはインポートされません。
◦ 管理者用ロックが原因でレプリケーションされていない
◦ レプリケーション対象としてタグ付けされているが、まだレプリケーションされていない
• 不完全または存在しないビジネスアイデンティティ: エクスポート時にソースでビジネスアイデンティティが部分的にしか使用できない、または存在しない場合でも、リンクはターゲットシステムでレプリケーションされます。
• アクセス制御に関する考慮事項: 従属側オブジェクトがターゲットのローカルに存在するが、アクセス制限またはアクセス許可が原因で検出できない場合、そのようなリンクのレプリケーションは無視されます。
• コンテキストに関する考慮事項: ローカルオブジェクトは、ターゲットシステムの任意のコンテキスト (製品やライブラリなど) に存在する可能性があります。
• レプリケーションパッケージへのプレースホルダーの組み込み: ソースシステムで、ユーザーがプレースホルダーとしていくつかのオブジェクト (関連の従属側オブジェクト) を選択すると、選択したオブジェクトのビジネスアイデンティティのみがエクスポートレプリケーションパッケージに組み込まれます。これらのアイデンティティは、関連付けられたリンクを介して転送されます。
例
次の例について考えます。この例では、ソースシステム内の従属側オブジェクト ChildC1 A.1 のビジネスアイデンティティが、ターゲットシステム内の ChildC1 A.1 と同一であり、両方がプレースホルダーとしてマークされているため、ターゲットシステムで所有側オブジェクト PartP1 A.2 がレプリケーションされます。
|
ソースシステム
|
ターゲットシステム (レプリケーション前)
|
ターゲットシステム (レプリケーション後)
|
|
PartP1 A.2
|
ChildC1 A.1 (ローカル)
|
PartP1 A.2 (レプリケーション)
|
|
ChildC1 A.1
|
ChildC1 A.1 (ローカルのまま)
|
ソースシステムとターゲットシステムで従属側のオブジェクトのビジネスアイデンティティが一致しない場合、PartP1 A.2 はターゲットシステムでレプリケーションされますが、リンクはレプリケーションされません。ビジネスアイデンティティの詳細については、
オブジェクトのビジネスアイデンティティを参照してください。
特殊なケース
場合によっては、ターゲット上で従属側オブジェクトが所有側オブジェクトとは異なるコンテキストに存在することがあります。所有側オブジェクトがレプリケーションされる際に、ターゲットシステム内の従属側オブジェクトのビジネスアイデンティティがソースからのアイデンティティ情報と一致し、その従属側オブジェクトがソースシステムとターゲットシステムの両方でプレースホルダーとしてマークされている場合に限り、関連付けられたリンクもレプリケーションされます。
このトピックでは一般的なビジネスオブジェクトのレプリケーションに焦点を当てていますが、同様のアイデンティティ照合の原則は変更管理オブジェクトにも適用されます。詳細については、
変更管理のビジネスアイデンティティを参照してください。
CAD ドキュメントのレプリケーション時のローカルデータの処理方法については、
「CAD ドキュメントの制限事項」を参照してください。