CDS y AMDP: ¿qué es esto?

En la entrada de ayer, solté un par de «palabros» y me quedé tan a gusto: CDS y AMDP.

Y aunque puse un link en cada «palabro», por si alguien tenía curiosidad en saber de qué estaba hablando, hoy me explayo un poco más, pero no mucho y en términos no excesivamente técnicos.

Desde la aparición de HANA, a finales de 2010, ha llovido un poco y lo que nació como una base de datos en memoria se ha convertido en una plataforma de aplicaciones, por supuesto sin dejar de ser una base de datos en memoria.

Una de las grandes ventajas que tiene es la capacidad de procesamiento, precisamente por el hecho de trabajar directamente en memoria, sin tener que hacer lentas lecturas de disco.

Y debido a esto, todo lo que nos decían antes de «no accedas mucho a la base de datos, lee los datos en bruto y luego los procesas en la aplicación», ahora ha cambiado a «métele caña a la base de datos, que te dé todo hecho y tú sólo lo pintas».

Total, que tocaba refrescar conceptos de SQL, ya que para trabajar contra HANA tenía que utilizar principalmente SQLScript para sacarle todo el jugo posible a la base de datos y además no me valía para nada el ABAP porque tenía que trabajar con HANA Studio, que es algo muy muy parecido a lo que os contaba ayer de las ABAP Development Tools…  es decir, herramientas que instalo en Eclipse y me cargan perspectivas para trabajar contra HANA.

Parecía que el desarrollo en ABAP y en HANA llevaban caminos paralelos, pero… poco a poco, van convergiendo y ya hay ciertas cosas que podemos hacer en un entorno ABAP y transportarlo a un entorno HANA, como por ejemplo usar Core Data Services (CDS) y crear ABAP Managed Databased Procedures (AMDP).

¿Para qué me sirven los CDS en ABAP? Pues básicamente, para definir vistas en el diccionario mucho más «potentes» (ya avisé que no iba a ser muy técnico), con el objetivo de cargar la mayor parte del trabajo en la definición de la vista y después únicamente consumirla.

Más info: ABAP News for 7.40, SP08 – ABAP Core Data Services (CDS)

¿Y los AMDP para qué valen? Esencialmente, para crear procedimientos de base de datos (conjuntos de instrucciones que me permiten realizar procesos) utilizando una serie de clases, mezclando código ABAP y SQLScript, que se ejecutarán luego en mi base de datos HANA.

Más info: ABAP Managed Database Procedures – Introduction

Vamos, que aquellos que decían que el ABAP estaba muerto y que ahora todo iba a ser desarrollo nativo en HANA, pues va a ser que no… lo que sí es cierto es que tengo que aprovechar las bondades de ambos mundos: ni todo desde ABAP, ni todo desde HANA.

Habrá casos que lo mejor será atacar directamente a HANA y otros casos en los que podré utilizar ABAP.

Y claro, para poder hacer hacer eso, tengo que aprender cosas nuevas… otro día os cuento como empezar a jugar con HANA 😉

4 comentarios sobre “CDS y AMDP: ¿qué es esto?

  1. Interesante aportación Antonio! Tengo una consulta con respecto a los AMDP? Porqué en las grandes empresas no quieren utilizar los AMDP para ejecutar procedimientos? Por ejemplo como sabrás los CDS no ejecutan llamadas a funciones o bapis y no todo existe en tablas por lo tanto de allí la necesidad de ejecutar funciones pero en las grandes compañías se reusan a utilizar lo que llamas AMDP. Cuál es la razón? Cuál es la desventaja con los CDs que utilicen los AMDP? Te agradezco tu aportación ya que quiero definir un funcional y sustentar esto. Gracias

    1. Disculpa. por el retraso.

      Desconozco la reticencia. Al final, los AMDP son simplemente procedimientos de bases de datos, que en lugar de crearlos en la parte HANA, los creo que ABAP y los gestiono desde allí.

      Probablemente, el temor venga por el desconocimiento… 😉

      Saludos.

Responder a aancosCancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.