Saltar al contenido principal
Cloud Information Model Un modelo de datos abierto e independiente de la aplicación para conectar aplicaciones empresariales en la nube y locales.

Algunos enlaces de este sitio son de afiliados: si compras a través de ellos, es posible que recibamos una comisión sin coste adicional para ti. Esto nunca afecta a nuestras recomendaciones. Consulta nuestra declaración de afiliados para más detalles. Divulgación de afiliados.

Modelo de Información en la Nube

En lugar de inventar un modelo de datos a medida para cada integración, CIM ofrece un vocabulario compartido para que un CRM, un ERP, una plataforma de comercio y un almacén de análisis puedan ponerse de acuerdo sobre lo que realmente significa una “Sales Order” (orden de venta) o un “Product Relationship Type” (tipo de relación de producto). Este artículo recorre los grupos de entidades que componen el modelo y luego profundiza en una entidad representativa — ProductRelationshipType — para mostrar cómo CIM expresa relaciones, roles y claves en la práctica.

Conclusiones clave

  • CIM organiza los datos empresariales en grupos de entidades (Party, Product, Sales Order, Payment y otros) que se pueden adoptar de forma incremental en lugar de todos a la vez.
  • Cada entidad se define con un Term URI, una descripción, propiedades escalares y propiedades de enlace: una estructura que se mapea limpiamente a JSON-LD, RDF y almacenes de grafos de propiedades.
  • Las entidades de relación como ProductRelationshipType codifican roles (padre/hijo) para que los paquetes, opciones y coberturas se puedan modelar sin codificar la lógica de negocio.
  • El modelo es deliberadamente independiente de la aplicación: describe qué significan los datos, no cómo los almacena un proveedor en particular.
  • La adopción de CIM es un ejercicio de mapeo, no un proceso de sustitución total (rip-and-replace): se alinean los sistemas existentes con términos compartidos y se reconcilian las brechas.

Por qué es importante un modelo compartido

La integración empresarial tiene un modo de falla familiar: cada sistema habla su propio dialecto. Salesforce lo llama Account, SAP lo llama Business Partner y un servicio de facturación propio lo llama Customer. Cuando se crean mapeos punto a punto entre cada par, el número de traducciones crece con el cuadrado de los sistemas involucrados, y cada nuevo sistema multiplica la carga de mantenimiento.

Un modelo canónico rompe ese problema cuadrático. Se mapea cada sistema una vez al modelo compartido, y el modelo compartido se convierte en el núcleo (hub). Este es el mismo instinto arquitectónico detrás de estándares como OAGIS (Open Applications Group Integration Specification), el Common Warehouse Metamodel de la OMG y el vocabulario de comercio de schema.org.

CIM se inscribe en esa tradición, pero está dimensionado para la interoperabilidad de la era de la nube y se publica como términos abiertos con URIs desreferenciables.

La recompensa práctica es que un arquitecto de datos puede responder preguntas como “¿qué sistemas contienen el registro autoritativo de una Party?” o “¿cómo representamos un paquete de productos de manera consistente en todo el catálogo y el pedido?” utilizando un único punto de referencia.

Los grupos de entidades de un vistazo

CIM no es un esquema monolítico único; es un conjunto de grupos débilmente acoplados. Los grupos nombrados en el modelo incluyen:

Relacionado: — El proceso ELT totalmente gestionado que sigue funcionando.

  • Account — el contexto de la relación comercial de una parte.
  • Contact Point — números de teléfono, direcciones de correo electrónico y canales de contacto similares.
  • Lead — una parte prospectiva aún no calificada.
  • Party y Party Role — el concepto general de un actor y los roles que desempeña (cliente, proveedor, empleado).
  • Payment y Payment Method — cómo se mueve el dinero y los instrumentos utilizados.
  • Product Attribute, Product Catalog y Product — los bienes y servicios vendibles y describibles.
  • Sales Order y su gran familia de subentidades — el corazón transaccional del modelo.
  • Shipment — cumplimiento y logística.

