El CDS – Core Data Services es una extensión del Diccionario ABAP que nos permite definir modelos de datos semánticamente ricos en la base de datos y utilizar estos modelos de datos en los programas ABAP. CDS es una parte central del código pushdown en aplicaciones ABAP. Estos objetos se pueden crear en Eclipse – ABAP Development Tools (ADT).
Los modelos de datos representan la parte más importante del desarrollo de aplicaciones. Proporcionan un método estandarizado para definir y formatear los contenidos de la base de datos de manera consistente en todos los sistemas, permitiendo que diferentes aplicaciones compartan los mismos datos, reduciendo los costos de desarrollo, acelerando el tiempo de comercialización y mejorando la calidad y el rendimiento.
Aquellos familiarizados con el desarrollo de aplicaciones en el mundo ABAP conocen cómo las herramientas tradicionales de modelado de datos incluidas con SAP NetWeaver Application Server, SAP NetWeaver AS ABAP en particular, el diccionario de datos ABAP (DDIC), que almacena definiciones de objetos, tales como tablas y vistas de bases de datos, que se pueden usar en programas ABAP. Luego llegó SAP HANA y el nuevo paradigma de llevar la lógica de datos intensivos a la capa de la base de datos. El concepto de Virtual Data Model (VDM) se introdujo con HANA Live hace algunos años, SAP HANA Live es un modelo de datos virtual sobre tablas que usa vistas nativas de SAP HANA SQL llamadas vistas de cálculo para informes operacionales en tiempo real.
Para aprovechar SAP HANA para el desarrollo de aplicaciones, SAP introdujo una nueva infraestructura de modelado de datos conocida como Core Data Services. Con CDS, los modelos de datos se definen y consumen en el servidor de bases de datos en lugar de en el servidor de aplicaciones. CDS también ofrece capacidades más allá de las herramientas tradicionales de modelado de datos, que incluyen soporte para modelado conceptual y definiciones de relación, funciones integradas y extensiones. Originalmente, CDS estaba disponible solo en los entornos de tiempo de diseño y tiempo de ejecución de SAP HANA. Ahora, el concepto CDS también se implementa completamente en SAP NetWeaver AS ABAP, lo que permite a los desarrolladores trabajar en la capa ABAP con herramientas de desarrollo ABAP mientras la ejecución del código se transfiere a la base de datos.
CDS simplifica y armoniza la forma en que se define y consumen sus modelos de datos, independientemente de la tecnología de consumo. Técnicamente, es una mejora de SQL que le proporciona un lenguaje de definición de datos (DDL) para definir tablas/vistas de bases de datos semánticamente ricas (entidades CDS) y tipos definidos por el usuario en la base de datos. Algunas mejoras incluyen:
- Expresiones utilizadas para cálculos y consultas en el modelo de datos
- Asociaciones a nivel conceptual, reemplazando las uniones con expresiones de ruta simples en consultas
- Anotaciones para enriquecer los modelos de datos con metadatos adicionales (específicos del dominio)
Arquitectura
La arquitectura de los CDS se divide en tres capas:
- Capa de base de datos
Esta capa se puede configurar con la mayoría de las bases de datos como Oracle, SAP HANA, etc. Sin embargo, para obtener el mejor resultado, se recomienda tener SAP HANA.
- Capa de aplicación
Esta capa contiene el backend AS ABAP y SAP Gateway, integrados mediante llamadas RFC.
- Capa de presentación
Esta capa contiene la interfaz de usuario de SAP Fiori, UI5 para exponer las aplicaciones para el usuario final.
Beneficios de los CDS
La utilización de los objetos Core Data Services permite ofrece los siguientes beneficios:
- Modelos de datos semánticamente ricos
Modelo de relación de entidades. Idiomas específicos del dominio (DDL, QL, DCL). Declarativo, cercano al pensamiento conceptual.
- CDS está completamente basado en SQL
Todas las características de ‘SQL estándar’ están disponibles directamente como uniones, funciones incorporadas, …
- Completamente compatible en cualquier base de datos
CDS se genera en vistas administradas de Open SQL y se integra en la capa de SAP HANA. Estas vistas son compatibles con todas las principales bases de datos.
- Compatibilidad con anotaciones
La sintaxis de CDS admite anotaciones específicas de dominio que otros componentes pueden evaluar fácilmente, como la interfaz de usuario, los análisis y los servicios de OData.
- Asociaciones
Definición simplificada de vistas en la parte superior de las vistas. Expresiones de ruta para navegar a lo largo de las relaciones.
- Extensibilidad
Podemos extender vistas de CDS definidas por SAP con campos que se agregarán automáticamente a la vista de CDS junto con su jerarquía de uso en el nivel de modelo a través de extensiones o en el nivel de metamodelo a través de anotaciones.
Ejemplo de vista CDS:
Crear vistas CDS y usarlas se debe tener algún tipo de licencia especial con SAP?
Hola Mario,
No, no es necesario una licencia especial, pero sí depende de la versión.
Un saludo.