Connected Data Objects ( CDO ) es una implementación gratuita de un modelo compartido distribuido sobre el marco de modelado de Eclipse (EMF).
Con CDO, los programadores pueden mejorar fácilmente los modelos EMF existentes para almacenarlos y mantenerlos en un repositorio centralizado. Si bien el mapeo objeto-relacional con una fuente de datos JDBC en el servidor es la configuración predeterminada, CDO ofrece adaptadores de almacenamiento conectables que permiten desarrollar y usar diferentes mapeadores (como Hibernate o basados en bases de datos orientadas a objetos ). En el lado del cliente, CDO ofrece una integración predeterminada con EMF, el marco de modelado de Eclipse, aunque también son posibles otras integraciones de modelos sobre el protocolo CDO .
Características de integración del modelo
- Integración de EMF a nivel de modelo (en contraposición al nivel de edición)
- Compatibilidad con modelos generados (basta con cambiar dos propiedades de .genmodel)
- Compatibilidad con modelos dinámicos (simplemente cargue el archivo .ecore y confirme los cambios en el repositorio).
- Compatibilidad con modelos heredados (para modelos compilados sin acceso a .genmodel)
- Soporte para el metamodelo Ecore y sus descendientes.
Características de la interfaz de usuario
- Vista de Eclipse para trabajar con sesiones, transacciones, vistas y recursos de CDO.
- Diálogo del administrador de paquetes por sesión
- Editor Eclipse para trabajar con recursos y objetos.
Funcionalidades del lado del cliente
- Múltiples sesiones a múltiples repositorios en múltiples servidores
- Múltiples transacciones por sesión
- Varias vistas de solo lectura por sesión
- Múltiples vistas de auditoría por sesión (una auditoría es una vista que muestra una versión histórica y coherente de un repositorio).
- Múltiples recursos por vista (una vista siempre está asociada a su propio conjunto de recursos EMF).
- Resolución de proxy entre recursos
- Múltiples objetos raíz por recurso
- El estado del objeto se comparte entre todas las vistas de una sesión.
- El grafo de objetos no está conectado internamente (las partes no utilizadas del grafo pueden ser recuperadas fácilmente por el recolector de basura).
- Solo se confirman los objetos nuevos y modificados en una transacción.
- Las transacciones pueden abarcar múltiples recursos.
- Carga bajo demanda de objetos (los recursos se cargan a medida que se navega por ellos).
- Carga parcial de colecciones (el tamaño del fragmento se puede configurar por sesión).
- Precarga adaptable de objetos (se encuentran disponibles diferentes analizadores de uso inteligentes).
- Invalidación asíncrona de objetos (opcional)
- API limpia para trabajar con sesiones, vistas, transacciones y objetos.
- Los recursos de CDOR también son objetos EObject.
- Los objetos contienen metainformación como ID, estado, versión y ciclo de vida.
- Compatibilidad con entornos OSGi (sin interfaz gráfica, Eclipse RCP, ...)
- Compatibilidad con aplicaciones independientes (no OSGi)
Características del protocolo de red
- Protocolo de aplicación binaria basado en Net4j
- Capa de transporte conectable (incluye transporte mediante socket NIO y transporte integrado en la JVM).
- Soporte de conmutación por error conectable
- Autenticación conectable (incluye negociación de desafío/respuesta)
- Múltiples aceptadores por servidor
Características del lado del servidor
- Adaptadores de almacenamiento enchufables
- Múltiples repositorios por servidor
- Múltiples modelos (paquetes) por repositorio
- Múltiples recursos (documentos de instancia) por repositorio
- Archivo de configuración XML expresivo
- Adaptador de almacenamiento configurable por repositorio (ver más abajo)
- Almacenamiento en caché configurable por repositorio
- API limpia para trabajar con repositorios, sesiones, vistas, transacciones y revisiones.
- Compatibilidad con entornos OSGi (normalmente sin interfaz gráfica)
- Compatibilidad con aplicaciones independientes (no OSGi)
Características del almacén de base de datos
- Admite todas las funciones opcionales del servidor CDO.
- Adaptadores de dialecto SQL conectables
- Incluye soporte para Derby, HSQLDB, MySQL y Oracle (por determinar).
- Estrategias de mapeo conectables
- Incluye estrategia de mapeo horizontal (una tabla por clase de concreto).
- Incluye estrategia de mapeo vertical (por definir, una tabla por clase en la jerarquía).
- Admite diferentes modos de mapeo para colecciones.
Enlaces externos
- Página principal de CDO
- Eclipse (software)