Saltar al contenido

Elegir fuentes de esquema

Introducción

Cuando creas transformaciones, necesitas decidir cómo definir tus esquemas de origen y destino. Esta página explica tus opciones.

Puedes definir esquemas de dos maneras:

Entender cuándo usar cada enfoque te ayuda a construir transformaciones que son más fáciles de mantener y más flexibles. Para practicar estos conceptos, consulta Crea tu primera transformación.

Esquemas definidos por la actividad

Los esquemas definidos por la actividad son creados automáticamente por las actividades de conector. Estos esquemas heredan su estructura del sistema conectado.

Los esquemas definidos por la actividad son beneficiosos para estos escenarios:

  • Tus conectores soportan generación automática. Ejemplos incluyen actividades de base de datos, Salesforce, NetSuite y ServiceNow.
  • Quieres actualizaciones automáticas y mantenimiento reducido. Los cambios en el sistema de origen actualizan las transformaciones automáticamente y mantienen los puntos finales sincronizados.
  • Estás trabajando con formatos de datos estándar y establecidos. Esto incluye esquemas de bases de datos, especificaciones de API y aplicaciones empresariales.

Los esquemas definidos por la actividad siguen este proceso:

  1. Configura tu actividad: Establece conexiones de base de datos, puntos finales de API o ubicaciones de archivos.
  2. Generación de esquemas: La actividad genera automáticamente esquemas de solicitud, esquemas de respuesta o ambos.
  3. Herencia de esquemas: Las transformaciones adyacentes heredan estos esquemas automáticamente.
  4. Precedencia: Los esquemas de actividad tienen prioridad sobre los esquemas definidos por la transformación.

Ejemplo

Una actividad de consulta de base de datos genera automáticamente un esquema de respuesta basado en los resultados de tu consulta SQL. Cuando agregas una transformación después de esta actividad, hereda este esquema como su origen.

Cuando elimine, quite, corte o mueva una actividad de origen o destino que proporciona un esquema, cualquier transformación que utilice ese esquema tendrá el esquema eliminado después de que confirme la acción en el diálogo. Por ejemplo, para mover un componente:

Texto del diálogo

¿Mover componente?
Esta acción moverá el componente y también eliminará el esquema de destino y todos los mapeos de la(s) transformación(es) siguiente(s):

  • Ejemplo de transformación

Tipos de esquemas de actividad

Las actividades generan esquemas de dos maneras:

  • Esquemas generados por conectores: Generados directamente a partir de los metadatos del punto final y se actualizan automáticamente cuando actualiza la actividad. Ejemplos incluyen estructuras de tablas de bases de datos y formatos de respuesta de API.

  • Esquemas definidos por el usuario en actividades: Esquemas personalizados que carga durante la configuración de la actividad y permanecen fijos a menos que los actualice manualmente. Ejemplos incluyen archivos JSON de muestra para actividades HTTP o plantillas CSV para actividades de archivo.

Esquemas definidos por transformación

Los esquemas definidos por transformación son esquemas personalizados que crea dentro de la propia transformación. Tiene control total sobre su estructura y contenido.

Los esquemas definidos por transformación son beneficiosos para estos escenarios:

  • Necesita estructuras especializadas que no proporcionan los conectores estándar. Ejemplos incluyen formatos de salida personalizados, combinación de múltiples fuentes de datos y aplicaciones especializadas.
  • Sus puntos finales no proporcionan esquemas automáticos. Esto incluye sistemas heredados, API personalizadas sin especificaciones y formatos de archivo manuales.
  • Desea esquemas que no cambien con actualizaciones externas. Utilice este enfoque para formatos estandarizados, integraciones compartidas y cuando necesite control directo sobre la estructura.

Puede crear esquemas de transformación utilizando estos métodos:

Tipo de esquema Descripción Mejor para
Custom flat Estructuras de un solo nivel como archivos CSV. Datos tabulares y mapeo sencillo.
Custom hierarchical Estructuras complejas y anidadas como XML o JSON. Múltiples niveles, relaciones y organizaciones de datos complejas.
Sample file Generar esquemas a partir de archivos de datos existentes (CSV, JSON, XML, XSD). Detección automática de estructura y tipos de datos a partir de ejemplos.
Mirrored Copiar la estructura del otro lado de su transformación. Cuando la fuente y el destino tienen formatos similares que necesitan personalización.

Nota

