Sauvegarde ThingWorx
Les sauvegardes liées à ThingWorx peuvent être exécutées aussi bien au niveau des magasins de données que de l'application ThingWorx. La sauvegarde au niveau des magasins de données doit être effectuée régulièrement, même si les magasins de données sont installés dans une configuration haute disponibilité avec redondance des données. Cela s'applique à tous les magasins de données que les fournisseurs de données et de modèles utilisent.
Les informations contenues dans cette rubrique concernent uniquement les fonctionnalités fournies par ThingWorx Platform pour les sauvegardes au niveau de l'application, à l'exception de la base de données H2.
* 
La seule exception à cette règle est la base de données H2, car elle s'exécute en mode intégré. Dans ce cas, ThingWorx propose une fonctionnalité intégrée pour planifier des sauvegardes automatiques vers un répertoire spécifié par le paramètre de configuration "ThingworxBackupStorage" dans le fichier platform-settings.json. Toutefois, en raison de sa nature intégrée, il ne s'agit pas d'une solution haute disponibilité. Elle ne dispose donc d'aucune capacité de basculement.
Consultez le manuel anglais ThingWorx Backup and Recovery Planning (Planification de la sauvegarde et de la récupération de ThingWorx) pour obtenir des instructions générales concernant la sauvegarde des magasins de données, et reportez-vous à la documentation du fournisseur d'origine pour plus de détails, y compris en ce qui concerne les aspects suivants :
H2 : création d'archives du dossier data dans ThingworxStorage
Modèle ThingWorx
Le grand avantage en termes de souplesse d'une application basée sur ThingWorx est la possibilité de modifier directement le modèle ThingWorx au moment de l'exécution, aussi bien manuellement via Composer que par programmation via une API REST, des scripts ou des extensions. Il est recommandé d'effectuer un suivi des modifications du modèle afin de pouvoir rattraper une modification accidentelle dans la production. Pour ce faire, exportez régulièrement les instantanés à un point dans le temps des entités de modèle.
Ces sauvegardes d'instantanés peuvent également être effectuées à l'aide d'un planificateur pour appeler automatiquement les éléments suivants :
l'API REST d'exportation standard ;
l'API REST Exporter entités de contrôle de source. Cette API utilise un système de contrôle de version tel que Git ou Subversion.
La différence entre les deux options ci-dessus est la suivante : l'option Exporter entités de contrôle de source génère des fichiers XML individuels dans des dossiers par type d'entité pour permettre une lecture par l'utilisateur, tandis que le format binaire ".twx" est compressé et relativement efficace pour l'importation.
* 
PTC ne garantit pas la conformité des formats d'exportation avec une norme particulière et ceux-ci sont susceptibles de changer sans préavis entre les versions de ThingWorx. Par conséquent, la création d'applications externes qui utilisent ces fichiers exportés n'est pas recommandée.
Données d'exécution
De même que pour les exportations de modèle, une API REST standard est également disponible pour l'exportation des données d'exécution. Les données d'exécution pouvant croître considérablement au fil du temps, le processus d'exportation est parallélisé et les fichiers d'exportation sont divisés en plusieurs petits fichiers plus faciles à gérer. En raison de la taille importante des données, il est recommandé de les exporter de manière incrémentielle au niveau de l'application, plutôt qu'en réalisant des sauvegardes complètes. En outre, pour éviter les longues exportations, il est recommandé de procéder par entité chaque fois que cela est possible. Il est par ailleurs recommandé de procéder à des sauvegardes au niveau du magasin de données pour conserver les données d'exécution. Les exportations de données sont enregistrées dans le répertoire ThingworxStorage/exports. Les données sont exportées dans des fichiers binaires, au format .twx. Ces fichiers sont placés dans des dossiers par type d'entité, à la date du jour et dans le répertoire du référentiel. Les données sont divisées en plusieurs fichiers en fonction de la taille du fichier d'exportation et des tailles des pools de threads de traitement définies dans le sous-système de traitement des exportations et importations.
Cette fonction sert généralement à migrer les données d'un système vers un autre, plutôt que d'effectuer des sauvegardes régulières. Bien qu'il soit possible d'effectuer des exportations périodiques qui ne se chevauchent pas (en spécifiant des dates de début et de fin pour les exportations de données) pour archiver les données régulièrement, il est plus efficace de réaliser des sauvegardes au niveau du magasin de données pour conserver les données d'exécution.
Référentiel de fichiers
Dans ThingWorx, le référentiel de fichiers est un répertoire du système de fichiers qui se trouve généralement sur un disque local ou partagé (dans le cas d'une installation ThingWorx haute disponibilité). Il s'agit d'un répertoire du système de fichiers standard défini par la variable d'environnement ThingworxFileStorage dans un paramètre personnalisé ou dans ThingworxStorage/repository par défaut. Toute solution de sauvegarde de fichiers fournie par le système d'exploitation peut être utilisée pour sauvegarder ce répertoire régulièrement (en l'occurrence, rsync sous Linux)
Extensions
Une fois importées dans ThingWorx, les extensions sont mises en cache dans le système de fichiers et enregistrées dans le magasin de données dans des configurations haute disponibilité. Dans ce cas, il est recommandé de conserver les packages d'extension d'origine plutôt que de sauvegarder les versions mises en cache. Les extensions de PTC Marketplace sont en effet régulièrement mises à niveau et il se peut que vous ne puissiez pas télécharger à nouveau la version utilisé pour le développement. Le cache du système de fichiers se trouve dans le répertoire ThingworxStorage/exports.
Autres artefacts basés sur des fichiers
Les autres artefacts basés sur des fichiers qui peuvent être sauvegardés à l'aide des outils de sauvegarde de fichiers du système d'exploitation (en l'occurrence, rsync sous Linux) associés à ThingWorx sont les suivants :
Fichiers de configuration dans le répertoire ThingworxPlatform
Fichiers journaux dans le répertoire ThingworxStorage/logs
Rapports éventuellement générés dans le répertoire ThingworxStorage/reports