标准设计模式
标准设计模式提供了开发构建基块的最简单方法,使其既符合构建基块的结构,又能够让解决方案的其余部分发现该构建基块。这是开发构建基块时所使用的最常见的设计模式。这种类型的构建基块可包含 UI 元素以及业务逻辑和数据存储。这种构建基块非常适合希望在 PTC 提供的内容之外另创建自有功能的现场团队或客户使用。
下图表示将一组实体视为构建基块所需满足的最基本要求。
图表中的空心实线箭头 (
) 指示实体从箭头所指向的实体扩展而来,而空心虚线箭头 (
) 指示实体用来实现箭头所指向的实体。
必需实体
标准设计模式需要用到以下实体:
• 项目 - 包含构建基块实体的 ThingWorx 项目实体。根据命名约定,建议在构建基块所有实体的名称中包括项目名称。 例如,如果项目被命名为 PTC.BuildingBlock,则构建基块中所有实体的名称均以项目名称开头,比如:PTC.BuildingBlock.EntryPoint、PTC.BuilingBlock.Management_TS 等。
• 入口点 - 继承自 PTC.Base.ComponentEntryPoint_TT 事物模板,此实体包含所有构建基块元数据,如名称、说明、版本和依存构建基块列表等。每个构建基块均继承自其自身的入口点事物模板的 PTC.Base.ComponentEntryPoint_TT 事物模板,例如 PTC.BuildingBlock.EntryPoint_TT。通过此事物模板创建入口点事物,例如 PTC.BuildingBlock.EntryPoint。在 ThingWorx 服务器上首次部署构建基块时,可通过覆盖入口点事物的 DeployComponent 服务来执行操作。
• 管理器 - 构建基块管理器是构建基块的主要服务层,可为构建基块提供多种功能。首先,管理器用作调用至构建基块的实体的抽象层。其次,管理器用于配置菜单项、内置混搭以及要使用哪个管理器 (如果定义了多个管理器)。 每个构建基块都应有管理器事物模板,此类事物模板从
PTC.Base.CommonManager_TT 事物模板扩展而来,例如
PTC.BuildingBlock.Manager_TT 管理器事物模板。管理器本身是基于构建基块管理器事物模板的事物。管理器事物模板还可实现事物形态 (
PTC.BuildingBlock.Management_TS)。此事物形态应包含构建基块所需的所有服务。对于由 PTC 开发的构建基块,可将这些服务作为自定义进行覆盖,这样解决方案开发人员便能够根据各自的需求覆盖默认服务。有关详细信息,请参阅
自定义服务。
可选实体
下图显示了可包括在标准设计模式中的可选实体。下图中,PTC.MfgModel 构建基块用作具有型号、资产或设备层次结构的构建基块示例,其事物模板在标准设计模式构建基块中实现了模型逻辑事物形态。带有虚线的实体是此模式中包括的可选实体,用于实现如下所述的特定目的。其他 ThingWorx 实体也可包括在标准设计模式中,但这些实体具有特定的含义。
图表中的空心实线箭头 (
) 指示实体从箭头所指向的实体扩展而来,而空心虚线箭头 (
) 指示实体用来实现箭头所指向的实体。
标准设计模式中包括以下可选实体:
• 安全实体 - 可以创建权限用户组,并将其用于为各个构建基块定义不同的权限。用户角色只是添加到各个权限用户组中的另一个用户组。
• 混搭 - 标准设计模式可将混搭作为构建基块功能的一部分进行添加。这些混搭可以是连接到主数据混搭的主混搭,也可以是由不同构建基块使用的内置混搭。具体由构建基块开发人员确定在哪个构建基块中使用哪些功能。
• 模型逻辑实体 - 模型逻辑事物形态可供混搭或其他组件使用,旨在通过使用 ThingWorx 所需的组织来增强设备的组织安全性。如果用例调用单台设备的可见性控制,则需要用到模型逻辑事物形态。模型逻辑事物形态中包含的服务适用于设备层次实体。这些服务提供了封装服务,可通过构建基块的管理事物形态对相应的已配置管理器进行调用。所有管理器都在 PTC.BaseManager 事物的 DefaultGlobalManagerConfiguration 配置表中进行了注册。 管理器也可以在实现 PTC.Base.ConfigManagement_TS 事物形态 (例如构建基块的管理器事物,或基于实现事物形态的事物模板 (例如 PTC.MfgModel.DefaultWorkUnit_TT) 的设备型号事物) 的任何实体的 ManagerConfiguration 配置表中配置。 这样不同的模型就可以使用不同的管理器。例如,两个站点可以有不同的管理器以供不同的模型使用,因为这些模型从不同的源获取数据。
当某个服务引用其他管理器时,该服务首先会在调用该服务的实体的 ManagerConfiguration 配置表中进行查找,以查看是否存在为引用的管理器配置的条目。 如果该服务在此找不到任何条目,则该服务会在 PTC.Base.Manager 事物的 DefaultGlobalManagerConfiguration 配置表中进行查找。