Thing Group
Thing Group は ThingWorx の参照可能なエンティティタイプであり、Thing と Thing Group をそのメンバーとして持つことができます。ThingWorx の現在のアクセス許可モデルのほかに、Thing Group を使用することで、ThingWorx 管理者はアクセスを必要とするものだけに Thing の公開規模を管理することが可能になります。Thing Group には以下のような主な用途があります。
• 表示アクセス許可の規模を管理 - Thing をグループ化することで、指定した
ユーザーグループまたはユーザーだけにそれらの Thing を表示できます。Thing Group では表示アクセス許可の委任が可能です。この表示アクセス許可の委任は
ユーザー管理サブシステムで有効にします。表示アクセス許可の委任を使用することで、ユーザーは、組織単位 (およびそれに対応するユーザーとユーザーグループ) を Thing Group に設定し、表示アクセス許可が設定されている Thing Group のメンバーである Thing と Thing Group (およびすべてのレベルの孫) にその表示設定を委任できます。これは Thing Group の表示アクセス許可で指定されている組織および組織単位を介して設定します。これらの組織/組織の単位に指定されている表示アクセス許可によって、直系子 Thing および Thing Group の表示、および階層内のすべてのレベルの孫 Thing の表示が決まります。Thing Group を使用して、特定のプロパティを持つ指定した Thing を表示するアクセス許可を特定のユーザーグループに委任することによって、ユーザーグループを整理することもできます。
• マッシュアップおよびその他のアプリケーションの構成要素としての Thing Group - アプリケーション開発者は、Thing Group を使用して、階層を視覚化したり、カスタムワークフローを特定のグループの Thing に限定したりできます。
Thing をグループ化する最も一般的な方法としては、地域、顧客、特定の場所、モデル番号があります。
Thing Group の表示アクセス許可の委任
ThingWorx での
表示アクセス許可の機能についての一般的な理解は、Thing Group での違いについて理解するうえで役立ちます。ユーザーが特定の Thing を表示する表示アクセス許可を持っている場合、その Thing を表示できます。ただし、表示アクセス許可が有効になっているときに、特定の Thing Group を表示する表示アクセス許可を持っている場合、その Thing Group を表示できるだけではなく、その Thing Group 内の Thing に実際に割り当てられている表示アクセス許可にかかわらず、それらの Thing も表示できます。同様に、その Thing Group 内の各 Thing Group に割り当てられている表示アクセス許可にかかわらず、Thing Group 内の Thing Group もすべて表示できます。
ユーザー管理サブシステムで Thing Group の
「ThingGroup 表示のアクセス許可の委任が有効」オプションを「真」に設定することで、その Thing Group の表示アクセス許可をすべての子 Thing や子 Thing Group に委任できます。このため、特定の Thing Group を表示可能な場合、階層内のそのすべての子 Thing と子 Thing Group を表示できます。この動作の例外として、すべての Thing Group に対するコレクションレベルの表示アクセス許可がユーザーに付与されている場合、
「ThingGroup 表示のアクセス許可の委任が有効」オプションを選択しても、Thing Group のコレクションレベルの表示アクセス許可には影響がありません。たとえば、
コレクションレベルの表示アクセス許可によってすべての Thing Group を表示できる場合、表示アクセス許可の委任が有効になっているときに Thing Group の子である Thing をすべて表示できる必要はありません。ある Thing Group の子である Thing を表示して表示アクセス許可の委任を利用するためには、その Thing Group を表示するためのアクセス許可が必要です。
ある Thing または Thing Group が削除された場合、すべての階層内のそのメンバーシップのインスタンスもすべて削除されます。
Thing Group の最良事例
• Thing と Thing Group を 1 対 1 でグループ化しないでください。たとえば、グループ化の基準として場所を使用しているときに、1 つの Thing Group につき Thing が 1 つだけ存在する場合、ランタイムでのパフォーマンスが低下する可能性があります。
• Thing Group への Thing のグループ化の基準として、頻度の高いプロパティ値データを使用しないでください。プロパティ DataChange イベントを使用して ThingWorx 内で操作を実行している場合 (表示権限の変更、メンバーシップ、パッケージの展開、その他の操作など、Thing Group に対する操作を含む)、プロパティ変更の頻度、その操作、およびランタイムでのプラットフォームのリソース (メモリ、CPU 消費など) への影響に注意してください。この頻度が高いと、使用可能なリソースで購読が特定の操作を実行するのが困難な場合があります。
例: 表示権限管理のための Thing Group の使用
Thing Group を使用して表示アクセス許可を管理できます。この例では、West Coast ユーザーグループは West coast の Thing にのみアクセスでき、East coast ユーザーグループは East coast の Thing にのみアクセスできます。
2. ユーザーグループを作成します。
3. East coast 組織単位と West coast 組織単位を含む組織を作成します。組織単位のメンバーとしてユーザーグループおよびユーザーを追加します。
4. 各 Thing Group に、表示アクセス許可を割り当てます。
|
必要に応じて、デザインタイムアクセス許可とランタイムアクセス許可も設定する必要があります。これらのアクセス許可は Thing Group からは設定できません。
|
5. 購読とサービスを使用して、Thing Group のメンバーとして Thing を追加または除去します。Thing Group のメンバーシップを管理する購読、サービス、プロパティ (温度のように頻繁に変化するテレメトリデータではなく、場所や顧客など、めったに変化しない半静的プロパティ) を定義するには、Thing Shape を使用することをお勧めします。
その他の機能での Thing Group の使用
以下の例は、ほかの機能で Thing Group を使用する方法を示しています。この例では、売上が発生して CRM システム (Salesforce など) に記録されると、ThingWorx で新しい Thing がプログラムによって作成され、適切な Thing Group に追加されることで、割り当てられているユーザーとユーザーグループがアセットを表示できるようになります。
1. Thing が作成または更新された後で Thing を Thing Group にグループ化するときに使用する購読、サービス、およびプロパティを Thing Shape に設定します。
2. ThingWorx Flowを使用して、CRM システムを ThingWorx に接続します。スマート接続された製品の新規売上が発生するたびに、プロパティ値が定義された適切な Thing Shape と Thing Template を使用して ThingWorx で Thing を作成できます。
3. 表示アクセス許可を割り当てるユーザーグループとランタイムアクセス許可およびデザインタイムアクセス許可を割り当てるユーザーグループを設定します。適切な表示ユーザーグループを組織単位に追加します。ユーザーを適切なユーザーグループに追加します。