Dos escenarios de ABAP con SAP HANA
Las soluciones que integran el Application Server ABAP con SAP HANA van ganando protagonismo a medida que SAP HANA se posiciona, no sólo para aplicaciones analíticas sino también para la operatoria transaccional. SAP HANA puede articular con ABAP en dos escenarios conceptualmente bien distintos, pero en ambos casos, beneficiándose con la potencia del procesamiento "in-memory" para manejar grandes volúmenes de datos.
Pocas tecnologías tienen actualmente la vertiginosa dinámica de SAP HANA, cuya materialización en productos y soluciones está en constante cambio desde su lanzamiento en el año 2011. Además de la evolución intrínseca de SAP HANA como plataforma, existe una evolución paralela en los demás componentes SAP que deben articular con ella para configurar una solución. Tal es el caso del AS (Application Server) ABAP, que gana protagonismo a medida que SAP HANA se posiciona, no sólo para aplicaciones análíticas sino también para la operatoria transaccional.
Actualmente hay dos escenarios dominantes en los clientes que utilizan SAP HANA.
1. SAP HANA como una base de datos "stand-alone", corriendo en paralelo con las aplicaciones existentes para soportar el análisis operacional o los reportes operativos. A esta modalidad se la conoce también como "side-by-side".
2. SAP HANA, no como un complemento, sino como la base de datos primaria, integrada al Application Server de ABAP. El caso más común de este escenario es "BW on HANA"
Obviamente la tecnología "in-memory" trae mejoras significativas en la performance en ambos escenarios.
En el presente tip explicaremos y diferenciaremos las distintas configuraciones actualmente en uso para SAP HANA, donde se verá cómo ABAP puede trabajar con HANA, en ambos escenarios.
NOTA: El siguiente Tip asume que el lector está familiarizado con el concepto y características básicas de SAP HANA y el procesamiento "in-memory". Si así no fuera recomendamos la lectura de los siguientes artículos publicados previamente en Teknodatips: Entendiendo SAP HANA, Sap HANA en "pastillas": Parte 1 de 3, Sap HANA en "pastillas": Parte 2 de 3, Sap HANA en "pastillas": Parte 3.
Nota: al cierre del desarrollo de este artículo SAP anunció el lanzamiento de la aplicación SAP Business Suite powered by SAP HANA, que trataremos en futuros Tips |
.
SAP Netweaver App Server ABAP y la tecnología "in-memory"
¿Cómo ayuda ABAP a aprovechar los beneficios de la tecnología "in-memory"?
Para aprovechar las fortalezas de SAP HANA, las aplicaciones siguen el modelo conocido como “code to data” (como opuesto al tradicional "Data to code"), donde en este nuevo paradigma la resolución de la lógica se traslada del Application Server al Database Server, en este caso HANA. SAP HANA además de ser una base de datos SQL standard, tiene un soporte para lenguajes procedurales directamente en el kernel de la base de datos. Mediante un motor de cálculo dedicado, se logra obtener una performance inusual porque los datos no tienen que ser pasados desde la base de datos al AS ABAP, procesarlos y luego volver a grabarlos.
Fuente: SAP
Como regla general, cualquier operación en ABAP que involucre conjuntos de datos muy voluminosos puede beneficiarse enormemente con la tecnología "in-memory", y vale la pena entonces que el AS ABAP pueda "delegar" la gestión de estos datos en SAP HANA.
Este paradigma es utilizado para los dos escenarios que se explican a continuación.
Escenario "side by side": ABAP puede acceder a SAP HANA
En este escenario, SAP HANA funciona como una base de datos independiente para dar soporte al reporting operativo. Corre en paralelo con sistemas de aplicación existentes con su propia base de datos tradicional (SAP MaxDb, Oracle, IBM DB2, etc) con la que se conecta la base de datos SAP HANA.
Dicho de otro modo, el ABAP Application Server usa aún su base de datos clásica como base de datos primaria, pero también está conectado a una base de datos HANA que sirve como base de datos secundaria. A este escenario se lo conoce como "side-by-side", o sea, "al lado". Es la forma más primitiva y clásica de uso de HANA, que se usó desde los primeros días de HANA.
Por lo tanto, hoy es posible acceder a la base de datos SAP HANA desde un AS ABAP corriendo sobre una base de datos tradicional, especificando SAP HANA como segunda conexión de base de datos en ABAP (transacción SM30 sobre la tabla DBCON). Dependiendo de su versión de ABAP, la integración es más o menos fluida y comfortable.
Para soportar los dos sistemas corriendo en paralelo, se utiliza un método de REPLICACION, para llevar los datos seleccionados de los sistemas transaccionales (el SAP ERP, sistemas no SAP, fuentes externas, etc.), hacia el dispositivo SAP HANA, ya sea mediante la componente SAP LT Replication Server (SLT) o a través de SAP Business Objects Data Services (BODS).
Sin embargo, utilizar BODS o SLT para la replicación de datos implican procesos diferentes: BODS permite la creación de procesos complejos de ETL (Extraction, Transformation, Loading) para la extracción, modificación y carga de datos, mientras que el uso de SLT posibilita una replicación de datos basada en "disparadores" (Trigger-based) de todas las tablas importantes. En este último caso, existe un Add-on especial de SAP que transmite un subconjunto datos de tablas automáticamente a la base de datos columnar de SAP HANA cuando se realizan operaciones de inserción o actualización sobre tablas establecidas en un sistema ERP (como ejemplo de sistema operacional de empresa que corre "en paralelo").
Eso conlleva a que esos subconjuntos de datos replicados estén disponibles para el reporte "casi" en tiempo real. Posteriormente, se podrán realizar consultas (por ejemplo cáculos que comprendan un gran número de registros), que serán ejecutadas en HANA de manera significativamente más rápida y SAP HANA se comporta como un acelerador de ciertos procesos.
El escenario detallado está representado en la siguiente figura:
Fuente: SDN
Este escenario "side-by-side" puede ser ventajoso si hacer un "upgrade" de su Business Suite o migrarla a HANA no es una opción inmediata.
Con el anuncio reciente de SAP Business Suite Powered by SAP HANA, los clientes tomarán mayor conocimiento de las ventajas que pueden obtenerse si su principal solución de negocio como SAP ERP, opera con SAP HANA como base de datos en memoria. Así, el escenario side-by-side utilizado hasta ahora sólo para acceder a SAP HANA como base de datos secundaria desde SAP ERP, dará paso a un nuevo caso de uso de ABAP con SAP HANA, con HANA como única base de datos con la que operar, en un escenario integrado al Application Server ABAP.
Escenario INTEGRADO: ABAP "corre" sobre SAP HANA
Con este escenario, referido como "integrado", se encuentran los productos que usan a SAP HANA como su base de datos primaria, y "corren" sobre esa base de datos, como lo hacen "SAP Netweaver Business Warehouse, powered by SAP HANA" (mayormente mencionado como "BW on HANA") y "SAP Business One Analytics, powered by SAP HANA".
Como se esperaba desde hace unos meses, en Enero de 2013, SAP anunció el lanzamiento de SAP Business Suite Powered by SAP HANA, donde también los productos de la suite de negocios de SAP SAP ERP, SAP CRM y SAP SCM tienen a SAP HANA como única base de datos (primaria). Por lo tanto las aplicaciones corren totalmente sobre SAP HANA de manera integrada.
En este escenario, la base de datos SAP HANA reemplaza al sistema de base de datos del sistema ABAP. Como SAP HANA opera como base de datos primaria, todos los accesos para leer y/o actualizar la base de datos, van directamente a la base de datos de SAP HANA.
En el caso de SAP NW BW, a partir del release 7.3, SP5 de SAP Netweaver, se puede realizar una copia de un sistema heterogéneo y reemplazar la base de datos existente (Oracle, DB2, MS SQL) con SAP HANA.
Para ejemplificar este escenario: "BW on HANA" (ver tip SAP HANA en "pastillas": Parte 3) corre en un AS ABAP y tiene como base de datos primaria a SAP HANA:
Fuente: SAP
En este escenario, SAP Netweaver Application Server ABAP y la base de datos SAP HANA corren sobre sistemas de hardware diferentes. Todos los datos del sistema BW se almacenan an la memoria principal del "appliance" SAP HANA.
Correr SAP Netweaver BW on SAP HANA tiene una variedad de beneficios. Con SAP HANA se puede conseguir el mejor rendimiento de las consultas sin la necesidad de contar con SAP Netweaver BW Accelerator (BWA). SAP HANA también puede "acelerar" los procesos de ETL (extraction, transformation, loading) y simplificar el modelado de datos al materializarse en menos capas.
SAP HANA con ABAP: Los próximos pasos
Como mencionáramos en párrafos anteriores, con el anuncio reciente de SAP sobre el lanzamiento de SAP Business Suite Powered by SAP HANA, las aplicaciones de la suite de negocios SAP ERP, SAP CRM y SAP SCM (Supply Chain Management) están optimizadas para correr completamente sobre SAP HANA y usar SAP HANA como única base de datos en memoria. Así, estas aplicaciones operarán con HANA de la misma manera que lo hace SAP NW BW desde hace un tiempo.
Sin embargo, se espera para este año que más aplicaciones basadas en ABAP, traigan código ABAP optimizado para correr en SAP HANA, como ocurrirá con otra de las aplicaciones de la suite de negocios: SAP SRM (SAP Supplier Relationship Management), próximamente.
Asimismo, puesto que SAP HANA provee una manera única de tratar efectivamente tanto una carga transaccional como analítica, SAP Business Suite powered by SAP HANA puede ayudar a los clientes a simplificar significativamente su "landscape" de IT. Por lo tanto, en este escenario integrado, dado que la misma base de datos cubre tanto las operaciones de análisis como las transaccionales, no existe la necesidad de replicar datos.
Fuente: SDN
En futuros Tips abordaremos los aspectos más importantes para poder operar con SAP Business Suite powered by SAP HANA.
Para tener en cuenta:
- En forma análoga a lo aquí descripto, existe un escenario "side-by-side" y otro "integrado" para el Java Server. Java Server con HANA integrado es utilizado por ejemplo, en la arquitectura del "Netweaver Cloud".
- Si las soluciones sobre AS ABAP "side-by-side" se implementan con cuidado, posteriormente podrían migrarse a una solución "ABAP sobre HANA" con muy pocos cambios en el código.
Copyright 2013 - Teknoda S.A.
IMPORTANTE: “Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos. |