目录
1.Introduction
2.ThingWorx Foundation Deployment Components
3.ThingWorx Deployment Architecture
4.Standard Deployment:ThingWorx Foundation on Azure
5.Other Deployment:ThingWorx Foundation on AWS
一.Introduction
本指南介绍了ThingWorx的组件部署。本指南提供了通用的ThingWorx参考架构。
挑战
1.管理上千个设备的内容吞吐量
2.提供对资产(任何东西,产线到智能产品)性能的实时可见性
3.为终端用户提供远程监控和诊断服务,包括远程故障排除和自动创建警报和故障单
4.在故障发生之前预测
二.ThingWorx Foundation 部署组件
1.User/Client Components
2.Thing/Device Components
3.Platform Components
4.Database Components
5.High-Availability Components
分为以下三层:
1.Client layer
2.Application layer
3.Data layer
- Things/Devices:这层包含things、devices、agents和assets。
- Users/Clients:包含用户访问ThingWorx平台的产品(web 浏览器)。
- Platform:Foundation,作为ThingWorx环境的中心。接收事物/设备层的内容,响应Client层的请求,分析内容以生成警报。
- Database:包含以下形式数据:
(1)运行时模型和它们的持久化属性
(2)表类型数据,运行时模型将其作为blogs、streams、value streams和data tables进行保存。
1.User/Client Components
用户通过Composer或者mashup访问ThingWorx平台,需要支持HTML/HTML5的浏览器。
2.Thing/Device Components
(1)ThingWorx WebSocket-based Edge Microserver
WS EMS支持在防火墙后的设备和数据存储安全的与ThingWorx server进行交流。WS EMS不只是一个简单的connector,它可以在edge端对数据进行智能预处理。
(2)ThingWorx Edge SDKs
SDK提供了一个框架,可以安全的从边缘设备发送数据到ThingWorx平台。这个框架包含类、对象函数、方法以及变量。
3.Platform Components
(1)ThingWorx Connection Server
这是一个服务器应用程序,可以方便地连接远程设备,并处理所有与设备之间的消息路由。其提供了一些功能,比如使用ThingWorx通信协议在WebSockets上实现可伸缩的连接。
PTC建议在超过25000个资产时使用connection server连接到Foundation server。
每个connection server建议同时支持100000个连接。
(2)Tomcat
(3)ThingWorx Foundation Server
Foundation为M2M以及IoT应用提供了完整的设计、运行以及智能环境。Foundation被设计为高效的创建、运行以及开发应用,这些应用连接了远端资产,例如设备、机器、传感器以及工业装备。
Foundation是ThingWorx环境的中心。当对资产建立模型后,它们就可以与Foundation进行交流。
(4)PTC System Monitor
这是一个独立的应用,用来监控系统性能。
4.Database Components
ThingWorx提供了可插拔的数据存储模型,允许用户选择对其合适的数据库。
Value Streams、Streams、Data Tables、Blogs、Wikis被定义为Data provider。Data Provider用来存储runtime data。runtime data是连接的设备用来存储它们的数据(例如温度、湿度)
Model Provider用来存储Things的元数据。Persistence Provider可以包含data provider以及model provider。
Data Provider有如下两点主要功能:
(1)维护ThingWorx模型。以下数据被建议用于model provider:
- H2和PosgreSQL
- SAP HANA
- SQL Server
(2)保存写入到value stream中的内容:
- 支持的数据库都可以保存value stream
- DSE系统可以获得更好的数据写入效率
5.High-Availability Components
高可用组件需要在application layer和database layer使用高可用组件才可以完成。对于ThingWorx的高可用,ZooKeeper是附加的组件。对于database layer的高可用,需要根据data provider的不同提供不同的高可用方案。
四.ThingWorx部署架构
(1)部署选项
(2)Foundatin相关架构
1.部署选项
(1)本地部署
(2)PTC云服务部署
使用托管服务部署,将ThingWorx部署在第三方服务器上,通常在私有云中。
2.ThingWorx Foundation架构
以下章节描述了从简单部署架构到全球联邦产品架构。
(1)ThingWorx Foundation 基础测试系统
下图展示了一个测试版的系统。所有组件都安装在一台server上。
(2)ThingWorx Foundation 基础生产系统
生产系统建议将数据库放在另一台server上。
(3)ThingWorx Foundation 大型生产系统
除了生产组件外,大型生产系统还包含ThingWorx Connection Server以及DSE集群。
DataStax系统将来自资产的数据到日其时间序列类型数据库。也就是记录在Value Stream中的内容。PostgreSQL存储model。
(4)ThingWorx Foundation 高可用系统
以下组件是必须的:
- 高可用负载均衡器,将请求转发到active的平台
- 主平台
- 备平台
-
三个ZooKeeper节点
五.ThingWorx Foundation在Azure上的部署
(1)Azure 组件及服务
(2)架构
(3)ThingWorx Azure IoT Connector 部署
1.Azure 组件及服务
(1)Regions
Azure资源物理位置。
(2)Availability Zones
region中的区域。用来支持高可用部署。
(3)Availability Sets
Availability Zones中分离的资源。
(4)Virtual Network
虚拟网络用于配置逻辑网络拓扑、定义子网、配置路由表和分配私有IP范围。
(5)VM instances
Azure中的虚拟机。存放ThingWorx平台中的关键组件,例如Connection Server,platform以及Zookeeper。
(6)Application Gateways
将流量引导不同的VM实例上。
(7)Azure databases
Azure提供的PaaS数据库。
(8)Azure Files
文件存储系统。
2.架构
(1)生产部署
3.ThingWorx Azure IoT Connector 部署
Azure IoT Hub Connector包含一个connection server、Azure IoT Hub Adapter以及一个Azure IoT Hub Adapter 扩展。这个包允许运行使用Azure SDK开发的应用程序的远程设备连接到ThingWorx平台。Azure IoT Hub Connector通过Azure系统路由来自设备的消息。也路由平台到设备的消息。
包含以下组件
(1)Azure IoT Components
- Azure IoT Hub——一种完全托管的服务,能够在数以百万计的物联网设备和后端解决方案(如ThingWorx)之间实现可靠和安全的双向通信。
(2)ThingWorx Azure IoT Hub Connector
Azure IoT Hub Connector整合了使用Azure IoT SDK的设备及Foundaion。其包含以下组件:
- 包含Azure IoT Hub Adapter的ThingWorx Connection Server,它用来处理Azure IoT Hub与Foundation之间的消息传递。
- 一个Azure IoT Hub Adapter Extension,支持ThingWorx中的Azure entities。
- ThingWorx Connection Server Extension,提供了Connection Services Hub。
安装Azure IoT Hub Connector后,可以使用Composer将Azure IoT entities导入,表示你的设备。或者,可以将Azure IoT Hub的数据导入到ThingWorx。当你配置了设备连接到Azure IoT Hub后,Azure IoT Hub Connector会侦测到数据,并将其推入Foundation。
相关架构
下图展示了一个高可用的Foundation部署,其利用了Azure IoT Connectors去访问Azure IoT Hub。这种部署方式有以下特性:
- 设备向Azure IoT Hub发送内容。
- ThingWorx Azure IoT Connectors与Azure IoT Hub进行通信并从设备读取消息,并将消息存储在ThingWorx中。
-
ThingWorx Azure IoT Connectors向active的Foundation server提交内容,通过Azure Application Gateway。
六.ThingWorx Foundation在AWS上的部署
(1)AWS 组件及服务
(2)架构
(3)ThingWorx AWS IoT Connector 部署
1. AWS 组件及服务
(1)Regions
AWS资源的物理位置。
(2)Availability Zones
region中的区域。用来支持高可用部署。
(3)Virtual Private Cloud
虚拟私有云(VPC)用于配置逻辑网络拓扑、定义子网、配置路由表和分配私有IP范围。
(4)EC2 Computing instances
EC2 Computing instances用于托管ThingWorx平台的关键组件:Connection Server以及platform。
(5)Application Load Balancing
应用程序负载平衡(ALB)自动将传入的应用程序流量分布到多个Amazon EC2实例。
(6)RDS databases
AWS提供的数据库。
(7)Elastic File System
AWS提供的文件系统。
2.架构
(1)生产系统部署
(2)企业部署
(3)高可用部署
3.ThingWorx AWS IoT Connector 部署
AWS IoT Connector提供了从Foundation到与AWS device cloud连接的远程设备间的连通性。
(1)组件
①AWS IoT Components
AWS IoT 为AWS云和其连接的事物(传感器、设备、智能应用)提供了安全、双向的连接。这允许您从多个设备收集、存储和分析遥测数据。
- IoT MQTT Broker——为物联网应用程序和AWS提供了一种安全机制,以便彼此发布和接收消息。可以使用MQTT协议或通过WebSocket之上的MQTT协议进行发布和订阅。也可以使用REST接口来发布。
- IoT Rule Engine——提供与其他AWS服务间的消息处理和集成。可以使用基于sql的语言从消息有效负载中选择数据、处理数据并将数据发送到其他服务,比如ThingWorx。
- Amazon Kinesis——允许您收集、处理和分析实时流数据,以获得及时的见解和对新信息的快速反应。
- Device Shadow——一个JSON文档,用来存储和检索thing的当前状态信息。
②ThingWorx AWS IoT Components
- ThingWorx AWS IoT Connector——包含了ThingWorx Foundation connection server、AWS IoT Adapter以及AWS IoT Adapter Extension。
(2)架构
下图是Foundation的高可用部署,其利用ThingWorx AWS IoT Connectots访问AWS IoT。
- 设备将数据发送到AWS IoT。
-
ThingWorx AWS IoT Connectors连接到Kinesis shard,从设备读取消息并存储。