El grupo Sales Order es, con diferencia, el más granular, y vale la pena entender por qué. Un pedido es donde se concentran las reglas de negocio: precios, impuestos, ajustes, agrupaciones de entrega y notas por línea se adjuntan a él.

CIM descompone el pedido en muchas entidades pequeñas — Sales Order Product, Sales Order Price Adjustment, Sales Order Tax, Sales Order Delivery Group, Sales Order Payment Summary, Sales Order Change Log y más — en lugar de una sola tabla ancha. Esa descomposición es una elección de diseño deliberada: permite que cada aspecto evolucione de forma independiente y permite que los sistemas se suscriban solo a las partes que les interesan.

Anatomía de una entidad CIM

Cada entidad en CIM sigue la misma forma, lo que hace que el modelo sea predecible para consumir programáticamente. Considere ProductRelationshipType, la entidad que describe por qué dos productos están relacionados.

Nuestra elección: — que los equipos empresariales pueden aprovechar.

  • Term URI — http://cloudinformationmodel.org/model/ProductRelationshipType. Este es el identificador único global del concepto. Debido a que es un URI, puede ser desreferenciado y utilizado directamente en grafos RDF/JSON-LD.
  • Description — “Reasons why products are related such as bundle, option or covering” (Razones por las que los productos están relacionados, como paquete, opción o cobertura). Esto le indica que la entidad es un tipo o clasificación, no la instancia de la relación en sí.
  • Scalar Properties — los campos primitivos que transportan datos.
  • Link Properties — referencias a otras entidades. ProductRelationshipType no tiene ninguna, lo cual es en sí mismo informativo: es una entidad hoja, un vocabulario controlado en lugar de un núcleo.

Las propiedades escalares son:

PropertyTerm URIRangeMandatoryDescription
id.../model/idguidyesPrimary key
parentProductRole.../model/parentProductRolestringyesThe first role in the relationship, e.g. “Consists of”
childProductRole.../model/childProductRolestringyesThe second role in the relationship, e.g. “Component of”

El hecho de que el id sea un GUID es una convención significativa: significa que los identificadores son globalmente únicos sin coordinación entre sistemas, que es exactamente lo que se desea cuando los registros se crean en diferentes nubes y luego se fusionan.

Modelado de relaciones con roles

La parte más instructiva de ProductRelationshipType es el par de propiedades de rol. Una relación de producto es direccional, y CIM captura esa dirección con dos roles nombrados en lugar de una única cadena de “tipo” opaca.

Piensa en un paquete. Un “Starter Kit” consta de un “Router” y un “Cable”. En términos de CIM:

  • El producto padre desempeña el rol descrito por parentProductRole; por ejemplo, “Consiste en”.
  • El producto hijo desempeña el rol descrito por childProductRole; por ejemplo, “Componente de”.

Al almacenar ambos roles como cadenas en el tipo, obtienes una definición reutilizable. Cualquier número de enlaces reales de producto a producto puede hacer referencia a la misma fila ProductRelationshipType, por lo que el vocabulario sigue siendo pequeño y coherente mientras que las instancias de relación siguen siendo numerosas. Este es un patrón de normalización clásico: separar el tipo de relación de sus instancias.

La descripción menciona explícitamente tres variantes — bundle (paquete), option (opción) y covering (cobertura) —, lo que da pistas sobre el rango de semántica comercial que el modelo pretende cubrir:

Relacionado: — ELT push-down creado para almacenes de datos en la nube.

  • Bundle — productos vendidos juntos como una unidad (el padre “consta de” hijos).
  • Option — una elección o complemento asociado con un producto base.
  • Covering — un producto que envuelve o protege a otro, común en contextos de seguros y garantías.

Cómo decidir tu vocabulario de roles

