標準設計パターン
標準設計パターンは、構築ブロック構造に準拠した構築ブロックを開発するための最も簡単な方法を提供しており、ソリューションの他の部分による検出が可能になります。これは、構築ブロックを開発するときに使用される最も一般的な設計パターンです。このタイプの構築ブロックには、ビジネスロジックやデータストレージだけでなく、UI エレメントも含めることができます。これは、PTC が提供するコンテンツに加えて、独自の機能を作成するフィールドチームまたは顧客が使用する場合に最適です。
次の図は、構築ブロックと見なされる一連のエンティティの最も基本的な要件を示しています。
どのエンティティがその他のエンティティを実装または拡張するかなど、構築ブロックと見なすために一連のエンティティに必要な基本的なエンティティを示している図。
この図において、中空の頭部と実線の矢印 () は、矢印が指しているエンティティからエンティティが拡張していること、中空の頭部と破線の矢印 () は、矢印が指しているエンティティをエンティティが実装していることをそれぞれ示します。
必要なエンティティ
標準設計パターンには、以下のエンティティが必要です。
プロジェクト - 構築ブロックエンティティを含む ThingWorx プロジェクトエンティティ。推奨される命名規則では、構築ブロックの一部であるすべてのエンティティの名前に、プロジェクト名が含まれています。たとえば、プロジェクトに PTC.BuildingBlock という名前が付けられている場合、構築ブロック内のすべてのエンティティは、PTC.BuildingBlock.EntryPointPTC.BuildingBlock.Management_TS など、このプロジェクト名で始まる名前になります。
エントリポイント - PTC.Base.ComponentEntryPoint_TT Thing Template から継承した、このエンティティには、名前、説明、バージョン、依存構築ブロックのリストなど、すべての構築ブロックのメタデータが含まれています。各構築ブロックは、独自のエントリポイント Thing Template (PTC.BuildingBlock.EntryPoint_TT など) 用に、PTC.Base.ComponentEntryPoint_TT Thing Template から継承します。エントリポイント Thing は、この Thing Template (PTC.BuildingBlock.EntryPoint など) から作成されます。エントリポイント Thing 上の DeployComponent サービスをオーバーライドすることで、構築ブロックが ThingWorx サーバーに最初にデプロイされたときにアクションを実行できます。
マネージャ - 構築ブロックマネージャは、構築ブロックのプライマリサービスレイヤーであり、構築ブロックの複数の機能が用意されています。まず、構築ブロックに対して呼び出しを行うエンティティの抽象レイヤーとして動作します。次に、メニューアイテム、組み込みマッシュアップ、および複数が定義されている場合に使用するマネージャを設定するために使用します。各構築ブロックには、PTC.Base.CommonManager_TT から拡張されたマネージャ Thing Template (PTC.BuildingBlock.Manager_TT など) が必要です。マネージャ自体は Thing であり、構築ブロックマネージャ Thing Template に基づいています。マネージャ Thing Template は、Thing Shape (PTC.BuildingBlock.Management_TS) も実装します。この Thing Shape には、構築ブロックに必要なすべてのサービスが含まれている必要があります。PTC によって開発された構築ブロックの場合、これらのサービスはカスタマイズとしてオーバーライドできるため、ソリューション開発者は、独自の目的のために、デフォルトのサービスをオーバーライドできるようになります。詳細については、サービスのカスタマイズを参照してください。
オプションのエンティティ
次の図は、標準設計パターンに含めることができる、オプションのエンティティを示しています。この図において、モデル、アセット、または設備階層を含む構築ブロックの例として PTC.MfgModel 構築ブロックが使用されており、それらの Thing Template では、標準設計パターンの構築ブロックにモデルロジック Thing Shape が実装されています。外形が破線のエンティティは、以下で説明する特定の目的用として、このパターンに含まれるオプションのエンティティです。標準設計パターンには、その他の ThingWorx エンティティも含めることはできますが、それらのエンティティには特定の意味があります。
どのエンティティがその他のエンティティを実装または拡張するかなど、標準設計パターン構築ブロックに含まれている可能性がある、必要なエンティティとオプションのエンティティを示している図。
この図において、中空の頭部と実線からなる矢印 () は、矢印が指しているエンティティからエンティティが拡張していること、中空の頭部と破線からなる矢印 () は、矢印が指しているエンティティをエンティティが実装していることをそれぞれ示します。
標準設計パターンには、以下のオプションのエンティティが含まれています。
セキュリティエンティティ - アクセス許可ユーザーグループを作成および使用して、構築ブロックごとに異なるアクセス許可を定義できます。ユーザー役割は、各アクセス許可ユーザーグループに追加される、単なる別のユーザーグループです。
マッシュアップ - 標準設計パターンにより、構築ブロック機能の一部として、マッシュアップを追加できます。これらは、マスターマッシュアップに結び付けられるメインマッシュアップであるか、またはさまざまな構築ブロックで使用される組み込みマッシュアップである可能性があります。構築ブロックの開発者は、どの機能をどの構築ブロックに含めるかを決定する必要があります。
モデルロジックエンティティ - モデルロジック Thing Shape は、マッシュアップやその他のコンポーネントで使用されることを目的としており、ThingWorx の要件に従って組織を使用することで、設備に組織のセキュリティを強制します。これは、ユースケースが個々の設備ごとに表示制御を呼び出す場合に必要です。モデルロジック Thing Shape に含まれるサービスは、設備の階層エンティティに適用されます。これらは、構築ブロックの管理 Thing Shape を通じて適切に設定されたマネージャに対して呼び出すための、ラップされたサービスを提供します。すべてのマネージャは、PTC.BaseManager Thing で、DefaultGlobalManagerConfiguration コンフィギュレーションテーブルに登録されます。マネージャは、PTC.Base.ConfigManagement_TS Thing Shape (構築ブロックのマネージャ Thing、または Thing Shape (PTC.MfgModel.DefaultWorkUnit_TT など) を実装する Thing Template に基づく設備モデル Thing など) を実装する、任意のエンティティの ManagerConfiguration コンフィギュレーションテーブルで設定することもできます。これにより、さまざまなモデルで異なるマネージャを使用できます。たとえば、2 つのサイトでは、さまざまなソースからデータを取得するので、使用するマネージャが異なる場合があります。
あるサービスが別のマネージャを参照する場合は、まず、そのサービスを呼び出しているエンティティの ManagerConfiguration テーブルを調べて、参照されているマネージャに設定されているエントリがあるかどうかを確認します。そこにエントリが見つからない場合、サービスは次に、PTC.Base.Manager Thing の DefaultGlobalManagerConfiguration コンフィギュレーションテーブルを調べます。
これは役に立ちましたか?