Con la llegada de HANA, SAP ha optimizado la gestión de datos en los diferentes módulos que lo componen, como en logística y finanzas, calidad, SAP TM o BPC entre otros. Además de que se han rediseñado muchos flujos de procesos creando nuevas aplicaciones con las que se pueden trabajar directamente en la web, tables o móviles, basadas en SAP Fiori.
Sin embargo, con estos nuevos cambios SAP no se ha olvidado de su lenguaje de programación por excelencia ABAP (Advanced Business Application Programming), introduciendo por ello mejoras para potenciarlo además de la creación de un nuevo paradigma de programación. En Sothis, no hemos querido perdernos estos avances y ya trabajamos con ellos para poder sacar el máximo partido a la base de datos HANA de nuestros clientes.
Como transición a HANA, SAP ha creado herramientas de análisis para poder monitorizar y evaluar aquellas aplicaciones ABAP que se pueden optimizar, en caso de que se vaya a migrar a un sistema cuya base de datos primaria sea HANA. Por tanto, los pasos a seguir para conseguir que la migración sea un éxito serían:
- Detectar aquellos flujos donde se puede o se debería mejorar el rendimiento y analizar y priorizar según la importancia de cada uno.
- Optimizar la lógica existente usando una lista de prioridades.
- Innovar, como paso opcional, con SAP HANA utilizando sus nuevas características para rediseñar estos flujos.
Nuevo paradigma de programación
El desarrollo de la tecnología in-memory, también requiere un cambio en la manera de diseñar e implementar aplicaciones. El paradigma de programación clásica de ABAP se basaba en:
- Evitar la sobrecarga de la base de datos
- Obtener todos los datos necesarios en el servidor de aplicación
- Realizar el procesamiento de datos en ABAP
A fin de beneficiar las capacidades de HANA, es preferible realizar los cálculos y agregaciones más intensos en la base de datos en sí, en vez de transferir grandes cantidades de datos al servidor de aplicación ABAP. Este es un cambio fundamental en el paradigma de programación ABAP, al que SAP denomina code pushdown también llamado Code-to-Data el opuesto al clásico Data-to-Code y que ha sido introducido a partir de la versión SAP NetWeaver AS ABAP 7.40 SP05.
El nuevo paradigma ofrece una gran variedad de oportunidades para los desarrolladores ABAP, entre las que podríamos destacar:
- Acelerar optimizando la lógica de aquellos Jobs en fondo que tardan horas o días, los cuales con HANA reducirían su tiempo de ejecución. Más Jobs se podrían lanzar al mismo tiempo sin limitar en exceso los recursos de la base de datos y aquellas tareas particularmente costosas se podrían realizar de una en vez de tener que dividirlas en varias.
- Extender. Antes, algunos informes necesitaban ejecutarse en fondo, simplemente porque su tiempo de ejecución era demasiado largo cuando los resultados se requerían en cuestión de minutos. Por ello, los usuarios tenían que realizar operaciones adicionales para obtener estos resultados en menos tiempo. Optimizando estos informes con HANA, los resultados de éstos se pueden obtener al instante, mostrando los datos en tiempo real con la completa capacidad de desglose.
- Innovar. Con las capacidades de análisis y cálculo de HANA, los desarrolladores de ABAP pueden diseñar nuevas aplicaciones que antes no eran posible debido a la limitación de la base de datos.
Conclusiones
A lo largo de las distintas versiones que SAP ha ido liberando, ha ido simplificando y mejorando a su vez, la manera de usar las distintas técnicas para que los desarrolladores ABAP puedan implementar este cambio de paradigma de manera más ágil y simple. En Sothis, hemos tenido que estar pendientes de estas técnicas, ya que según la versión de SAP se utilizan unas u otras.
Por ello, no hemos dejado de estar al día de las últimas novedades que SAP va liberando en cada nueva versión, para aprenderlas y poder aplicarlas satisfactoriamente en los sistemas de nuestros clientes y así poder mejorar las tareas diarias de los usuarios.
En futuras entradas hablaremos de estas técnicas más en detalle:
- Vistas CDS (Core Data Services): Vistas que se ejecutan directamente en base de datos optimizando la obtención de datos
- AMDP (ABAP Managed Database Procedure): Métodos de una clase que se ejecutan directamente en base de datos utilizando el lenguaje SQL Script.
- Objetos Proxy: objetos que conectan vistas y Procedures entre el servidor de aplicación y HANA.