Debido a que parentProductRole y childProductRole son cadenas de formato libre, el modelo no dicta la redacción exacta. Esa flexibilidad es una característica y un peligro. Algunas reglas prácticas:

  1. Elige un vocabulario controlado y congélelo. Acuerda un pequeño conjunto de frases de roles (“Consiste en” / “Componente de”, “Complemento opcional de” / “Tiene opción”) y documéntalas. El texto libre invita a la deriva.
  2. Mantén los roles simétricos y legibles en ambas direcciones. Una buena prueba: ¿puedes leer la relación en voz alta desde cualquiera de los extremos y que tenga sentido?
  3. No sobrecargues los roles con lógica de negocio. Si un rol necesita un comportamiento condicional, esa lógica pertenece a la aplicación consumidora, no a la cadena.
  4. Versiona tu vocabulario. Cuando agregues un rol, trátalo como un cambio de esquema con una ruta de migración, no como una inserción ad hoc.

Adopción de CIM en la práctica

Adoptar un modelo canónico es una disciplina de mapeo, no una migración. Una secuencia viable:

  • Haz un inventario de tus sistemas de registro. Para cada grupo de entidades, decide qué sistema es el autoritativo. El Party podría vivir en el CRM; el Product en el PIM; el Sales Order en el ERP.
  • Mapea cada fuente a términos CIM. Crea una tabla de campo fuente $\rightarrow$ propiedad CIM. Donde una fuente no tenga equivalente, anota la brecha; donde CIM no tenga equivalente, anota la extensión.
  • Concilia los identificadores. La convención de GUID de CIM significa que normalmente mantendrás una tabla de equivalencias (crosswalk) entre las claves nativas y los valores id de CIM.
  • Elige una serialización. Los términos basados en URI de CIM se mapean naturalmente a JSON-LD y RDF; también se traducen limpiamente a tablas relacionales o a un grafo de propiedades. El modelo no impone una tecnología de almacenamiento.
  • Gobierna el vocabulario. Las cadenas de roles, enumeraciones y extensiones que agregues son las partes con mayor probabilidad de derivar, así que ponlas bajo control de cambios.

Un modelo mental útil es tratar a CIM como el esquema de intercambio y a tus almacenes operativos como el sistema de registro. No estás pidiendo a cada aplicación que abandone su modelo nativo; les estás pidiendo que publiquen y consuman uno compartido en los límites.

Si estás de compras: — para la integración híbrida de la nube a las instalaciones.

Advertencias y compensaciones

Ningún modelo canónico es gratuito, y CIM no es la excepción.

  • La abstracción tiene un precio. Un modelo lo suficientemente general como para abarcar industrias no se ajustará perfectamente a ninguna de ellas. Espera tener que añadir extensiones.
  • El grupo de Sales Order es pesado. Su descomposición detallada es poderosa, pero implica más uniones (joins) y más entidades que mapear. Los equipos con flujos de pedidos simples pueden adoptar solo un subconjunto.
  • Las cadenas de roles de formato libre necesitan gobernanza. Como se señaló, la flexibilidad en parentProductRole y childProductRole es tan buena como la disciplina que la rodee.
  • Los modelos abiertos evolucionan. Debido a que CIM está orientado a la comunidad, los términos pueden agregarse o refinarse con el tiempo. Fíjate en una versión y revisa los cambios deliberadamente.

La compensación es esencialmente la clásica entre la fidelidad a un sistema específico y la portabilidad entre sistemas. CIM optimiza la portabilidad, que es la decisión correcta cuando el objetivo es la interoperabilidad.

Preguntas frecuentes

¿Qué es el Cloud Information Model?

El Cloud Information Model es un modelo de datos abierto e independiente de la aplicación que define entidades y términos compartidos para datos empresariales como partes, productos, pedidos y pagos. Proporciona un vocabulario común para que diferentes sistemas en la nube y locales puedan intercambiar datos sin mapeos punto a punto personalizados.

¿Para qué se utiliza ProductRelationshipType?

ProductRelationshipType define las razones por las que dos productos están relacionados; por ejemplo, un paquete, una opción o una cobertura. Almacena un rol de padre y un rol de hijo para que los enlaces direccionales de producto a producto puedan hacer referencia a una definición compartida y reutilizable en lugar de repetir la semántica en cada enlace.

¿Por qué CIM utiliza GUID para las claves primarias?

