ThingWorx是快速的,基于模型的应用程序开发平台。通过采用建模而非编码,内容开发人员能够专注于敏捷性和应用程序组合,而非调试、维护和更新代码。模型构建成为一组可重用的构建块来汇编新的应用程序。
在建立完模型之后,可以通过拖放混搭构建器将模型的数据、服务和功能汇入Web应用程序中。
1. IoT编程
编程规则和事务逻辑
在物联网(IoT)中,规则和事务逻辑的编程不同于使用SQL和数据库查询的传统过程编程模型/程序从头到尾遍历代码,同时将逻辑控制转移到应用程序的其他部分。所设计的系统可支持如下过程:
- 将数据存储到数据库中;
- 每晚针对新数据运行查询并应用事务逻辑;
- 将批处理操作的输出转储到数据库中;
- 运行记录所发生状况的报告
此过程并不适用IoT。“存储再查询”方法不够灵活且及时性差。您必须对事件做出实时反应。
分析需要
当将分析引擎用于IoT解决方案时,不仅可以获得历史日志,还可以更具历史记录介绍的模型对未来进行预测。
事务模型将资产上下文添加到分析中,其允许使用者根据模型中定义的设备类型来训练分析引擎。它提供了一个语义界面,可根据近实时数据分析生成资产警报或问题。
以事物为中心的语义层
ThingWorx在其模型中提供了一个语义层,但这并不意味着要以传统的编程方式对其进行使用。您需要考虑您事物和您的解决方案所需要的事物的特征。通过使用面向对象的ThingWorx模型,您可以将常用功能分解为更高级别的对象,将事物逻辑和功能封装在基本对象中,并在您的数字事物中继承这些基本对象。此过程创建了一个语义层(可帮助最终用户通过常见术语(如产品、客户或收入)自主访问数据的数据事物表示),从而允许您提出问题,如“Thing123,您最近两个小时的温度和位置历史记录是什么?”
可视化应用程序构建器
可视化应用程序构建器为使用以事物为中心的语义模型的结果提供了最终部分,并可用于快速应用程序开发。市场上有多种类型的用户界面 (UI) 呈现器。为了最大限度地提高构建 IoT 解决方案的速度和灵活性,您必须使用能够理解数据模型语义层并随数据模型的变化而随时调整的解决方案。
要快速利用模型的强大功能,您可以使用 ThingWorx Mashup Builder,为 Edge、云和事物模型提供层。其提供了专为 IoT 设计的可预先连接到事物模型的可视化小组件。通过 ThingWorx Mashup Builder,您可以使用拖放来创建用户界面页面而无需编码。快速应用程序开发 (RAD) 环境允许您更加快速地在用户界面上进行迭代。ThingWorx Platform 的独特价值在于其使用 属性、 服务和 事件的语义层快速直观地为桌面和移动设备创建现代应用程序。ThingWorx 的强大功能使您能够处理数十亿台连接设备所需的数亿个应用程序。
1.1 以事物为中心的查询方法与传统查询方法
在关系数据库中,物理资产记录在表格中。该表具有多个子表,其中包含关于资产的不同数据和可用于返回到资产表的外关键字。可以有多个层次的层次结构和关系。应用程序开发人员可针对数据库构建查询,使用标准 SQL 语法和各种 JOIN 和 WHERE 子句提问。
然后,您可以编写代码来处理来自查询的结果集。重复此过程便可构建属于您的解决方案。
构建模型时,ThingWorx 会动态展开 REST API 层以访问这些功能和函数。API 模式相对简单。如果您想要获得一份事物列表,则可询问:
https:<server>/Thingworx/Things
然后您便可得到一份可访问模型中所含事物的列表。如果键入:
https:<Server>/Thingworx/Things/<thingName>
则您将获得指定事物的属性、服务和其他功能的列表。您可以深入查看此列表,因为它是可浏览的名称空间。
1.2 模型试图控制器(MVC)
通过使用ThingWorx,您可充分利用模型视图控制器 (MVC) 模式。您可以为您的设备构建独立于其用户界面的逻辑模型。然后,您可以使用应用程序构建器构建一个视图。最后,连接 (或绑定) 模型和视图以生成控制器逻辑。
1.3 ThingWorx 事物模型的可视表示
1.4 使用事物模型
事物模型中的关系
事物形态和 事物模板共享常用的交互模式以分类、搜索和查找 事物。您可通过交互模型获取按类型或分类排列的资产列表。例如,您可以通过使用某实体的 QueryImplementingThings 服务来请求事物形态或事物模板,从而获取所有相同类型资产 (例如洗碗机型号) 的列表。如果使用 QueryImplementingThingsWithData,您将获取资产与资产列表的属性。还可以通过添加查询参数来提出更多您所感兴趣的问题。例如,您可能想要了解在距离波士顿 50 英里的范围内您的 Acme 经济型割草机所处的位置 (由事物模板定义)。您可能想要了解哪些割草机的引擎运行时大于 400 小时,因为该组割草机可能需要维修。“事物模型”通过内置的搜索功能启用了这些类型的查询。
搜索模型
搜索是ThingWorx 内的固有功能,可以执行以下操作:
• 根据模型名称、模型说明以及任何类型为 TEXT 的数据字段进行全文搜索
• 搜索模型中的关系 (如上文所述)
• 使用语义 标记搜索模型和运行时数据
词汇实体类型可用于定义语义标记。词汇可以有一个或多个标记。词汇由模型标记或数据标记定义,因为这些项可以单独存储。标记就如同可以使用搜索来检查模型和数据的附加索引。
词汇可以是动态的 (例如,使用不断扩展的工作过程代码标记机器数据) 或静态的 (例如工作订单的状态列表,该列表是描述预定义工作订单工作流的集合)。您可能希望设备中的全部停机事件都有一组特定的原因代码。您可以使用静态词汇作为一组预定义的原因。您可以根据原因代码对停机事件进行查询和计数。
模型标记可用于对实体定义进行分组。实体可以具有多个与其关联的标记。例如,您可以搜索属于指定应用程序的所有实体。
数据标记用于搜索运行时数据和操作。例如,您可能正在生产手机。每部手机都具有一个序列号,您可以通过该序列号追踪手机。当您在生产和装配环境中运行手机时,您将从工厂的机器和过程中收集数据。当手机移动到新的机器或工作中心时,在工作中心收集的数据可以用序列号进行标记。因此,您可以在整个过程中追踪手机的过程数据和状态。如果您稍后收到缺陷报告,则可以确定在新操作员操作的机器上处理的每部手机都具有相同的缺陷模式。标记将通过此方法使搜索数据变得更容易。
您还可以使用标记对资产进行逻辑分组,例如筛选地区服务中心负责的资产列表。
在 ThingWorx 中,搜索以多种方式呈现。您可以创建第三方信息库的索引,并将这些搜索包括在原生 ThingWorx 搜索中。您可以允许服务技术人员通过运行时搜索来搜索原因代码、产品手册等内容。
使用模型
由于模型的面向对象这一特性,您可以根据事物形态或事物模板创建用户界面,并根据用户交互在运行时传入资产。这种抽象是可能的,因为事物形态或事物模板的元数据与事物实例匹配。通过不同的方法来查询模型,您可以将一组资产传递到网页以供用户选择,或者传递给第三方应用程序进行使用。ThingWorx 中所有可用于 ThingWorx Mashup Builder 的 API 也可用于其他应用程序,并根据请求返回 JSON、XML、CSV 或 HTML。
由于 ThingWorx 的 API 是强类型化的,您可以在 Mashup Builder 中通过拖放来开发丰富的用户界面。
2. 在 ThingWorx 中导入和导出
2.1 导入和导出数据、实体和扩展
在 ThingWorx 中有多种选项可用于导入和导出数据和实体。根据您的起点,将包含数据和实体的扩展导入 ThingWorx 可能是您的流程中的第一步。流、值流、数据表、博客和 wiki (行条目、博客帖子、wiki 页面) 中的信息即为数据。仅可导入扩展。虽然 “导入/导出” 菜单 仅对管理员用户可见,但数据和实体可以由非管理员手动导入和导出。
对于较小的导入和导出,您可以使用**“自文件”导入并使用“至文件”**导出,原因在于您要导入或导出特定文件。
对于较大的导入和导出,您可以**“自 ThingWorx 存储”导入并导出“至 ThingWorx 存储”**。它们允许您从 ThingworxStorage/exports 文件夹异步导入或导出所有实体和数据。
有关 ThingWorx 中可用的所有导入和导出选项的更多信息,请参阅详细信息
2.2 导入扩展
扩展是由扩展文件和元数据文件组成的 zip 存档。要将扩展内容安装到 ThingWorx,您需要导入 zip 文件。通过将所有扩展 zip 文件打包一起导入一个 zip 文件夹中,您可以同时导入多个扩展。
2.3 手动导入和导出
2.4 导出和导入跟踪
3. Composer中的菜单
本部分介绍ThingWorx中的系统菜单
3.1 管理菜单
管理菜单包括信息库和扩展管理。
信息库
查看内容并管理文件信息库事物。可以执行以下操作:
-
创建、查看、上载、重命名、下载文件和文件夹并从信息库中将其删除;
-
将文件从本地位置上载到信息库
扩展
在此显示所有已安装扩展包的详细信息。也可以删除扩展。
3.2 管理文件信息库
可以在 Composer 的 管理菜单中查看并管理文件信息库。可以在 ThingWorx 中使用文件信息库上载和下载文件。
3.3 “监控菜单”
“监控”菜单仅拥有管理员权限的用户可见。此菜单提供了有关 ThingWorx 中所发生情况的详细信息。
日志
状况
警报
3.4 Analytics 菜单
可通过Analytics菜单轻松访问ThingWorx中的扩展分析功能。此扩展功能包括Analytics Builder 和 Analytics Manager 两个 ThingWorx Analytics Extension 元件。
此菜单仅对已将 ThingWorx Analytics Extension 导入到 ThingWorx 的用户可见。
3.5 用户菜单
首选项
更改密码
注销