高度なカスタマイズ > サービスおよびインフラストラクチャのカスタマイズ > エンタープライズレイヤー > 部品抽象 > 設計の概要
  
設計の概要
以下の図は、Windchill の部品の参照実装の基本的な概念を表しています。
部品の参照の実装
部品クラスは、wt.enterprise パッケージ内の制御改訂オブジェクトのために確立されたパターンに基づいて実装されます。WTPartMaster と WTPart クラスは、wt.enterprise 内で確立された管理特性を示す具象クラスを提供し、部品に特性を加えます。部品のプロパティは、WTpart クラスで指定されます。その後、正常化のためにプロパティのすべてが WTPartMaster に保存されます。
部品パッケージは、制御改訂ビジネスサブクラスを実装する例です。具象部品ビジネスクラスは、エンタープライズモデルの制御改訂ビジネスモデル (マスターと RevisionControlled) テンプレートから継承されます。部品は、機能のほとんどを RevisionControlled エンタープライズオブジェクトから継承します。RevisionControlled はプラグアンドプレイ機能を併合します。その機能とは、Foldered、Indexable、Notifiable、DomainAdministered、AccessControlled、BusinessInformation、LifeCycleManaged、Version、Workable、および Changeable です。
属性は、WTPartMaster または WTPart にあります。WTPartMaster は、マスター化オブジェクトとして部品の識別子を表します。番号や名前がここに置かれています。部品の番号は、エンタープライズが認識しトラッキングのために使用するスタンプです。名前は人間が読み取れるコンポーネントです。これらの部品のプロパティは慎重に割り当てられ、変更されることはあまりありません。
WTPartMaster の属性は、すべてのバージョンと作業版数に対して同じ値を持ちます。マスターの属性が、いくつかのバージョンと作業版数が作成された後で変更されると、変更はすべてのバージョンと作業版数に反映されます。
バージョン化された処理可能なオブジェクトとして、WTPart はバージョンと作業版数にチェックアウトとチェックインプロセスの結果として記録される変更を行います。WTPart の属性は、通常、各作業版数に対して異なる値を持つことができるため、変更は 1 つの作業版数にだけ影響します。
作業版数は部品がチェックアウトまたはチェックインされるたびに発生します。これは部品の作業コピーとして表示できます。作業版数は、通常、バージョン間で何度も発生します。これに対し、バージョンは、ビジネスの増加 (部品に対する承認された大きな変更) を示します。一般的な場合では、部品のバージョン A が承認され実働システムに送られます。その後、変更が必要だと決定されます。部品は、変更が調査されテストされている間、何度も作業版数を繰り返します。最終的にバージョン B が承認されます。
また、WTPart を ViewManageable としてビューに割り当て、エンジニアリングや製造の段階など開発の段階に進化させることもできます。これはフォルダ内に常駐し、アクセス制御を適用され、ライフサイクル中に進化します。また、RevisionControlled の結果としての変更プロセスの一部でもあります。さらに、特定の実装を保持するためにベースラインに割り当てることもできます。バージョンは製造プロセスに何を構築するのかを示すように効果的に作成できます。
前の図とは矛盾しますが、WTPart はデフォルトでは ContentHolder ではなくなりました。ファイルや URL を格納する機能は持ち続けていますが、ユーザーが表示できなくなりました。
WTPart は、集められたプロパティとしてソースとタイプを含んでいます (以下の図を参照してください)。
WTPart プロパティ
ソースは、製造または購入など部品が取得される方法を示すために使用できます。タイプは、分離可能 (サービスのために分解可能なコンポーネントで組み立てられている)、分離不可 (組み立てられているが分解できない)、またはコンポーネント (組み立てられていない) など分解可能な方法を指定します。これらのプロパティの値は、リソースバンドルを編集して変更できます。
また、番号と名前は、派生した属性としてモデル化され、WTPartMaster から真の値を設定し取得するために実装されます。データベースの派生を指定することによりマスターの属性から派生したことを示すために、属性仕様の「Windchill」タブの DerivedFrom プロパティが使用されています。また、ゲッターとセッターは、以下のような方法でオーバーライドされています。
((WTPartMaster) getMaster()).get/set...(...)
WTParts は、以下の図で示すように WTPartUsageLink でほかの部品を使用してアセンブリを構築できます。
WTPartUsageLink を使用したアセンブリの構築
WTPartUsageLink は、構造の構築に使用するよう定義された関連項目である IteratedUsageLink の 1 つのタイプです。WTPartUsageLink の総計の Quantity は、消費されるコンポーネントの量を示すために使用できます。QuantityUnit の値は、リソースバンドルを編集して変更できます。
WTPartUsageLink は、PersistenceManager のナビゲーション API、または StructService の navigateUses や navigateUsedBy API を使用してナビゲーションできます。usedBy 役割をナビゲーションすると、すべての部品の作業版数が返されることに注意してください。StructService の navigateUsedBy API は、バージョンだけを返します。ただし、StructService の API は、IteratedUsageLink をターゲットとして使用してナビゲーションします。カスタマイズの IteratedUsageLink は WTPartUsageLink だけではありません。以下の図の API を使用することをお勧めします。
WTPartUsageLink のナビゲーション
getUsesWTParts は WTPartMaster へナビゲーションし、WTPartConfigSpec を使用してマスターから WTParts をマッピングし、Persistable[] の QueryResult を返します。ここで、WTPartUsageLink は 0 番目の位置、WTPart/WTPartMaster は 1 番目の位置にあります。getUsesWTPartMasters は、WTPartUsageLink をナビゲーションし、WTPartUsageLinks の QueryResult を返すだけです。最後に、getUsedByWTParts が部品を呼び出す実装を示す WTParts の QueryResult (単に全作業版数ではなくバージョン) を返します。
WTParts は、ドキュメントを参照することもできます (以下の図を参照してください)。
WTPartReferenceLink とナビゲーション API
部品は通常、以下のような 1 つまたは 2 つの理由によりドキュメントを参照します。
部品はドキュメントの論理的オーナーではありません。このようなドキュメントには、標準のドキュメントなどがあります。標準ドキュメントは、部品から独立していますが、ドキュメントへの適合を確認するために使用される場合があります。
ドキュメント (ファイル) は、概念的に部品に所有されますが、ライフサイクルは個別に管理され、ファイルのチェックインとチェックアウトなども独立して行う必要があります。WTPart から見てドキュメントのバージョンが必ずしも互換可能でない場合、WTPartReferenceLink が適正でない可能性があることに注意してください。特定のバージョンのドキュメントが特定のバージョンの部品にリンクしている場合は、代わりに DescribedBy リンクを使用してください (DescribedBy の詳細については、このセクションの後半で説明します)。
WTPartReferenceLink は、WTPartService の getReferencesWTDocumentMasters API を使用してナビゲーションできます。
WTPart は、WTPartDescribedByLink を使用して、バージョン固有レベルで説明を行うドキュメントにリンクすることもできます。このようなドキュメントには、特定のバージョンの部品が設計され構築される方法を正確に示す CAD 図面などがあります。部品が変更され、新しいバージョンが作成されると、DescribedBy 機能を使用して、この変更を反映した CAD 図面の改訂バージョンが新しい部品にリンクされます。
要約すると、参照は、便利なオプションの補助情報と考えるべきです。これは独自のライフサイクルを持ち、参照を行う部品とは別に変更されます。DescribedBy リンクによって部品にリンクするドキュメントには、特にそのバージョンの部品に必要な情報が含まれています。特定のバージョンのドキュメントは、特定のバージョンの部品にリンクしています。
WTPartConfigSpec は、getUsesWTParts API によって暗黙的に示されています。これは、ナビゲーション中に製品エクスプローラによって使用されます。3 つの ConfigSpecs から構成されています。それは、WTPartStandardConfigSpec、WTPartEffectivityConfigSpec、および WTPartBaselineConfigSpec です (以下の図を参照してください)。
WTPartConfigSpec
ゾーンの概念は、特定の時間にどの ConfigSpec がアクティブかを判断するために WTPartConfigSpec に追加されています。WTPartConfigSpec は、以下の図に示す WTPartService の API を使用して、プリンシパルに 1 つずつ保存されています。
WTPartConfigSpec の検索と保存
WTPartConfigSpec によって統計された ConfigSpecs は、以下の動作を行います。
WTPartStandardConfigSpec
アクティブな場合、状態とビューメンバーシップに基づいて WTParts がフィルタ処理されます。workingIncluded を使用すると、ユーザーが作業コピーとチェックアウトバージョンを切り替えられます。
WTPartEffectivityConfigSpec
アクティブな場合、ユーザーがエフェクティビティとビューに基づいて構造を表示できます。有効と指定された WTParts だけが表示されます (詳細については、wt.effectivity パッケージを参照してください)。
WTPartBaselineConfigSpec
アクティブな場合、特定のベースラインに割り当てられた WTParts だけが表示されます (詳細については、wt.vc.baseline パッケージを参照してください)。
部品は、全体的またはアセンブリのコンテキスト内でしばしばほかの部品に置き換えられます。この互換性は、特定の状況である部品が別の部品に相当することを示すために使用されます。WTPartAlternateLink (以下の図を参照) は、全体的な互換性を示すために使用されます。これに対し、WTPartSubstituteLink はアセンブリのコンテキスト内での互換性を示します。WTPartSubstituteLink は、WTPartUsageLink がコピーされるたびにコピーされます。
リンクの代替と代用
これらのリンクは両方とも永続性管理マネージャのナビゲーション API を使用してナビゲーションされます。また、WTPartService は、WTPartAlternateLinks のナビゲーションのために getAlternatesWTPartMasters メソッドと getAlternateForWTPartMasters メソッドを提供し、WTPartSubstituteLinks のナビゲーションのために getSubstitutesWTPartMasters メソッドと getSubstituteForWTPartUsageLinks メソッドを提供します。WTPartAlternateLinks と WTPartSubstituteLinks は、両方ともアクセス制御されるため、アクセス制御サービスによってリンクの作成や削除などの処理を実行するアクセス許可が定義されます。
wt.part パッケージでモデル化された Part、PartMaster、および PartIteration の各クラス (以下の図を参照) は、将来的な機能のためのプレースホルダーです。
プレースホルダー