Implementación de bloques de creación mediante Solution Central
En este escenario, la base de datos y ThingWorx se instalan en el sistema y se implementan los bloques de creación en la instancia de ThingWorx con Solution Central.
Complete estos pasos en las secciones siguientes:
Requisitos previos
Antes de implementar los bloques de creación, complete los siguientes requisitos previos:
Revise los requisitos del sistema de bloques de creación, incluidas las versiones de ThingWorx que son compatibles. Para obtener más información, consulte Requisitos del sistema.
Revise los requisitos del sistema ThingWorx para obtener una versión compatible de ThingWorx. Para obtener más información, consulte Requisitos del sistema en el Centro de ayuda de ThingWorx.
Instale una versión compatible de ThingWorx. Para obtener más información, consulte Instalación de ThingWorx.
Configure ThingWorx para que permita la importación de extensiones. Para obtener más información, consulte Importación de extensiones en el Centro de ayuda de ThingWorx.
Asegúrese de que la zona horaria del servidor de ThingWorx esté definida en UTC. Para obtener más información, consulte Instalación de Java, Apache Tomcat y ThingWorx en el Centro de ayuda de ThingWorx.
Aplique la licencia. Para obtener más información, consulte Licencias de ThingWorx Platform en el Centro de ayuda de ThingWorx.
Obtenga acceso a Solution Central. Además de utilizarse para implementar los bloques de creación, Solution Central es la herramienta recomendada para mover la implementación y las personalizaciones entre entornos de ThingWorx, por ejemplo, desde un entorno de prueba a un entorno de producción. Para obtener más información, consulte ThingWorx Solution Central Help Center.
Si está instalando la base de datos en Linux, instale la herramienta sqlcmd.
Instale Microsoft SQL Server Management Studio. Para obtener más información, consulte https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15.
Actualizar la configuración del tiempo de espera del script
Para actualizar la configuración de tiempo de espera del script, un administrador de ThingWorx debe completar los siguientes pasos:
1. En el servidor de ThingWorx, acceda a la ubicación de la carpeta ThingWorxPlatform.
2. Abra el fichero platform-settings.json en un editor de texto.
3. Busque la configuración de ScriptTimeout y actualícela a 1200.
4. Guarde y cierre el fichero platform-settings.json.
5. Reinicie el servidor de ThingWorx.
* 
Si aparece un mensaje similar al siguiente en el registro de script, repita los pasos anteriores para aumentar aún más la configuración de ScriptTimeout:
[message: Execution of Script terminated after : 1200 seconds. Timeout configured for 1200 seconds.]
Para obtener más configuración, consulte platform-settings.json Configuration Details en el Centro de ayuda de ThingWorx.
Actualizar la configuración de tiempo de espera de sesión
Por defecto, el tiempo de espera de las sesiones de usuario inactivas caduca a los 30 minutos.
Para cambiar la configuración de tiempo de espera de la sesión, un administrador de ThingWorx debe completar los siguientes pasos:
1. En ThingWorx, navegue hasta Sistema > Subsistemas.
2. Abra UserManagementSubsystem en el modo de edición.
3. En Configuración, cambie la configuración de Tiempo de espera de sesión inactiva (min).
4. Pulse en Guardar.
5. Reinicie el servidor de ThingWorx.
Instalar el controlador MS SQL JDBC
Si la instancia de ThingWorx está configurada con PostgreSQL como el proveedor de persistencia, complete los siguientes pasos para instalar el controlador MS SQL JDBC. Si la instancia de ThingWorx está configurada con MS SQL como el proveedor de persistencia, pase a la siguiente sección.
1. Descargue la versión de JRE11 compatible del controlador Microsoft JDBC Driver 7.4.1 for SQL Server desde el siguiente vínculo: 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. Copie el fichero JDBC JAR en el directorio lib de la instalación de Tomcat: (<CARPETA_PRINCIPAL_TOMCAT>/lib).
3. Reinicie el servidor de Tomcat para cargar el controlador JDBC y hacer que esté disponible para ThingWorx.
Creación de la base de datos del bloque de creación y el usuario de la base de datos
Complete los pasos siguientes:
1. Cree el inicio de sesión y la contraseña del usuario de la base de datos del bloque de creación en la base de datos maestra. Siga las recomendaciones de complejidad de la contraseña para la base de datos.
Para Windows, con el comando Transact-SQL del editor de consultas de Microsoft SQL Server Management Studio:
CREATE LOGIN <bbadmin> WITH PASSWORD = '<password>';
En el comando anterior, sustituya <bbadmin> y <password> por el nombre y la contraseña del usuario de la base de datos del bloque de creación.
Para Linux:
1. Abra el símbolo del sistema en el cliente Linux.
2. Utilice los siguientes comandos para crear la conexión en 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
En los comandos anteriores, sustituya <database-server-name> por el nombre del servidor de base de datos, <sql-administrator-username> y <sql-administrator-password> por el nombre de usuario y la contraseña del administrador de SQL, y <bbadmin> y <bbadmin-password> por el nombre y la contraseña del usuario de la base de datos del bloque de creación.
2. Cree la base de datos de Microsoft SQL Server (MSSQL) que utilizarán los bloques de creación.
Para Windows, con los comandos Transact-SQL del editor de consultas de Microsoft SQL Server Management Studio:
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;
En los comandos anteriores, sustituya <bbdb> por el nombre de la base de datos.
Para Linux:
1. Abra el símbolo del sistema en el cliente Linux.
2. Utilice los siguientes comandos para crear la base de datos de SQL Server, sustituyendo las variables por el nombre del servidor de la base de datos y el nombre de usuario y la contraseña del administrador de 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"
En el comando anterior, sustituya <database-server-name> por el nombre del servidor de la base de datos, <sql-administrator-username> y <sql-administrator-password> por el nombre de usuario y la contraseña del administrador de SQL, y <bbdb> por el nombre de la base de datos.
3. Cree un usuario de la base de datos para la conexión creada en el paso 1. Utilice el mismo nombre para el usuario de la base de datos que se utilizó para el inicio de sesión.
Para Windows, con el comando Transact-SQL del editor de consultas de SQL Server Management Studio abierto para la base de datos que se ha creado en el paso 2:
CREATE USER <bbadmin> FOR LOGIN <bbadmin>;
ALTER ROLE [db_owner] ADD MEMBER <bbadmin>;
En el comando anterior, sustituya <bbadmin> por el nombre del inicio de sesión que se ha creado en el paso 1.
Para Linux:
1. Abra el símbolo del sistema en el cliente Linux.
2. Utilice los siguientes comandos para crear un usuario de la base de datos para la base de datos del bloque de creación, sustituyendo las variables por el nombre del servidor de base de datos y el nombre de usuario y la contraseña del administrador de 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>"
En los comandos anteriores, sustituya <database-server-name> por el nombre del servidor de la base de datos, <sql-administrator-username> y <sql-administrator-password> por el nombre de usuario y la contraseña del administrador de SQL, <bbdb> por el nombre de la base de datos y <bbadmin> por el nombre del inicio de sesión que se ha creado en el paso 1.
Implementar los bloques de creación mediante Solution Central
* 
Si se implementan bloques de creación en un sistema HA de ThingWorx, se recomienda reducir el clúster a una sola instancia, instalar las extensiones y, a continuación, aplicar una escala a la copia de seguridad del clúster. Esto ofrecerá un mejor rendimiento e impedirá problemas de coherencia eventuales, ya que cada servidor cargará las nuevas extensiones a medida que se inicien. Para obtener más información, consulte Gestión de extensiones de ThingWorx en la alta disponibilidad de ThingWorx en el Centro de ayuda de ThingWorx.
Para implementar los bloques de creación en la instancia de ThingWorx mediante Solution Central, un administrador de ThingWorx debe completar los siguientes pasos:
1. Asegúrese de que la licencia se ha instalado en ThingWorx Composer. Para obtener más información, consulte este artículo de soporte técnico en la base de técnicas prácticas de PTC.
2. Configure Solution Central. Para obtener más información, consulte Getting Started with Using Solution Central en el Centro de ayuda de Solution Central.
3. Registre la instancia de ThingWorx en Solution Central. Para obtener más información, consulte Register Your ThingWorx Instance en el Centro de ayuda de Solution Central.
4. En ThingWorx Composer, navegue hasta Gestionar > Solution Central > Soluciones PTC.
5. Seleccione la casilla de los bloques de creación que desea implementar. Están disponibles los siguientes conjuntos de bloques de creación:
Manufacturing Building Blocks
6. Pulse en Implementación de una sola pulsación. Se abre una ventana en la que se enumeran todas las extensiones que se van a implementar.
7. Pulse en Implementar todo.
Se descargan e instalan las extensiones. Este proceso puede tardar unos minutos. Se notificará al usuario cuando se complete el proceso.
Para obtener más información, consulte ThingWorx Solution Central Help Center.
Ejecutar el servicio InitializeSolution
Ejecute el servicio InitializeSolution para configurar la cosa de base de datos para que se conecte a la base de datos de los bloques de creación, crear tablas de base de datos y registrar las cosas del administrador para los bloques de creación.
Para ejecutar el servicio, un administrador de ThingWorx debe completar los siguientes pasos:
1. En ThingWorx Composer, navegue hasta la cosa PTC.Base.Manager.
2. Obtenga los parámetros de configuración:
a. En Servicios, busque y ejecute el servicio GetSolutionDeploymentConfigurationParameters. La salida de servicio es un JSON que contiene los parámetros de configuración necesarios para el servicio InitializeSolution, que se basa de forma dinámica en el conjunto de bloques de creación que están presentes. El JSON de salida de servicio es similar al siguiente:
{
"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. Copie el JSON devuelto en la salida del servicio y péguelo en un editor de texto.
c. Edite el JSON, sustituyendo el contenido entre las llaves de cada parámetro de configuración por el valor específico del sitio.
databaseUser: el nombre del inicio de sesión del usuario de la base de datos con derechos de administración del sistema.
twxAdminUserName: el nombre del usuario administrador de ThingWorx.
twxAdminPassword: la contraseña del usuario administrador de ThingWorx.
databasePassword: la contraseña del inicio de sesión del usuario de la base de datos con derechos de administración del sistema.
databaseJDBCString: la cadena de conexión JDBC para la base de datos de los bloques de creación.
twxURL: el URL de la instancia de ThingWorx.
databaseThing: la cosa de base de datos por defecto (PTC.DBConnection.MSSQLDatabase).
A continuación se muestra un ejemplo del JSON editado:
{
"databaseUser": "<bbadmin>",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "<twxadminpassword>",
"databasePassword": "<password>",
"databaseJDBCString": "jdbc:sqlserver://<databaseHost>:<databasePort>;databaseName=<bbdatabaseName>",
"twxURL": "http://<host>:<port>/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
A continuación se proporciona un ejemplo del JSON editado con valores reales:
{
"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. En Servicios, busque y ejecute el servicio InitializeSolution mediante el JSON editado del paso 2.c como el parámetro de entrada deploymentConfig para el servicio.
Cuando se completa el servicio, en la salida se muestra una infotable que enumera los bloques de creación que se han implementado y su estado de configuración: Configured, Not Configured o Error. Si algún bloque de creación tiene un estado Error o Not Configured, complete los siguientes pasos de resolución de problemas:
a. Asegúrese de que las credenciales de la base de datos especificadas en el JSON sean válidas y luego ejecute el servicio InitializeSolution.
b. Si algún bloque de creación todavía tiene un estado Error o Not Configured en la salida de servicio, revise los registros de errores del script y la aplicación ThingWorx y resuelva los errores que encuentre. Después ejecute el servicio InitializeSolution.
c. Si algún bloque de creación todavía tiene un estado Error o Not Configured en la salida de servicio, actualice el JSON para incluir lo siguiente y ejecutar el servicio InitializeSolution:
"overrideComponentDeploymentState": true
Ejecutar el servicio UpdateDBSchema
Ejecute el servicio UpdateDBSchema para aplicar las restricciones necesarias a las tablas de base de datos.
Para ejecutar el servicio, un administrador de ThingWorx debe completar los siguientes pasos:
1. En ThingWorx Composer, navegue hasta la cosa PTC.DBConnection.Manager.
2. En Servicios, busque y ejecute el servicio UpdateDBSchema.
Cuando el servicio se ha completado, se muestra una infotable que muestra las actualizaciones de la base de datos en el panel de salida del servicio.
¿Fue esto útil?