通过 PTC 软件下载页面部署构建基块
在此部署方案中,数据库和 ThingWorx 将安装于系统上,随后可通过从 PTC 软件下载页面下载构建基块并将扩展包导入 ThingWorx 的方式来将构建基块部署到 ThingWorx 实例。
完成下文中的操作步骤:
先决条件
在部署构建基块之前,请完成以下先决条件:
查看构建基块系统要求,包括兼容的 ThingWorx 版本。有关详细信息,请参阅系统要求
查看兼容的 ThingWorx 版本的 ThingWorx 系统要求。有关详细信息,请参阅 ThingWorx 帮助中心的系统要求
安装兼容的 ThingWorx 版本。有关详细信息,请参阅安装 ThingWorx
配置 ThingWorx 以启用扩展导入。有关详细信息,请参阅 ThingWorx 帮助中心的导入扩展
请确保将 ThingWorx 服务器时区设置为 UTC。有关详细信息,请参阅 ThingWorx 帮助中心内的安装 Java、Apache Tomcat 和 ThingWorx
应用许可证。有关详细信息,请参阅 ThingWorx 帮助中心的 ThingWorx 许可
如果要在 Linux 上安装数据库,请先安装 sqlcmd 工具。
安装 Microsoft SQL Server Management Studio。有关详细信息,请参阅 https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
更新脚本超时设置
要更新脚本超时设置,ThingWorx 管理员必须完成以下步骤:
1. ThingWorx 服务器上,导航至 ThingWorxPlatform 文件夹。
2. 在文本编辑器中打开 platform-settings.json 文件。
3. 找到 ScriptTimeout 设置并将其值更新为 1200。
4. 保存并关闭 platform-settings.json 文件。
5. 重新启动 ThingWorx 服务器。
* 
如果脚本日志中出现如下所示的消息,请重复上述步骤以进一步增加 ScriptTimeout 设置的值:
[message: Execution of Script terminated after : 1200 seconds. Timeout configured for 1200 seconds.]
有关详细信息,请参阅 ThingWorx 帮助中心内的 platform-settings.json 配置细节
更新会话超时设置
默认情况下,空闲用户会话将在 30 分钟后超时。
要更改会话超时设置,ThingWorx 管理员必须完成以下步骤:
1. ThingWorx 中,导航至“系统” > “子系统”
2. 在编辑模式下打开 UserManagementSubsystem
3. “配置”下,更改“空闲会话超时 (分钟)”设置。
4. 单击“保存”
5. 重新启动 ThingWorx 服务器。
安装 MS SQL JDBC 驱动程序
如果将 ThingWorx 实例配置为以 PostgreSQL 作为持久化方案提供工具,那么要想安装 MS SQL JDBC 驱动程序,请完成以下步骤。如果将 ThingWorx 实例配置为以 MS SQL 作为持久化方案提供工具,请跳至下一节。
1. 通过以下链接,下载与 JRE11 兼容的 Microsoft JDBC Driver 7.4.1 for SQL Server 驱动程序版本:https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server-support-matrix?view=sql-server-ver15#sql-version-compatibility
2. 将 JDBC JAR 文件复制到 Tomcat 安装的 lib 目录中:(<TOMCAT_HOME>/lib)。
3. 重新启动 Tomcat 服务器以加载 JDBC 驱动程序,使其可在 ThingWorx 使用。
创建构建基块数据库和数据库用户
请完成以下步骤:
1. 在主数据库中为构建基块数据库用户创建登录名和密码。请遵照针对数据库的密码复杂性建议来创建密码。
对于 Windows,在 Microsoft SQL Server Management Studio 的查询编辑器中使用 Transact-SQL 命令:
CREATE LOGIN <bbadmin> WITH PASSWORD = '<password>';
在上述命令中,使用构建基块数据库用户的登录名和密码替换 <bbadmin><password>
对于 Linux:
1. 在 Linux 客户端中打开命令提示符。
2. 使用以下命令在 SQL Server 上创建登录:
sqlcmd –S <database-server-name> -U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create login <bbadmin> with password = '<bbadmin-password>'" \
GO; \
exit
在上述命令中,使用数据库服务器名称替换 <database-server-name>,使用 SQL 管理员用户名和密码分别替换 <sql-administrator-username><sql-administrator-password>,以及使用构建基块数据库用户的登录名和密码分别替换 <bbadmin><bbadmin-password>
2. 创建构建基块将使用的 Microsoft SQL Server (MSSQL) 数据库。
对于 Windows,在 Microsoft SQL Server Management Studio 的查询编辑器中使用 Transact-SQL 命令:
CREATE DATABASE <bbdb> COLLATE SQL_Latin1_General_CP1_CI_AS;
ALTER DATABASE <bbdb> SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE <bbdb> SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE <bbdb> SET ARITHABORT ON;
在上述命令中,使用数据库名称替换 <bbdb>
对于 Linux:
1. 在 Linux 客户端中打开命令提示符。
2. 使用以下命令创建 SQL Server 数据库,并使用数据库服务器名称以及 SQL 管理员用户名和密码分别替换相关变量:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create database <bbdb> COLLATE SQL_Latin1_General_CP1_CI_AS; ALTER DATABASE <bbdb> SET READ_COMMITTED_SNAPSHOT ON; ALTER DATABASE <bbdb> SET ALLOW_SNAPSHOT_ISOLATION ON;ALTER DATABASE <bbdb> SET ARITHABORT ON"
在上述命令中,使用数据库服务器名称替换 <database-server-name>,使用 SQL 管理员用户名和密码分别替换 <sql-administrator-username><sql-administrator-password>,以及使用数据库名称替换 <bbdb>
3. 针对在步骤 1 中创建的登录名创建数据库用户。使用数据库用户在登录时所用的登录名。
对于 Windows,在针对步骤 2 中所创建的数据库打开的 Microsoft SQL Server Management Studio 查询编辑器中使用 Transact-SQL 命令:
CREATE USER <bbadmin> FOR LOGIN <bbadmin>;
ALTER ROLE [db_owner] ADD MEMBER <bbadmin>;
在上述命令中,使用步骤 1 中创建的登录名替换 <bbadmin>
对于 Linux:
1. 在 Linux 客户端中打开命令提示符。
2. 使用以下命令为构建基块数据库创建数据库用户,并使用数据库服务器名称以及 SQL 管理员用户名和密码分别替换相关变量:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "use <bbdb>; create user <bbadmin> for login <bbadmin>;ALTER ROLE [db_owner] ADD MEMBER <bbadmin>"
在上述命令中,使用数据库服务器名称替换 <database-server-name>,使用 SQL 管理员用户名和密码分别替换 <sql-administrator-username><sql-administrator-password>,使用数据库名称替换 <bbdb>,以及使用步骤 1 中创建的登录名替换 <bbadmin>
通过软件下载页面下载构建基块
请完成以下步骤:
1. 导航至 PTC 软件下载页面,URL 如下:https://support.ptc.com/appserver/auth/it/esd/index.jsp
2. 选择 ThingWorx Foundation
3. 展开以下文件夹:ThingWorx Foundation > Release 9.3 > ThingWorx Manufacturing Common 1.1 > “最近的日期代码”
4. 下载 MFG-Common-1-1 扩展包 ZIP 文件。
导入构建基块
导入构建基块前,ThingWorx 管理员必须完成以下步骤:
1. 请确保 ThingWorx Composer 中已安装许可证。有关详细信息,请参阅 PTC 知识库中的此技术支持文章
2. 在 ThingWorx Composer 中,导航至“导入/导出” > “导入”
3. “导入”窗口中,从“导入选项”列表中选择“扩展”
4. “文件名”下面,单击“浏览”。导航至上一节下载的扩展包 ZIP 文件并将其选中。
5. 单击“导入”。导入完成后,单击“关闭”
6. 要在导入完成后查看构建基块扩展,请导航至“管理” > “安装的扩展”
运行 InitializeSolution 服务
运行 InitializeSolution 服务,以配置要连接到构建基块数据库的数据库事物,创建数据库表,并为构建基块注册管理器事物。
要运行此服务,ThingWorx 管理员必须完成以下步骤:
1. ThingWorx Composer 中,导航至 PTC.Base.Manager 事物。
2. 获取配置参数:
a. “服务”下,查找并执行 GetSolutionDeploymentConfigurationParameters 服务。服务输出为 JSON,其中包含 InitializeSolution 服务所需的配置参数 (具体根据所提供的构建基块集而动态变化)。服务输出 JSON 如下所述:
{
"databaseUser": {
"types": [
"STRING"
],
"description": "Name of the database user used for DPM database Thing",
"optional": false
},
"twxAdminUserName": {
"types": [
"STRING"
],
"description": "Thingworx Admin Username",
"optional": false
},
"overrideComponentDeploymentState": {
"types": [
"BOOLEAN"
],
"description": "If true, the current component deployment state is ignored and the DeployComponent service will be rerun.",
"optional": true
},
"twxAdminPassword": {
"types": [
"STRING"
],
"description": "Thingworx Admin Password",
"optional": false
},
"databasePassword": {
"types": [
"STRING"
],
"description": "Password of the database user used for DPM database Thing",
"optional": false
},
"twxURL": {
"types": [
"STRING"
],
"description": "Thingworx URL",
"optional": false
},
"databaseJDBCString": {
"types": [
"STRING"
],
"description": "JDBC Connection String for the DPM database Thing",
"optional": false
},
"databaseThing": {
"types": [
"STRING"
],
"description": "The default database thing (PTC.DBConnection.MSSQLDatabase)",
"optional": true
}
}
b. 复制在服务输出中返回的 JSON,并将其粘贴到文本编辑器中。
c. 编辑 JSON,使用特定于站点的值替换各个配置参数的大括号之间的内容。
databaseUser - 具有系统管理权限的数据库用户的登录名。
twxAdminUserName - ThingWorx 管理员用户的名称。
twxAdminPassword - ThingWorx 管理员用户的密码。
databasePassword - 具有系统管理权限的数据库用户的登录密码。
databaseJDBCString - 构建基块数据库的 JDBC 连接字符串。
twxURL - ThingWorx 实例的 URL。
databaseThing - 默认数据库事物 (PTC.DBConnection.MSSQLDatabase)。
以下示例是经过编辑的 JSON:
{
"databaseUser": "<bbadmin>",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "<twxadminpassword>",
"databasePassword": "<password>",
"databaseJDBCString": "jdbc:sqlserver://<databaseHost>:<databasePort>;databaseName=<bbdatabaseName>",
"twxURL": "http://<host>:<port>/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
以下示例是经过编辑且具有实际值的 JSON:
{
"databaseUser": "BBadmin",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "ThingWorx!BB9876",
"databasePassword": "945DaTaBase!39525",
"databaseJDBCString": "jdbc:sqlserver://localhost:1433;databaseName=dpmdb",
"twxURL": "http://MyCompany.com:8080/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
3. “服务”下,查找并执行 InitializeSolution 服务,并将步骤 2.c 中编辑的 JSON 作为此服务的 deploymentConfig 输入参数。
此服务完成后,输出会显示一个信息表,其中列出已部署的构建基块及其配置状况:ConfiguredNot ConfiguredError。如果构建基块具有 ErrorNot Configured 状况,请完成以下故障排除步骤:
a. 请确保 JSON 中指定的数据库凭据是有效的,然后再执行 InitializeSolution 服务。
b. 如果构建模块在服务输出中仍具有 ErrorNot Configured 状况,请审阅 ThingWorx 应用程序和脚本错误日志,并解决在此发现的任何错误。然后执行 InitializeSolution 服务。
c. 如果构建模块在服务输出中仍具有 ErrorNot Configured 状况,请更新 JSON 以在其中包含以下内容,然后执行 InitializeSolution 服务:
"overrideComponentDeploymentState": true
运行 UpdateDBSchema 服务
运行 UpdateDBSchema 服务以将必要约束应用于数据库表。
要运行此服务,ThingWorx 管理员必须完成以下步骤:
1. ThingWorx Composer 中,导航至 PTC.DBConnection.Manager 事物。
2. “服务”下,查找并执行 UpdateDBSchema 服务。
执行完服务后,服务输出窗格中会出现一个显示数据库更新情况的信息表。
这对您有帮助吗?