动态服务
ThingWorx Platform 可通过动态数据服务构建可扩展解决方案。其中动态服务用于选择要在运行时执行服务的实体。在 Mashup Builder 中,可使用“添加数据”对话框将动态服务添加到混搭。添加动态服务时,EntityName 属性会显示在“数据”面板的实体名称下。
使用“实体名称”属性可指定要在其上执行动态服务的实体。执行动态服务时,每次更改此属性后都会返回不同的结果。相反,如果添加非动态服务,则只能在当前实体上执行该服务。
例如,您将用于从传感器事物检索数据的动态服务添加到“数据”面板。而在运行时,您将其他传感器事物分配给了“实体名称”属性。这样,即可针对其他传感器事物执行服务,无需添加到“数据”面板。您可以将动态服务数据绑定到“图表”小组件并显示。
| 事物只能执行已定义或从其模板继承的服务。例如,您可以从使用常用事物模板定义的事物实例中检索数据。添加数据时,选择包含要在运行时动态分配的所有事物的事物模板或事物形态。 |
例如,您可以从使用常用事物模板定义的事物实例中检索数据。
1. 在
“数据”面板中,单击
。
a. 在“添加数据”对话框中,选择事物模板。
b. 选择 GetImplementingThings 服务。
c. 选中“在加载时执行”复选框,然后单击“完成”。
2. 添加由事物模板定义的事物实例。
a. 在“添加数据”对话框中,选择事物实体。
b. 选中“显示动态服务”复选框。
c. 选择 GetProperties 服务,然后单击“完成”。
3. 将 SelectedRows 数据的 name 属性绑定到动态事物模板的 EntityName 属性。
• 可使用“数据属性”面板中的 SelectedRowsChanged 事件来触发 GetProperties 服务。
• 要从 GetImplementingThings 服务中选择实体名称,使用“列表”或“下拉列表”小组件。在更改 SelectedRows 属性后,GetProperties 数据服务会返回指定事物的数据。
• 要基于已返回事物的运行时值应用数据筛选器,可使用
QueryImplementingThingsWithData 服务。有关此服务的详细信息,请参阅
使用事物模型。