Impostazione
|
Tipo di base
|
Default
|
Note
|
---|---|---|---|
Regola di protezione associazione
|
STRING
|
First-in-wins
|
Scegliere la Regola di protezione associazione desiderata dal menu. Per default, la regola è First-in wins. In base a questa regola, se la piattaforma riceve un nuovo tentativo di associazione da un dispositivo edge già associato, la piattaforma rifiuta il nuovo tentativo di associazione.
La regola Last-in wins indica che, anziché rifiutare una nuova associazione per il dispositivo già associato, la piattaforma deve accettare la nuova associazione e aggiornare le regole di routing sulla modalità di invio dei messaggi al dispositivo edge.
|
Impostazione
|
Tipo di base
|
Default
|
Note
|
---|---|---|---|
Timeout connessioni inattive (sec)
|
INTEGER
|
60
|
Una volta stabilita la connessione, il sottosistema Comunicazioni WebSocket attende il numero di secondi specificato prima di chiudere la connessione. Se è presente un'attività, il timer di inattività viene reimpostato.
|
Velocità di ping connessioni inattive (sec)
|
INTEGER
|
45
|
ThingWorx attende un ping da un client per il numero di secondi specificato. Se riceve un ping, il ciclo di comunicazione continua.
Se non riceve un pong a una richiesta di ping entro il numero di secondi specificato, l'SDK si disconnette e tenta di riconnettersi. La disconnessione chiude il socket, la connessione ThingWorx, la connessione WebSocket, la connessione TLS e il socket a livello di sistema operativo. L'operazione di riconnessione crea nuove versioni di questi livelli di connessione, presupponendo l'esito positivo di ogni livello di autenticazione.
|
Tempo di attesa per il messaggio di autenticazione (sec)
|
INTEGER
|
15
|
Una volta stabilita la connessione, il server remoto attende la quantità di tempo specificata per l'autenticazione.Se non riceve l'autenticazione, il socket viene chiuso.
|
Tempo di attesa di una richiesta per il messaggio di risposta prima del timeout (sec)
|
INTEGER
|
30
|
Se il server è in linea e la richiesta ha esito negativo, viene generato un errore.Se il server non è in linea, la richiesta viene messa in coda finché il server non sarà di nuovo in linea.
|
Invia un comando ping dopo aver inviato un messaggio o traffico tunnel
|
BOOLEAN
|
True
|
Invia un comando ping dopo l'invio di un messaggio da un client alla piattaforma. Questa impostazione è applicata quando si crea la connessione.
|
Impostazione
|
Tipo di base
|
Default
|
Note
|
---|---|---|---|
Numero massimo thread
|
NUMBER
|
10
|
Utilizzata per le comunicazioni in uscita per i dispositivi edge, specifica il numero di thread disponibili per comunicare con gli oggetti remoti. Un esempio di comunicazione in uscita consiste nell'esecuzione di un servizio remoto su un oggetto remoto. Tutte le richieste che superano il valore specificato vengono inviate a una coda.
|
Impostazione
|
Tipo di base
|
Default
|
Note
|
---|---|---|---|
Nome endpoint
|
STRING
|
n/d
|
Nome definito dall'utente.
|
URI endpoint
|
STRING
|
n/d
|
URI del server remoto da configurare nell'ambiente federato.
|
Numero max di connessioni endpoint
|
INTEGER
|
1
|
Numero di connessioni aperte per il server remoto.
|
Velocità di ping connessioni inattive (sec)
|
INTEGER
|
45
|
Utilizzata quando si configura un ambiente federato con due server. La velocità di ping connessioni inattive specifica la frequenza con la quale il server invia un ping al server remoto. Mantiene la connessione attiva in modo che i sistemi intermedi non arrestino il server a causa di inattività e impedisce al server remoto di chiudere la connessione per inattività.
|
Chiave di accesso
|
PASSWORD
|
n/d
|
Quando si fa clic sul pulsante Cambia password, viene visualizzata la schermata Cambia password. Qui è possibile immettere una nuova chiave di accesso.
|
|
L'utilizzo dei servizi di WSCommunicationsSubsystem è consentito solo agli amministratori.
|
|
È inoltre possibile attivare il servizio CloseEndpointSessions per scollegare i dispositivi con chiavi di accesso scadute a intervalli regolari. Di seguito è riportato uno script di esempio che identifica i dispositivi con chiavi di accesso scadute e chiude le relative connessioni:
// This script is for informational and example purposes only, and you must // configure/validate it to ensure that it meets your functional and security requirements. // result: INFOTABLE dataShape: "" var expiredKeysTable = Subsystems["UserManagementSubsystem"].GetApplicationKeyExpirationInfo({ expiredKeys: true /* BOOLEAN */ , unexpiredKeys: false /* BOOLEAN */ }); // Create InfoTable from EntityList DataShape var params = { infoTableName: "InfoTable", dataShapeName: "EntityList" }; // CreateInfoTableFromDataShape(infoTableName:STRING("InfoTable"), dataShapeName:STRING):INFOTABLE(EntityList) var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params); for (var i = 0; i < expiredKeysTable.rows.length; i++) { var expirationInfoTable = expiredKeysTable.rows[i].expirationInfo.rows; for (var j = 0; j < expirationInfoTable.length; j++) { // Add the name and key to result InfoTable var newEntry = new Object(); newEntry.name = expirationInfoTable[j].name;// STRING [Primary Key] result1 = Subsystems["WSCommunicationsSubsystem"].CloseEndpointSessions({ appKeyName: expirationInfoTable[j].name /* APPLICATIONKEYNAME */ }); logger.warn("Number of closed Sessions: " + result1); logger.warn("Expired application keys: " + expirationInfoTable[j].name); } } |
|
Con il servizio CloseEndpointSessions, le chiavi di accesso utilizzate dalle sessioni chiuse non scadono né diventano non valide in altro modo. Se si desidera disconnettere i dispositivi con una determinata chiave di accesso e impedirne la riconnessione, forzare innanzitutto la scadenza della chiave di accesso aggiornando la data di scadenza. Richiamare quindi questo servizio per chiudere le sessioni.
|
Servizio
|
Descrizione
|
||||||
---|---|---|---|---|---|---|---|
QueryEndpointSessions
|
Per eseguire interrogazioni per le sessioni endpoint, questo servizio accetta i parametri seguenti:
• authenticationType (STRING)
• appKeyName (APPLICATIONKEYNAME)
• userName (USERNAME)
• startedBefore (DATETIME)
• startedAfter (DATETIME)
• lastUsedBefore (DATETIME)
• lastUsedAfter (DATETIME)
• hasBoundThings (BOOLEAN)
• hasMultipleConnections (BOOLEAN)
• maxItems (NUMBER). Il valore di default è 500 risultati.
Questo servizio restituisce una INFOTABLE contenente i campi seguenti:
• endpointId. Identificatore dell'endpoint, non della sessione stessa.
• authenticationType. ad esempio chiave di accesso o credenziali utente.
• appKeyName Nome della chiave di accesso, se applicabile.
• userContext. Nome associato all'account con cui è stato eseguito il servizio. Per tutti questi servizi è "Administrator".
• startDate
• lastUsedDate. I ping sono esclusi.
• numberBoundThings. Numero di oggetti associati tramite questo endpoint.
• numberConnections. Numero corrente di connessioni aperte. Per ThingWorx Connection Server o un connettore ThingWorx possono essere presenti più connessioni.
|
||||||
GetBoundThingsForEndpoint
|
Questo servizio accetta un ID di endpoint. Quando si richiama il servizio dall'interfaccia utente del Composer, è possibile impostare facoltativamente un numero massimo di righe da restituire. Restituisce una INFOTABLE contenente i nomi degli oggetti associati all'endpoint specificato, fino al numero massimo di righe specificato.
Questo servizio consente agli amministratori di determinare quali oggetti sono associati a quali endpoint senza generare potenziali problemi di memoria, includendo tali oggetti nei risultati di QueryEndpointSessions.
|
||||||
CloseEndpointSessions
|
Questo servizio accetta un ID endpoint oppure tutti i parametri del servizio QueryEndpointSessions tranne maxItems. Se vengono specificati entrambi, restituisce un errore.
Questo servizio chiude tutte le sessioni corrispondenti ai criteri. Quando si specifica l'endpoint, utilizzare un ID endpoint restituito dal servizio QueryEndpointSessions.
Con il servizio, le chiavi di accesso utilizzate dalle sessioni chiuse non scadono né diventano non valide in altro modo. Per questo motivo, se si desidera scollegare i dispositivi utilizzando una determinata chiave di accesso e impedirne la riconnessione, è innanzitutto necessario forzare la scadenza della chiave di accesso aggiornando la data di scadenza e quindi richiamare il servizio per chiudere le sessioni.
Se il sottosistema Verifica è attivato, le chiamate di questo servizio vengono sottoposte a verifica. I messaggi di verifica rientrano nella categoria DEVICE_COMMUNICATIONS. Per informazioni sul sottosistema Verifica, vedere Sottosistema Verifica e gli argomenti correlati.
|
||||||
CloseEndpoints
|
Per eseguire interrogazioni per le sessioni endpoint, questo servizio accetta i parametri seguenti:
• appKeyName (APPLICATIONKEYNAME)
• endpointId (STRING)
Se vengono specificati entrambi, restituisce un errore.
Questo servizio restituisce un valore NUMBER che indica il numero di connessioni endpoint che si è tentato di chiudere.
Questo servizio chiude tutte le connessioni endpoint associate al parametro appKeyName specificato o all'endpoint ID. Utilizzare l'endpoint ID restituito dal servizio QueryEndpointSessions quando si specifica l'endpoint.
La chiamata di questo servizio che determina le chiusure di connessioni endpoint viene sottoposta a verifica, se è attivato il sottosistema Verifica. I messaggi di verifica sono categorizzati in DEVICE_COMMUNICATIONS. Per informazioni sul sottosistema Verifica, vedere Sottosistema Verifica e gli argomenti correlati.
|