Distribuzione di DPM tramite Solution Central
In questo scenario, il database e ThingWorx vengono installati nel sistema dell'utente, che distribuisce DPM nella propria istanza di ThingWorx utilizzando Solution Central.
Completare la procedura descritta nelle sezioni seguenti:
Prerequisiti
Prima di distribuire DPM, completare i prerequisiti riportati di seguito.
Esaminare i requisiti di sistema di DPM, incluse le versioni di ThingWorx compatibili con DPM. Per ulteriori informazioni, vedere Requisiti di sistema.
Esaminare i requisiti di sistema di ThingWorx per una versione compatibile di ThingWorx. Per ulteriori informazioni, vedere Requisiti di sistema in ThingWorx Help Center.
Installare una versione compatibile di ThingWorx. Per ulteriori informazioni, vedere Installazione di ThingWorx.
Configurare ThingWorx per attivare l'importazione delle estensioni. Per ulteriori informazioni, vedere Importazione di estensioni in ThingWorx Help Center.
Accertarsi che il fuso orario del server ThingWorx sia impostato su UTC. Per ulteriori informazioni, vedere Installare Java, Apache Tomcat e ThingWorx in ThingWorx Help Center.
Applicare la licenza DPM. Per ulteriori informazioni, vedere Licenze per ThingWorx Platform in ThingWorx Help Center.
Ottenere l'accesso a Solution Central. Oltre a essere utilizzato per la distribuzione di DPM, Solution Central è lo strumento consigliato per spostare la distribuzione e le personalizzazioni tra gli ambienti ThingWorx, ad esempio da un ambiente di test a un ambiente di produzione. Per ulteriori informazioni, vedere ThingWorx Solution Central Help Center.
Se si installa il database in Linux, installare lo strumento sqlcmd.
Installare Microsoft SQL Server Management Studio. Per ulteriori informazioni, vedere https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15.
Aggiornamento dell'impostazione di timeout dello script
Per aggiornare l'impostazione di timeout dello script, un amministratore di ThingWorx deve attenersi alla procedura descritta di seguito.
1. Sul server ThingWorx, passare alla cartella ThingWorxPlatform.
2. Aprire il file platform-settings.json in un editor di testo.
3. Individuare e aggiornare l'impostazione ScriptTimeout a 1200.
4. Salvare e chiudere il file platform-settings.json.
5. Riavviare il server ThingWorx.
* 
Se il log script contiene un messaggio simile al seguente, ripetere i passi precedenti per aumentare ulteriormente l'impostazione di ScriptTimeout:
[message: Execution of Script terminated after : 1200 seconds. Timeout configured for 1200 seconds.]
Per ulteriori informazioni, vedere Dettagli di configurazione di platform-settings.json in ThingWorx Help Center.
Aggiornare le impostazioni del timeout di sessione
Per default, il timeout delle sessioni utente inattive è 30 minuti.
Per modificare l'impostazione di timeout della sessione, un amministratore di ThingWorx deve attenersi alla procedura descritta di seguito.
1. In ThingWorx, passare a Sistemi > Sottosistemi.
2. Aprire UserManagementSubsystem in modalità di modifica.
3. In Configurazione, modificare l'impostazione Timeout sessioni inattive (min).
4. Fare clic su Salva.
5. Riavviare il server ThingWorx.
Installare il driver JDBC per MS SQL
Se l'istanza di ThingWorx è configurata con PostgreSQL come provider di persistenza, attenersi alla procedura riportata di seguito per installare il driver JDBC per MS SQL. Se l'istanza di ThingWorx è configurata con MS SQL come provider di persistenza, passare alla sezione successiva.
1. Scaricare la versione compatibile con JRE11 di Microsoft JDBC Driver 7.4.1 for SQL Server dal seguente link: 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. Copiare il file JAR JDBC nella directory lib di installazione di Tomcat (<HOME_TOMCAT>/lib).
3. Riavviare il server Tomcat per caricare il driver JDBC in modo da renderlo disponibile per ThingWorx.
Creare il database DPM e l'utente del database
Attenersi alla procedura descritta di seguito.
1. Creare l'accesso e la password dell'utente del database DPM nel database master. Attenersi alle indicazioni sulla complessità della password per il database.
Per Windows, utilizzando il comando Transact-SQL nell'editor di query di Microsoft SQL Server Management Studio:
CREATE LOGIN <dpmadmin> WITH PASSWORD = '<password>';
Nel comando precedente, sostituire <dpmadmin> e <password> con l'accesso e la password dell'utente del database DPM.
In ambiente Linux:
1. Aprire il prompt dei comandi nel client Linux.
2. Utilizzare i seguenti comandi per creare l'accesso su SQL Server:
sqlcmd –S <database-server-name> -U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create login <dpmadmin> with password = '<dpmadmin-password>'" \
GO; \
exit
Nei comandi precedenti, sostituire <database-server-name> con il nome del server di database, <sql-administrator-username> e <sql-administrator-password> con il nome utente e la password di amministratore SQL, <dpmadmin> e <dpmadmin-password> con l'accesso e la password dell'utente del database DPM.
2. Creare il database di Microsoft SQL Server (MSSQL) che sarà utilizzato da DPM.
Per Windows, utilizzando i comandi Transact-SQL nell'editor di query di Microsoft SQL Server Management Studio:
CREATE DATABASE <dpmdb> COLLATE SQL_Latin1_General_CP1_CI_AS;
ALTER DATABASE <dpmdb> SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE <dpmdb> SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE <dpmdb> SET ARITHABORT ON;
Nei comandi precedenti, sostituire <dpmdb> con il nome del database.
In ambiente Linux:
1. Aprire il prompt dei comandi nel client Linux.
2. Utilizzare i seguenti comandi per creare il database SQL Server, sostituendo le variabili con il nome del server di database e il nome utente e la password di amministratore SQL:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create database <dpmdb> COLLATE SQL_Latin1_General_CP1_CI_AS; ALTER DATABASE <dpmdb> SET READ_COMMITTED_SNAPSHOT ON; ALTER DATABASE <dpmdb> SET ALLOW_SNAPSHOT_ISOLATION ON;ALTER DATABASE <dpmdb> SET ARITHABORT ON"
Nel comando precedente, sostituire <database-server-name> con il nome del server di database, <sql-administrator-username> e <sql-administrator-password> con il nome utente e la password di amministratore SQL e <dpmdb> con il nome del database.
3. Creare un utente del database per l'accesso creato al passo 1. Utilizzare lo stesso nome per l'utente del database utilizzato per l'accesso.
Per Windows, utilizzando il comando Transact-SQL nell'editor di query di SQL Server Management Studio aperto per il database creato al passo 2:
CREATE USER <dpmadmin> FOR LOGIN <dpmadmin>;
ALTER ROLE [db_owner] ADD MEMBER <dpmadmin>;
Nel comando precedente, sostituire <dpmadmin> con il nome per l'accesso creato al passo 1.
In ambiente Linux:
1. Aprire il prompt dei comandi nel client Linux.
2. Utilizzare i seguenti comandi per creare un utente del database per il database DPM, sostituendo le variabili con il nome del server di database e il nome utente e la password di amministratore SQL:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "use <dpmdb>; create user <dpmadmin> for login <dpmadmin>;ALTER ROLE [db_owner] ADD MEMBER <dpmadmin>"
Nei comandi precedenti, sostituire <database-server-name> con il nome del server di database, <sql-administrator-username> e <sql-administrator-password> con il nome utente e la password di amministratore SQL, <dpmdb> con il nome del database e <dpmadmin> con il nome per l'accesso creato al passo 1.
Distribuire la soluzione DPM utilizzando Solution Central
* 
Se si distribuisce DPM in un sistema ThingWorx HA, è consigliabile ridurre il cluster a una singola istanza, installare le estensioni e quindi ampliare di nuovo il cluster. In tal modo le prestazioni miglioreranno e si eviteranno eventuali problemi di coerenza in quanto le nuove estensioni saranno caricate da ogni server all'avvio. Per ulteriori informazioni, vedere Gestione delle estensioni di ThingWorx in ThingWorx a disponibilità elevata in ThingWorx Help Center.
Per distribuire la soluzione DPM nella propria istanza di ThingWorx tramite Solution Central, un amministratore di ThingWorx deve attenersi alla procedura descritta di seguito.
1. Assicurarsi che la licenza DPM sia installata in ThingWorx Composer. Per ulteriori informazioni, vedere questo articolo del supporto tecnico nella knowledge base di PTC.
2. Impostare Solution Central. Per ulteriori informazioni, vedere Getting Started with Using Solution Central in Solution Central Help Center.
3. Registrare l'istanza di ThingWorx in Solution Central. Per ulteriori informazioni, vedere Registering Your ThingWorx Instance in Solution Central Help Center.
4. In ThingWorx Composer, passare a Gestione > Solution Central > Soluzioni PTC.
5. Selezionare la casella di controllo accanto a Digital Performance Management e fare clic su Distribuisci con un clic. Viene visualizzata una finestra in cui sono elencate tutte le estensioni da distribuire come parte della soluzione DPM.
6. Fare clic su Distribuisci tutto.
Le estensioni vengono scaricate e installate. L'operazione può richiedere alcuni minuti. Viene inviata una notifica al termine del processo.
Per ulteriori informazioni, vedere ThingWorx Solution Central Help Center.
Eseguire il servizio InitializeSolution
Eseguire il servizio InitializeSolution per configurare l'oggetto database per la connessione al database DPM, creare tabelle di database e registrare gli oggetti manager per i building block che costituiscono DPM.
Per eseguire il servizio, un amministratore di ThingWorx deve attenersi alla procedura descritta di seguito.
1. In ThingWorx Composer, passare all'oggetto PTC.Base.Manager.
2. Ottenere i parametri di configurazione.
a. In Servizi, individuare ed eseguire il servizio GetSolutionDeploymentConfigurationParameters. L'output del servizio è un JSON contenente i parametri di configurazione necessari per il servizio InitializeSolution, basato dinamicamente sull'insieme di building block presenti. Il JSON di output del servizio è simile al seguente:
{
"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. Copiare il JSON restituito nell'output del servizio e incollarlo in un editor di testo.
c. Modificare il JSON, sostituendo il contenuto tra le parentesi graffe per ciascun parametro di configurazione con il valore specifico del sito.
databaseUser - Nome di accesso dell'utente del database con diritti di amministrazione del sistema.
twxAdminUserName - Nome dell'utente amministratore di ThingWorx.
twxAdminPassword - Password per l'utente amministratore di ThingWorx.
databasePassword - Password di accesso dell'utente del database con diritti di amministrazione del sistema.
databaseJDBCString - Stringa di connessione JDBC per il database DPM.
twxURL - URL dell'istanza di ThingWorx.
databaseThing - Oggetto database di default (PTC.DBConnection.MSSQLDatabase).
Il seguente è un esempio di JSON modificato:
{
"databaseUser": "<dpmadmin>",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "<twxadminpassword>",
"databasePassword": "<password>",
"databaseJDBCString": "jdbc:sqlserver://<databaseHost>:<databasePort>;databaseName=<DPMdatabaseName>",
"twxURL": "http://<host>:<port>/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
Il seguente è un esempio di JSON modificato con valori effettivi:
{
"databaseUser": "DPMadmin",
"twxAdminUserName": "Administrator",
"twxAdminPassword": "ThingWorx!DPM9876",
"databasePassword": "945DaTaBase!39525",
"databaseJDBCString": "jdbc:sqlserver://localhost:1433;databaseName=dpmdb",
"twxURL": "http://MyCompany.com:8080/Thingworx",
"databaseThing": "PTC.DBConnection.MSSQLDatabase"
}
3. In Servizi, individuare ed eseguire il servizio InitializeSolution utilizzando il JSON modificato al passo 2.c come parametro di input deploymentConfig per il servizio.
Al termine del servizio, l'output visualizza una infotable che elenca i building block distribuiti e il relativo stato di configurazione: Configured, Not Configured o Error. Se sono presenti building block in stato Error o Not Configured, completare i passi di risoluzione dei problemi riportati di seguito.
a. Accertarsi che le credenziali del database specificate nel JSON siano valide, quindi eseguire il servizio InitializeSolution.
b. Se sono ancora presenti building block in stato Error o Not Configured nell'output del servizio, esaminare i log degli errori di script e applicazione ThingWorx e risolvere gli eventuali errori trovati. Eseguire quindi il servizio InitializeSolution.
c. Se sono ancora presenti building block in stato Error o Not Configured nell'output del servizio, aggiornare il JSON in modo da includere quanto segue ed eseguire il servizio InitializeSolution:
"overrideComponentDeploymentState": true
È stato utile?