El uso de un GUID para la propiedad id significa que los identificadores son globalmente únicos sin necesidad de coordinación central. Esto es importante en entornos multi-nube y multi-proveedor donde los registros se crean en diferentes sistemas y luego se fusionan, ya que las colisiones se evitan efectivamente.

¿Es CIM un esquema de base de datos o un formato de intercambio de datos?

Se entiende mejor como un modelo conceptual y de intercambio que como un esquema de base de datos física. Sus términos basados en URI se mapean naturalmente a JSON-LD, RDF, tablas relacionales o grafos de propiedades, por lo que puedes implementarlo en cualquier tecnología de almacenamiento que ya utilice tu arquitectura.

¿Cómo se relaciona CIM con otros estándares como OAGIS o schema.org?

CIM comparte el objetivo de esos esfuerzos —un vocabulario compartido para la interoperabilidad—, pero está orientado a la integración empresarial de la era de la nube y se publica como términos abiertos y desreferenciables. En la práctica, puede mapear CIM a otros estándares en los extremos donde los socios los requieran.

¿Tengo que adoptar todo el modelo de una vez?

No. CIM está organizado en grupos de entidades débilmente acoplados, por lo que puede adoptar los grupos que necesite —por ejemplo, Party y Product— y expandirse más adelante. La mayoría de los equipos comienzan con las entidades que causan más problemas de integración y crecen a partir de ahí.

Lectura adicional

Preguntas frecuentes

¿Qué es el modelo de información en la nube?

El modelo de información en la nube es un modelo de datos abierto e independiente de las aplicaciones que define entidades y términos compartidos para datos empresariales como partes, productos, pedidos y pagos. Proporciona un vocabulario común para que diferentes sistemas locales y en la nube puedan intercambiar datos sin asignaciones personalizadas de punto a punto.

¿Para qué se utiliza "ProductRelationshipType"?

ProductRelationshipType define las razones por las que dos productos están relacionados (por ejemplo, un paquete, una opción o una cobertura). Almacena una función principal y una función secundaria para que los enlaces direccionales de producto a producto puedan hacer referencia a una definición compartida y reutilizable en lugar de repetir la semántica en cada enlace.

¿Por qué CIM utiliza GUID para claves primarias?

El uso de un GUID para la propiedad id significa que los identificadores son globalmente únicos sin coordinación central. Esto es importante en entornos de múltiples nubes y múltiples proveedores donde los registros se crean en diferentes sistemas y luego se fusionan, porque las colisiones se evitan de manera efectiva.

¿Es CIM un esquema de base de datos o un formato de intercambio de datos?

Se entiende mejor como un modelo conceptual y de intercambio que como un esquema de base de datos física. Sus términos basados ​​en URI se asignan naturalmente a JSON-LD, RDF, tablas relacionales o gráficos de propiedades, por lo que puede implementarlo en cualquier tecnología de almacenamiento que ya utilice su arquitectura.

¿Cómo se relaciona CIM con otros estándares como OAGIS o esquema.org?

CIM comparte el objetivo de esos esfuerzos (un vocabulario compartido para la interoperabilidad), pero está destinado a la integración empresarial de la era de la nube y se publica como términos abiertos y desreferenciables. En la práctica, puede asignar CIM a otros estándares en los extremos donde los socios los requieran.

¿Tengo que adoptar todo el modelo de una vez?

No. CIM está organizado en grupos de entidades poco acopladas, por lo que puede adoptar los grupos que necesita (por ejemplo, Parte y Producto) y expandirse más adelante. La mayoría de los equipos comienzan con las entidades que causan más problemas de integración y crecen a partir de ahí. Lecturas adicionales - [Pedido de venta](https://en.wikipedia.org/wiki/Sales_order) — Wikipedia - [Marco de descripción de recursos (RDF)](https://en.wikipedia.org/wiki/Resource_Description_Framework) — Wikipedia - [JSON-LD](https://en.wikipedia.org/wiki/JSON-LD) — Wikipedia - [schema.org](https://schema.org/) — vocabulario compartido para datos estructurados en la web


Vea cómo Boomi maneja su mapa de integración híbrida

iPaaS empresarial para la integración híbrida de la nube a las instalaciones