Déploiement des blocs de construction à l'aide de Solution Central
Dans ce scénario, votre base de données et ThingWorx sont installés sur votre système, et vous déployez les blocs de construction sur votre instance ThingWorx à l'aide de Solution Central.
Effectuez les procédures des sections suivantes :
Configuration requise
Avant de déployer les blocs de construction, assurez-vous que les conditions requises suivantes sont remplies :
Examinez la configuration requise pour les blocs de construction, et notamment les versions de ThingWorx compatibles. Pour plus d'informations, consultez la rubrique Configuration requise.
Examinez la configuration requise de ThingWorx pour une version compatible de ThingWorx. Pour plus d'informations, consultez la rubrique Configuration requise du Centre d'aide ThingWorx.
Installez une version compatible de ThingWorx. Pour plus d'informations, consultez la rubrique Installation de ThingWorx.
Configurez ThingWorx pour autoriser l'importation d'extensions. Pour plus d'informations, consultez la rubrique Importation d'extensions du Centre d'aide ThingWorx.
Assurez-vous que le fuseau horaire du serveur ThingWorx est défini sur UTC. Pour plus d'informations, consultez la rubrique Installer Java, Apache Tomcat et ThingWorx dans le Centre d'aide ThingWorx.
Appliquez votre licence. Pour plus d'informations, consultez la rubrique Licences pour ThingWorx Platform du Centre d'aide ThingWorx.
Accédez à Solution Central. En plus d'être utilisé pour déployer les blocs de construction, Solution Central est l'outil recommandé pour le déplacement de votre déploiement et de vos personnalisations entre les environnements ThingWorx, par exemple d'un environnement de test à un environnement de production. Pour plus d'informations, consultez le ThingWorx Solution Central Help Center.
Si vous installez votre base de données sur Linux, installez l'outil sqlcmd.
Installez Microsoft SQL Server Management Studio. Pour plus d'informations, rendez-vous sur https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15.
Mettre à jour le paramètre de délai d'expiration d'un script
Pour mettre à jour le paramètre de délai d'expiration d'un script, un administrateur ThingWorx doit procéder comme suit :
1. Sur le serveur ThingWorx, accédez au dossier ThingWorxPlatform.
2. Ouvrez le fichier platform-settings.json dans un éditeur de texte.
3. Recherchez le paramètre ScriptTimeout et mettez à jour sa valeur sur 1200.
4. Enregistrez et fermez le fichier platform-settings.json.
5. Redémarrez le serveur ThingWorx.
* 
Si un message semblable au suivant apparaît dans votre journal de script, répétez les étapes ci-dessus pour augmenter davantage le paramètre ScriptTimeout :
[message: Execution of Script terminated after : 1200 seconds. Timeout configured for 1200 seconds.]
Pour plus d'informations, consultez la rubrique Détails de la configuration du fichier platform-settings.json dans le Centre d'aide ThingWorx.
Mettre à jour les paramètres de délai d'inactivité de la session
Par défaut, les sessions utilisateur inactives expirent au bout de 30 minutes.
Pour modifier le paramètre de délai d'inactivité de la session, un administrateur ThingWorx doit procéder comme suit :
1. Dans ThingWorx, accédez à Système > Sous-systèmes.
2. Ouvrez UserManagementSubsystem en mode Edition.
3. Sous Configuration, modifiez la valeur du paramètre Délai d'inactivité de la session (min).
4. Cliquez sur Enregistrer.
5. Redémarrez le serveur ThingWorx.
Installer le pilote MS SQL JDBC
Si votre instance ThingWorx est configurée avec PostgreSQL en tant que fournisseur de persistance, procédez comme suit pour installer le pilote MS SQL JDBC. Si votre instance ThingWorx est configurée avec MS SQL en tant que fournisseur de persistance, passez à la section suivante.
1. Téléchargez la version compatible JRE11 du pilote Microsoft JDBC Driver 7.4.1 for SQL Server à partir du lien suivant : 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. Copiez le fichier JAR du pilote JDBC dans le répertoire lib de l'installation de Tomcat : (<TOMCAT_HOME>/lib).
3. Redémarrez le serveur Tomcat pour charger le pilote JDBC afin de le rendre disponible pour ThingWorx.
Créer votre base de données de bloc de construction et votre utilisateur de base de données
Procédez comme suit :
1. Créez le nom de connexion et le mot de passe de l'utilisateur de la base de données de votre bloc de construction dans la base de données principale. Suivez les recommandations en matière de complexité du mot de passe pour votre base de données.
Sous Windows, utilisation de la commande Transact-SQL dans l'Editeur de requête de Microsoft SQL Server Management Studio :
CREATE LOGIN <bbadmin> WITH PASSWORD = '<password>';
Dans la commande ci-dessus, remplacez les chaînes <bbadmin> et <password> par le nom de connexion et le mot de passe de votre utilisateur de base de données de bloc de construction.
Sous Linux :
1. Ouvrez l'invite de commande dans le client Linux.
2. Créez la connexion sur SQL Server à l'aide des commandes suivantes :
sqlcmd –S <database-server-name> -U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create login <bbadmin> with password = '<bbadmin-password>'" \
GO; \
exit
Dans les commandes ci-dessus, remplacez la chaîne <database-server-name> par le nom de votre serveur de base de données, les chaînes <sql-administrator-username> et <sql-administrator-password> par le nom d'utilisateur et le mot de passe de l'administrateur SQL, et les chaînes <bbadmin> et <bbadmin-password> par le nom de connexion et le mot de passe de votre utilisateur de base de données de bloc de construction.
2. Créez la base de données Microsoft SQL Server (MSSQL) que le bloc de construction utilisera.
Sous Windows, utilisation des commandes Transact-SQL dans l'Editeur de requête 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;
Dans les commandes ci-dessus, remplacez la chaîne <bbdb> par le nom de votre base de données.
Sous Linux :
1. Ouvrez l'invite de commande dans le client Linux.
2. Utilisez les commandes suivantes pour créer la base de données SQL Server, en remplaçant les variables par le nom du serveur de base de données et par le nom d'utilisateur et le mot de passe de l'administrateur 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"
Dans la commande ci-dessus, remplacez la chaîne <database-server-name> par le nom de votre serveur de base de données, les chaînes <sql-administrator-username> et <sql-administrator-password> par le nom d'utilisateur et le mot de passe de l'administrateur SQL, et la chaîne <bbdb> par le nom de votre base de données.
3. Créez un utilisateur de base de données pour la connexion créée à l'étape 1. Utilisez le même nom pour l'utilisateur de la base de données que celui utilisé pour le nom de connexion.
Sous Windows, utilisation de la commande Transact-SQL dans l'Editeur de requête de SQL Server Management Studio ouvert pour la base de données qui a été créée à l'étape 2 :
CREATE USER <bbadmin> FOR LOGIN <bbadmin>;
ALTER ROLE [db_owner] ADD MEMBER <bbadmin>;
Dans la commande ci-dessus, remplacez la chaîne <bbadmin> par le nom de connexion créé à l'étape 1.
Sous Linux :
1. Ouvrez l'invite de commande dans le client Linux.
2. Utilisez les commandes suivantes pour créer un utilisateur de base de données pour votre base de données de bloc de construction, en remplaçant les variables par le nom du serveur de base de données et par le nom d'utilisateur et le mot de passe de l'administrateur 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>"
Dans les commandes ci-dessus, remplacez la chaîne <database-server-name> par le nom de votre serveur de base de données, les chaînes <sql-administrator-username> et <sql-administrator-password> par le nom d'utilisateur et le mot de passe de l'administrateur SQL, la chaîne <bbdb> par le nom de votre base de données et la chaîne <bbadmin> par le nom de connexion créé à l'étape 1.
Déployer les blocs de construction à l'aide de Solution Central
* 
Si vous déployez des blocs de construction sur un système ThingWorx haute disponibilité, il est recommandé de passer le cluster à une instance unique, d'installer les extensions, puis de repasser le cluster à l'échelle. Cette approche sera plus performante et empêchera les problèmes de cohérence éventuelle dans la mesure où les nouvelles extensions seront chargées par chaque serveur au démarrage. Pour plus d'informations, consultez la rubrique Gestion des extensions ThingWorx dans ThingWorx haute disponibilité dans le Centre d'aide ThingWorx.
Pour déployer les blocs de construction dans votre instance ThingWorx à l'aide de Solution Central, un administrateur ThingWorx doit procéder comme suit :
1. Assurez-vous que votre licence est installée dans ThingWorx Composer. Pour plus d'informations, consultez cet article du support technique dans la base de connaissances PTC.
2. Configurez Solution Central. Pour plus d'informations, consultez la rubrique Getting Started with Using Solution Central du Solution Central Help Center (en anglais).
3. Enregistrez votre instance ThingWorx dans Solution Central. Pour plus d'informations, consultez la rubrique Register Your ThingWorx Instance du Solution Central Help Center (en anglais).
4. Dans ThingWorx Composer, accédez à Gérer > Solution Central > Solutions PTC.
5. Cochez la case des blocs de construction que vous souhaitez déployer. Les ensembles de blocs de construction disponibles sont les suivants :
Blocs de construction de fabrication
6. Cliquez sur Déployer en un clic. Une fenêtre répertoriant toutes les extensions à déployer s'ouvre.
7. Cliquez sur Déployer tout.
Les extensions sont téléchargées et installées. Cela peut prendre plusieurs minutes. Vous serez averti lorsque le processus sera terminé.
Pour plus d'informations, consultez le ThingWorx Solution Central Help Center.
Exécuter le service InitializeSolution
Exécutez le service InitializeSolution pour configurer l'objet de base de données afin qu'il se connecte à votre base de données de blocs de construction, qu'il crée des tables de base de données et qu'il enregistre les objets de gestionnaire pour les blocs de construction.
Pour exécuter le service, un administrateur ThingWorx doit procéder comme suit :
1. Dans ThingWorx Composer, accédez à l'objet PTC.Base.Manager.
2. Obtenez les paramètres de configuration :
a. Sous Services, recherchez et exécutez le service GetSolutionDeploymentConfigurationParameters. La sortie du service est un code JSON contenant les paramètres de configuration requis pour le service InitializeSolution, qui s'appuient de façon dynamique sur l'ensemble des blocs de construction présents. Le JSON de sortie du service ressemble à ce qui suit :
{
"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. Copiez le code JSON renvoyé dans la sortie du service et collez-le dans un éditeur de texte.
c. Modifiez le code JSON en remplaçant le contenu entre accolades de chaque paramètre de configuration par la valeur propre à votre site.
databaseUser : nom de connexion de l'utilisateur de la base de données doté des droits d'administration système.
twxAdminUserName : nom de l'utilisateur administrateur ThingWorx.
twxAdminPassword : mot de passe de l'utilisateur administrateur ThingWorx.
databasePassword : mot de passe de connexion de l'utilisateur de la base de données doté des droits d'administration système.
databaseJDBCString : chaîne de connexion JDBC de la base de données de blocs de construction.
twxURL : URL de votre instance ThingWorx.
databaseThing : objet de base de données par défaut (PTC.DBConnection.MSSQLDatabase).
Voici un exemple de modification du code JSON précédent :
{
"databaseUser": "<bbadmin>",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "<twxadminpassword>",
"databasePassword": "<password>",
"databaseJDBCString": "jdbc:sqlserver://<databaseHost>:<databasePort>;databaseName=<bbdatabaseName>",
"twxURL": "http://<host>:<port>/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
Voici un exemple de modification du code JSON précédent avec des valeurs réelles :
{
"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. Sous Services, recherchez et exécutez le service InitializeSolution en utilisant le code JSON que vous avez modifié à l'étape 2.c comme paramètre d'entrée deploymentConfig pour le service.
Une fois le service exécuté, la sortie affiche une table d'informations répertoriant les blocs de construction qui ont été déployés et leur statut de configuration : Configured, Not Configured ou Error. Si des blocs de construction présentent un statut Error ou Not Configured, effectuez les étapes de dépannage suivantes :
a. Assurez-vous que les informations d'identification de la base de données spécifiées dans le JSON sont valides, puis exécutez le service InitializeSolution.
b. Si des blocs de construction présentent toujours un statut Error ou Not Configured dans la sortie du service, consultez les journaux des erreurs des applications et des scripts ThingWorx et corrigez les éventuelles erreurs qui y sont signalées. Ensuite, exécutez le service InitializeSolution.
c. Si des blocs de construction présentent toujours un statut Error ou Not Configured dans la sortie du service, mettez à jour le JSON pour inclure les éléments suivants et exécutez le service InitializeSolution :
"overrideComponentDeploymentState": true
Exécuter le service UpdateDBSchema
Exécutez le service UpdateDBSchema pour appliquer les contraintes nécessaires aux tables de base de données.
Pour exécuter le service, un administrateur ThingWorx doit procéder comme suit :
1. Dans ThingWorx Composer, accédez à l'objet PTC.DBConnection.Manager.
2. Sous Services, recherchez et exécutez le service UpdateDBSchema.
Une fois l'exécution du service terminée, une table d'informations affichant les mises à jour de la base de données s'affiche dans le volet de sortie du service.
Est-ce que cela a été utile ?