Asignación de versiones y migración
Cada uno de los componentes base e implementaciones que se incluye de fábrica tiene una versión de configuración. Las versiones se utilizan para realizar un seguimiento del objeto JSON de configuración y son necesarias para garantizar que, en el futuro, los componentes personalizados se puedan migrar a nuevas versiones de ThingWorx Navigate.
Detalles de asignación de versiones
El objeto JSON de configuración contiene dos claves que siguen la versión: baseConfigurationVersion y implementationConfigurationVersion. Se debe tener en cuenta que las claves están ocultas en el cuadro de diálogo de configuración del Mashup Builder, pero forman parte de la configuración devuelta por el servicio GetConfigurations.
* 
Para identificar las versiones de configuración de un componente, ejecute los siguientes servicios en la cosa de componente:
GetBaseConfigurationVersion, para la versión del componente base
GetImplementationConfigurationVersion, para la versión de la implementación
Llamada al servicio de migración
Al crear una implementación personalizada de un componente, se crea una plantilla de cosa que extiende un componente base o de implementación existente. Cualquier servicio en la implementación personalizada que llame al servicio GetConfigurations debe llamar primero al servicio Migrate.
El servicio Migrate tiene cuatro parámetros:
migrationType: cadena; el tipo de migración, actualmente solo soporta “Configuration”
data: JSON; el nombre del objeto JSON de configuración
targeBaseVersion: cadena; la versión del componente base
targetImplementationVersion: cadena; la versión de la implementación
A continuación se muestra un código de ejemplo que llama al servicio Migrate:
var migratedConfig = me.Migrate(
{
"migrationType":"Configuration",
"data":"configuration",
"targetBaseVersion":"9.0.0",
"targetImplementationVersion":"1.0.0"
}
);
El servicio Migrate compara el valor de targetBaseVersion con el valor de baseConfiguration desde el objeto JSON de configuración y el valor de targetImplementationVersion con el valor de implementationConfigurationVersion del objeto JSON de configuración. Si los valores de versión no coinciden, el servicio Migrate llama al servicio MigrateBase o al servicio MigrateImplementation, que migra el objeto JSON de configuración para que coincida con la versión de la base de destino o la implementación de destino.
En general, al crear un componente de implementación de lógica empresarial personalizada, no es necesario llamar al servicio MigrateImplementation. Sin embargo, si se crea una nueva versión de una implementación personalizada existente y se utiliza una versión de configuración diferente, será necesario implementar MigrateImplementation y GetBaseMigrationVersion.
Al crear un componente de lógica empresarial base personalizada, se debe implementar el servicio MigrateBase.
¿Fue esto útil?