Considera estas reglas de precedencia cuando estés construyendo tus operaciones:

  • Los esquemas de actividad adyacentes anulan los esquemas de transformación.
  • Incluso si mueves una actividad, su esquema sigue siendo heredado.
  • Los esquemas de transformación se utilizan por defecto solo cuando no hay un esquema de actividad disponible.

Ejemplo de escenario

En esta operación, la precedencia de esquemas funciona de la siguiente manera:

herencia de transformación

  • Esquema de origen: Heredado de la actividad de consulta de base de datos (definido por la actividad).
  • Esquema de destino: Heredado de la actividad HTTP v2 POST (si se proporciona un esquema) o definido por la transformación. Si eliminas la actividad HTTP v2 POST, la transformación mantiene el esquema de destino como un esquema definido por la transformación.

Actualizar esquemas desde puntos finales

Cuando los sistemas externos cambian, debes regenerar los esquemas para utilizar esos cambios en tu proyecto. Esto puede ser necesario cuando:

  • Agregas campos personalizados a un sistema.
  • Actualizas a una nueva versión de API.
  • Modificas las estructuras de las tablas de la base de datos.

Actualizar esquemas generados por conectores

Los esquemas generados por conectores obtienen su estructura de la API del punto final. Cuando el punto final cambia, debes actualizar el esquema en Integration Studio.

Para todos los conectores excepto [Base de datos], NetSuite, Salesforce, Salesforce Service Cloud y ServiceMax, puedes regenerar el esquema desde dos ubicaciones:

  1. Configuración de actividad: Abre la actividad y navega al paso de Esquema de datos y haz clic en Actualizar.

  2. Transformación: Pasa el cursor sobre la estructura de origen o destino y haz clic en Actualizar esquema.

El esquema se actualiza desde el punto final y se refresca en todas las ubicaciones donde se hace referencia.

Conectores de base de datos, NetSuite y ciertos conectores de Salesforce

Los conectores de Database, NetSuite, Salesforce, Salesforce Service Cloud y ServiceMax requieren reconfiguración para actualizar los esquemas:

  1. Abre la configuración de la actividad.
  2. Avanza a través de cada paso de configuración.
  3. Realiza al menos un cambio, como agregar y eliminar un carácter del nombre de la actividad.
  4. Completa la configuración.

El esquema se actualiza cuando completas los pasos de configuración.

Nota

Cuando actualizas un esquema, todas las instancias de ese esquema en tu proyecto se actualizan. Esto incluye todas las transformaciones y actividades que hacen referencia al esquema.

Actualizar esquemas definidos por transformación

Los cambios en los esquemas definidos por el usuario se propagan automáticamente a todas las referencias. Cuando editas un esquema utilizado en múltiples lugares, se muestra un diálogo con los componentes afectados:

Texto del diálogo

Esquema utilizado por múltiples componentes
Este esquema es utilizado por múltiples componentes. Cualquier cambio realizado en él podría afectar la validez de estos componentes: - Componente 1 - Componente 2

Para evitar que los cambios afecten a otros componentes, primero elimina o reemplaza la referencia del esquema en esos componentes.

Manejar cambios de esquema en operaciones

Si el esquema de un endpoint cambia pero no lo has regenerado en Integration Studio, tus operaciones pueden fallar. El impacto depende de:

  • Qué campos cambiaron.
  • Si los campos cambiados están mapeados.
  • Si los campos cambiados son obligatorios.

Por ejemplo:

  • Campo obligatorio eliminado: Las operaciones fallan con errores del endpoint.
  • Campo opcional eliminado: Las operaciones pueden tener éxito si el campo no está mapeado.
  • Campo obligatorio agregado: Las operaciones fallan si el campo no está mapeado.
  • Campo opcional agregado: Las operaciones tienen éxito, pero el nuevo campo es ignorado.

Consejo

Regenera los esquemas siempre que modifiques los sistemas de endpoint para prevenir errores en tiempo de ejecución.

Migración de proyectos heredados

Los proyectos creados antes de la versión 10.33.2 de Harmony renombrarán automáticamente los esquemas definidos por el usuario utilizando este patrón:

<Nombre del esquema original>_<Nombre de la transformación>_<Origen o destino>

Por ejemplo, CustomerData se convierte en CustomerData_TransformCustomers_Source.

Esta nomenclatura asegura una identificación única del esquema a través de las transformaciones.