ダイナミックサービス
ThingWorx Platform では、ダイナミックデータサービスを使用してスケーラブルなソリューションを構築できます。ダイナミックサービスでは、ランタイムでサービスを実行するエンティティを選択できます。Mashup Builder で、「データを追加」ダイアログボックスを使用して、ダイナミックサービスをマッシュアップに追加できます。ダイナミックサービスを追加すると、「データ」パネルのエンティティ名の下に EntityName プロパティが表示されます。
EntityName プロパティを使用して、ダイナミックサービスの実行対象となるエンティティを指定します。このプロパティを変更すると、ダイナミックサービスを実行したときに異なる結果が返されます。これに対し、非ダイナミックサービスを追加した場合、現在のエンティティに対してのみ実行できます。
たとえば、センサー Thing から「データ」パネルにデータを読み込むダイナミックサービスを追加します。ランタイムに、EntityName プロパティに別のセンサー Thing を割り当てます。これにより、「データ」パネルに追加することなく、別のセンサー Thing に対してサービスを実行できます。ダイナミックサービスのデータをチャートウィジェットにバインドして表示できます。
| Thing はそれ自体に定義されているかそのテンプレートから継承されたサービスのみを実行できます。たとえば、共通の Thing Template を使用して定義された Thing インスタンスからデータを読み込むことができます。データを追加する場合、ランタイムに動的に割り当てるすべての Thing が含まれている Thing Template または Thing Shape を選択します。 |
たとえば、共通の Thing Template を使用して定義された Thing インスタンスからデータを読み込むことができます。
1. 「データ」パネルで、
![](../../../../ThingWorx/images/MBCreateItem.png)
をクリックします。
a. 「データを追加」ダイアログボックスで、Thing Template を選択します。
b. GetImplementingThings サービスを選択します。
c. 「ロード時に実行」チェックボックスをオンにし、「完了」をクリックします。
2. Thing Template によって定義されている Thing インスタンスを追加します。
a. 「データを追加」ダイアログボックスで、Thing エンティティを選択します。
b. 「ダイナミックサービスを表示」チェックボックスをオンにします。
c. GetProperties サービスを選択し、「完了」をクリックします。
3. SelectedRows データの name プロパティを、動的 Thing Template の EntityName プロパティにバインドします。
• 「データプロパティ」パネルの SelectedRowsChanged イベントを使用して、GetProperties サービスをトリガーできます。
• GetImplementingThings サービスからエンティティ名を選択するには、リストウィジェットまたはドロップダウンウィジェットを使用します。SelectedRows プロパティが変わると、GetProperties データサービスは指定された Thing のデータを返します。
• 返された Thing のランタイム値に基づいたデータフィルタを適用するには、
QueryImplementingThingsWithData サービスを使用します。このサービスの詳細については、
Thing モデルの消費を参照してください。