Planes de migración para objetos con enlaces embebidos en XML
Al migrar objetos en los que se capturan las referencias a claves externas en el campo basado en el XML de objeto, se necesitan instrucciones subordinadas para definir las referencias a claves externas, a fin de que CMA interprete las relaciones. Esto se diferencia de las claves externas directas, en las que CMA puede determinar las relaciones mediante restricciones. Las instrucciones indican dos finalidades. La definición de las instrucciones garantiza que los objetos relacionados se incluyen en la migración, si procede. Si sabe que los objetos relacionados se han incluido por otros criterios, las instrucciones permitirán a CMA agrupar objetos relacionados en transacciones. Esto ayuda en el proceso de aplicación, en el momento de importación, para asegurar que se agrupan los objetos relacionados. Sin embargo, el proceso de aplicación incluye pasos iterativos para intentar superar dependencias como esta, por lo que la definición de las instrucciones no es crítica para esta finalidad.
A continuación, se incluyen opciones para crear los planes de migración con los enlaces embebidos de XML:
- Una opción consiste en utilizar el objeto de negocio lógico específico (negocio) en la instrucción primaria, para definir el objeto que se copia. Con esta opción, las instrucciones subordinadas pueden utilizar los criterios XPath para definir la clave externa relacionada. Si se usa este enfoque, debe crearse un plan de migración independiente para cada objeto de negocio lógico. Para obtener más información, consulte Descripción del proceso de filtrado de objetos de negocio. Esta opción solo se utilizaría en casos aislados.
- Otra opción consiste en crear un plan de migración que utilice un objeto de negocio físico como instrucción primaria y, después, incluir una instrucción subordinada para el objeto de negocio lógico real, mediante criterios transversales de SQL, con el fin de unir el objeto a sí mismo mediante su clave primaria. Tenga en cuenta que con esta técnica, los registros que hacen referencia al objeto de negocio lógico seguirán incluyéndose solo una vez en el fichero de exportación. En este punto, las instrucciones subordinadas siguientes pueden utilizar una anotación de XPath para definir los datos de clave externa. El uso del objeto de negocio físico como la instrucción primaria asegura que se consideren todos los registros en el objeto de mantenimiento. Las instrucciones subordinadas con el objeto de negocio lógico y las anotaciones de XPath solo se aplicarán a los registros que son aplicables a dicho objeto de negocio. Esta opción es útil para los objetos de mantenimiento que tienen un número reducido de objetos de negocio lógicos con claves externas distintas.
- Otra opción consiste en utilizar el objeto de negocio físico en la instrucción primaria y usar los SQL sin formato en los criterios transversales de la instrucción subordinada, para identificar las claves externas mediante comandos de subcadena. Se necesita una instrucción subordinada independiente para cada SQL correspondiente a la aparición de cada elemento. El uso de esta técnica tiene las mismas ventajas que la anterior, en cuanto que se incluyen en la migración todos los registros para el objeto de mantenimiento. Sin embargo, esta técnica puede resultar útil para los objetos de mantenimiento con un gran número de objetos de negocio esperado, en los que cada uno tiene una o varias claves externas. Esto es especialmente útil si numerosos objetos de negocio hacen referencia a la misma clave externa. En ese caso, solo se necesita una instrucción para esa clave externa. Tenga en cuenta que un único plan de migración puede usar esta técnica y que la técnica de XPath se usa para diferentes elementos.
Una solicitud de migración puede tener varios planes de migración para el mismo objeto de mantenimiento. Esto permite cierta flexibilidad y sostenibilidad a largo plazo, en cuanto que las técnicas anteriores pueden usar varios planes de migración. Pensemos en el siguiente ejemplo:
- Un producto proporciona objetos de negocio base con claves externas definidas en el campo de XML y ofrece el plan de migración adecuado con instrucciones. Una implantación amplía este objeto de negocio o quizás crea su propio objeto de negocio para el mismo objeto de mantenimiento e incluye diferentes claves externas adicionales en el XML. En lugar de duplicar el plan de migración base y añadir instrucciones adicionales para las claves externas adicionales, la implantación puede crear un segundo plan de migración para el objeto de mantenimiento con las claves externas adicionales definidas. Se debería definir una solicitud de migración para incluir ambos planes de migración. En este caso, si la implantación tiene solo un objeto de negocio personalizado, se puede optar por utilizar el objeto de negocio personalizado como la instrucción primaria, según se describe en la primera opción.