Integración de Datos sin Fricción: SAP a Databricks

SAP es una empresa especializada en sistemas de gestión empresarial (ERP) y que ofrece soluciones tecnológicas para gestión de datos (MDM, ETL, Analytics, BI) que complementan sus soluciones ERP principales para áreas de ventas, logística, finanzas, recursos humanos y más. También, sus productos han evolucionado, desarrollando nuevas generaciones y adaptándose con soluciones nube. ¿Por qué es importante entender SAP antes de comenzar? Como podrás intuir, este universo de productos que generan y almacenan datos es enorme, y cada uno de los productos o servicios que forman parte del portafolio de SAP tiene sus particularidades.

De hecho, sin conocimiento de estos detalles, probablemente enfrentemos problemas al avanzar en el proyecto, ya que podrían marcar la diferencia entre realizarlo de una forma, de otra, o incluso no poder llevarlo a cabo debido, por ejemplo, a la falta de una licencia o configuración en el sistema de origen. Por esta razón, nuestra sugerencia es incluir en los proyectos a profesionales con amplio conocimiento del ecosistema SAP. Su experiencia ayuda a garantizar que todos los elementos fundamentales estén en su lugar, agilizando la configuración inicial y protegiendo tanto la dirección del proyecto como sus resultados finales.

Introducción al Ecosistema SAP

Para ofrecer al lector un panorama claro de los principales productos de SAP, hemos organizado la información de la siguiente manera (es importante destacar que esta no es una lista exhaustiva, pero incluye los productos que probablemente nos enfrentemos en proyectos):

Datos provenientes del ecosistema interno de SAP: Estos son los datos generados por productos de SAP diseñados principalmente para fines relacionados con las operaciones de negocio, como planificación, marketing, recursos humanos, entre otros.

En el ámbito de los sistemas ERP, destacan SAP ECC, SAP S/4HANA y SAP Business One:

SAP ECC: Es la versión clásica de los sistemas ERP de SAP, ampliamente utilizada y considerada como el predecesor de SAP S/4HANA. SAP ha realizado esfuerzos significativos para facilitar la transición a la nueva generación.

SAP S/4HANA: Representa la nueva generación de ERP, diseñada para aprovechar las capacidades de la base de datos en memoria SAP HANA. Ofrece análisis en tiempo real, optimización para la nube y una mayor eficiencia operativa.

SAP Business One: Es un ERP diseñado específicamente para pequeñas y medianas empresas. Presenta limitaciones para manejar grandes volúmenes de datos, funcionalidad avanzada, cuenta con menos opciones de integración, entre otras.

La sección de ERP es la más relevante y con la que más frecuentemente te encontrarás en los proyectos. Además, mencionamos otros productos de SAP, diseñados para diferentes propósitos, que también son ampliamente utilizados. Se integran nativamente con algunos de los anteriores (principalmente S/4HANA) y que podrías encontrar.

SAP SuccessFactors: Es una solución integral para la gestión del talento y recursos humanos, diseñada para mejorar la experiencia del empleado en todas las etapas del ciclo laboral, desde el reclutamiento hasta la jubilación. Se integra con SAP S/4HANA para conectar datos de recursos humanos con finanzas y operaciones.

SAP Marketing Cloud: Es una plataforma diseñada para ejecutar campañas de marketing personalizadas y basadas en datos en tiempo real. Permite la segmentación dinámica de audiencias, la creación de campañas omnicanal y el análisis del comportamiento del cliente. Funciona de manera nativa con SAP Commerce Cloud para unificar datos de marketing y comercio electrónico, y con SAP Customer Data Cloud para gestionar datos y consentimientos de clientes de forma segura.

SAP Commerce Cloud: Es una solución para crear y gestionar experiencias de comercio electrónico omnicanal, soportando catálogos complejos, múltiples idiomas y monedas. Se conecta con SAP Marketing Cloud para utilizar datos de campañas y personalizar las experiencias de compra en línea. También se integra con SAP S/4HANA para gestionar inventarios, precios y procesos financieros relacionados con el comercio electrónico.

SAP IBP: Es una herramienta avanzada para la planificación colaborativa y en tiempo real de la cadena de suministro. Incluye módulos para planificación de demanda, suministro, inventarios y ventas, optimizando las operaciones mediante simulaciones y análisis predictivo. Trabaja de manera estrecha con SAP S/4HANA para garantizar que los datos financieros, operativos y logísticos estén alineados.

Ecosistema de Datos SAP

Dada la gran cantidad de datos generados por su ecosistema, SAP ha desarrollado soluciones específicas para integrar, gestionar y explotar sus datos. Para quienes son nuevos en este ámbito, el portafolio de productos puede parecer demasiado complejo o desordenado.

Para facilitar la comprensión, proponemos dividir este ecosistema en tres categorías y un bloque integrador o base central. Nos ayudaremos del diagrama a continuación para entender el Ecosistema de Datos SAP.

En primer lugar, tenemos SAP Business Technology Platform (SAP BTP), que actúa como la base tecnológica central del ecosistema SAP. Esta plataforma soporta soluciones clave como SAP Analytics Cloud y SAP Datasphere, incluyendo componentes subyacentes como SAP HANA. SAP BTP funciona como una capa de habilitación tecnológica que conecta aplicaciones, servicios y datos, permitiendo una integración fluida y optimizando el aprovechamiento de las herramientas dentro del ecosistema SAP.

Dentro de SAP BTP encontramos SAP Analytics Cloud (SAC) - Herramienta de Analítica - y SAP Datasphere - Módulo de Gestión y Modelado de Datos.

SAP Analytics Cloud (SAC): Es la herramienta de análisis e inteligencia empresarial de SAP, diseñada para integrar planificación, visualización y análisis predictivo en una única plataforma. SAC se conecta directamente con SAP Datasphere, SAP HANA y otros sistemas de datos, proporcionando una experiencia unificada para explorar y explotar información empresarial.

SAP Datasphere: Es la solución avanzada de gestión de datos dentro de SAP BTP. Permite conectar, federar y modelar datos desde múltiples fuentes, tanto del ecosistema SAP como externas. Datasphere es el sucesor mejorado de SAP Data Warehouse Cloud, con mayores capacidades de integración y enfoque en la federación de datos para un acceso simplificado y centralizado.

SAP Data Warehouse Cloud (DWC): Es una solución de almacenamiento y análisis de datos diseñada para combinar y gestionar datos estructurados y no estructurados provenientes de diversas fuentes. Aunque sigue siendo relevante, DWC ha evolucionado hacia SAP Datasphere, que amplía sus funcionalidades con un enfoque más moderno y flexible para la gestión de datos empresariales.

Esta categoría se enfoca en las tecnologías de almacenamiento de datos y data warehouse dentro del ecosistema SAP, donde SAP HANA se destaca como el motor principal.

SAP HANA: Es la base de datos en memoria que soporta tanto sistemas transaccionales como analíticos. Es el motor subyacente de muchas soluciones de SAP, incluidas SAP BTP, SAP Analytics Cloud, y SAP Datasphere. HANA ofrece procesamiento en tiempo real, lo que lo hace ideal para aplicaciones que requieren velocidad y análisis instantáneo de grandes volúmenes de datos.

SAP BW/4HANA: Es una solución de almacenamiento y análisis de datos. Es la versión más reciente, completamente rediseñada para trabajar sobre SAP HANA. Ofrece un modelado más ágil y capacidades avanzadas de integración de datos. Se integra mejor con soluciones modernas como SAP Analytics Cloud y Datasphere.

SAP BW: Diseñado para funcionar sobre bases de datos relacionales estándar, como Oracle o SQL Server, utilizando un enfoque tradicional de almacén de datos.

SAP BW on HANA: Con la introducción de SAP HANA, SAP BW se optimizó para aprovechar la velocidad y capacidades de procesamiento en memoria. Esto permitió análisis en tiempo real y mejoró drásticamente el rendimiento.

Con esta introducción, el lector ya cuenta con un primer panorama (bastante enriquecedor para un blog) sobre los principales componentes de SAP, sus funcionalidades y cómo se relacionan entre sí. Esto le permitirá entender mejor a qué se enfrentará en el ecosistema SAP a nivel de tecnologías y su propósito en el ámbito empresarial.

Integración de SAP con Databricks

Este artículo no tiene como objetivo "decomisar" o sustituir algún componente de SAP, sino trabajar en conjunto. Como vimos en la sección anterior, aunque SAP cuenta con productos diseñados para la gestión y almacenamiento de datos, no compite directamente con Databricks. De igual manera, Databricks no puede sustituir la vasta funcionalidad que SAP ofrece a sus usuarios en términos de planificación, operaciones y procesos empresariales.

Dicho esto, a continuación explicaremos algunas alternativas para ingestar datos desde ciertos componentes de SAP hacia Databricks para aprovechar lo mejor de ambos mundos: la capacidad analítica avanzada y el enfoque en big data de Databricks, junto con la solidez en la gestión empresarial de SAP. ¡Manos a la obra!

SAP HANA (Opción 1: SparkJDBC)

Existen múltiples métodos para federar tablas, vistas SQL y vistas de cálculo de SAP HANA en Databricks. Para integrar Databricks con SAP HANA y acceder a sus datos en tiempo real, se recomienda utilizar el conector SparkJDBC. Este método permite establecer conexiones JDBC paralelas desde los nodos de trabajo de Spark hacia el endpoint de SAP HANA, facilitando una integración eficiente y escalable.

Fuente: Databricks

A continuación, se detallan los pasos para lograr esta integración:

  1. Configura un clúster en Databricks que tenga acceso a la instancia de SAP HANA. Asegúrate de usar un clúster All-Purpose (Classic) para compatibilidad con los pasos de configuración JDBC que se detallan a continuación.

  2. Configuración del controlador JDBC de SAP HANA: a > Obtén el archivo ngdbc.jar, que es el controlador JDBC de SAP HANA. b > Instalación en Databricks:

    • Accede a la interfaz de administración del clúster en Databricks.

    • Selecciona el clúster All-Purpose (Classic) deseado y ve a la pestaña "Libraries".

    • Haz clic en "Install New" y selecciona "DBFS" como la fuente de la librería y "JAR" como el tipo.

    • Sube el archivo ngdbc.jar desde tu sistema local.

  3. Establecer la conexión desde Databricks: a > Definir los parámetros de conexión:

    • Driver: com.sap.db.jdbc.Driver

    • URL JDBC: jdbc:sap://<SAP_HANA_Host>:<Port>

    • Credenciales: Usuario y contraseña con permisos adecuados en SAP HANA.

    b > Crear la conexión en Databricks: Usa el siguiente código en un notebook de Databricks para leer datos desde SAP HANA:

Reemplaza <SAP_HANA_Host>, <Port>, <Username>, <Password>, y <Table_or_View_Name> con los valores correspondientes a tu entorno.

4. Licenciamiento: Es necesario contar con una licencia de SAP HANA Enterprise Edition para habilitar este tipo de integraciones.

Ingesta de Datos a Azure (Opción 2: ADF/Azure Synapse)

Azure Data Factory (ADF) y Azure Synapse Analytics ofrecen una variedad de conectores nativos para extraer datos de sistemas SAP, adaptándose a diferentes escenarios de integración. A continuación, se detallan los principales conectores disponibles, pero nos centraremos principalmente en el último que a nuestro criterio es el más adecuado:

Conector SAP ECC: Permite extraer datos de SAP ECC a través de servicios OData, requiriendo la instalación de SAP Gateway. Consideraciones: No es ideal para extracciones masivas debido a su bajo rendimiento y carece de soporte para cargas incrementales.

Conector SAP Table: Facilita la extracción directa de tablas de SAP ECC mediante conexiones RFC. Requisitos: Se necesita el licenciamiento adecuado de SAP. Uso recomendado: Adecuado para tablas con volúmenes de datos manejables que permitan cargas completas, como las tablas de maestros de datos.

Conector SAP Business Warehouse (Open Hub): Extrae datos de SAP BW utilizando objetos Open Hub, que permiten exportar datos a archivos o tablas externas. Requisitos: Requiere licenciamiento específico. Consideraciones: Recomendado para extracciones no incrementales.

Conector SAP Business Warehouse vía MDX: Permite la extracción de datos de cubos y consultas BEx en SAP BW mediante consultas MDX. Consideraciones: No se recomienda debido a su bajo rendimiento, restricciones en MDX y falta de soporte para cargas incrementales.

Conector SAP HANA: Facilita la copia de datos desde bases de datos SAP HANA, incluyendo modelos de información como vistas analíticas y de cálculo, así como tablas de filas o columnas. Compatibilidad: Soporta cualquier versión de SAP HANA. Consideraciones: Requiere la instalación del controlador ODBC de SAP HANA en el entorno de ejecución de integración autohospedado.

Conector SAP Cloud for Customer: Permite copiar datos desde SAP Cloud for Customer hacia almacenes de datos compatibles o viceversa, facilitando la integración de datos entre sistemas en la nube y locales. Consideraciones: Requiere la configuración adecuada de las API de SAP Cloud for Customer y puede necesitar un entorno de ejecución de integración autohospedado según la ubicación de los datos.

Conector SAP Change Data Capture (CDC): Utiliza el marco de aprovisionamiento de datos operativos (ODP) de SAP para realizar cargas incrementales de datos transaccionales y algunos datos maestros.

El conector SAP CDC utiliza el framework ODP de SAP para realizar una extracción de datos eficiente y avanzada. Este enfoque permite integrar datos tanto desde el nivel de base de datos, mediante tablas y vistas HANA, como desde el servidor de aplicaciones utilizando extractores SAP, vistas CDS (Core Data Services) y objetos de SAP BW. Adicionalmente, mediante el uso del SAP LT Replication Server (SLT), es posible replicar tablas en tiempo real, lo que proporciona capacidades para análisis casi instantáneo y sincronización de datos transaccionales.

Entre las principales ventajas del framework ODP destaca la capacidad de realizar cargas incrementales (delta) al trabajar con extractores SAP, vistas CDS y tablas gestionadas con SLT, lo que minimiza el volumen de datos transferido y optimiza los procesos de integración. Además, ODP permite reutilizar las mismas fuentes de datos para diferentes destinos, lo que simplifica la arquitectura de integración y reduce redundancias. 

Para integrar SAP ECC utilizando el conector SAP CDC, es esencial cumplir con ciertos prerrequisitos técnicos:

  • Configuración del ODP API 2.0 en SAP ECC: Asegúrate de que el componente PI_BASIS esté en la versión 740 SP04 o superior. Esto garantiza la disponibilidad del framework ODP necesario para la extracción de datos. 

  • Instalación del componente DMIS: Es necesario que el componente DMIS 2011 esté en la versión SP05 o superior. Sin embargo, se recomienda utilizar DMIS 2011 SP15 o una versión más reciente para asegurar la compatibilidad con DMIS 2018.

  • Implementación de un servidor SLT dedicado: Para una replicación eficiente, se aconseja contar con un servidor SAP Landscape Transformation (SLT) separado, actuando como servidor central. Este servidor debe ejecutar DMIS 2018 SP05 sobre NetWeaver 7.5, permitiendo la instalación de SLT versión 3.0. Es recomendable disponer de un servidor SLT para cada entorno de SAP ECC.

  • Configuración de conexiones entre sistemas: Establece conexiones sólidas entre los entornos de SAP ECC y los sistemas SLT correspondientes. Además, configura la comunicación entre los sistemas SLT y Azure Data Factory mediante el conector SAP CDC, asegurando una transferencia de datos fluida y segura. 

    Cumplir con estos prerrequisitos es crítico para garantizar una integración efectiva y sin contratiempos entre SAP ECC y Azure Data Factory, optimizando los procesos de extracción y carga de datos para que luego pueda ser explotada en Databricks.

Ventajas: Es el conector recomendado para extracciones de datos en SAP ECC y SAP BW/BPC, ya que permite capturar y fusionar automáticamente los cambios incrementales en un almacén de datos de destino consistente, eliminando la necesidad de extracciones completas y proporcionando una integración de datos casi en tiempo real.

El conector SAP CDC utiliza el framework ODP de SAP para realizar una extracción de datos eficiente y avanzada. Este enfoque permite integrar datos tanto desde el nivel de base de datos, mediante tablas y vistas HANA, como desde el servidor de aplicaciones utilizando extractores SAP, vistas CDS (Core Data Services) y objetos de SAP BW. Adicionalmente, mediante el uso del SAP LT Replication Server (SLT), es posible replicar tablas en tiempo real, lo que proporciona capacidades para análisis casi instantáneo y sincronización de datos transaccionales.

Entre las principales ventajas del framework ODP destaca la capacidad de realizar cargas incrementales (delta) al trabajar con extractores SAP, vistas CDS y tablas gestionadas con SLT, lo que minimiza el volumen de datos transferido y optimiza los procesos de integración. Además, ODP permite reutilizar las mismas fuentes de datos para diferentes destinos, lo que simplifica la arquitectura de integración y reduce redundancias.

Para integrar SAP ECC utilizando el conector SAP CDC, es esencial cumplir con ciertos prerrequisitos técnicos:

  1. Configuración del ODP API 2.0 en SAP ECC: Asegúrate de que el componente PI_BASIS esté en la versión 740 SP04 o superior. Esto garantiza la disponibilidad del framework ODP necesario para la extracción de datos.

  2. Instalación del componente DMIS: Es necesario que el componente DMIS 2011 esté en la versión SP05 o superior. Sin embargo, se recomienda utilizar DMIS 2011 SP15 o una versión más reciente para asegurar la compatibilidad con DMIS 2018.

  3. Implementación de un servidor SLT dedicado: Para una replicación eficiente, se aconseja contar con un servidor SAP Landscape Transformation (SLT) separado, actuando como servidor central. Este servidor debe ejecutar DMIS 2018 SP05 sobre NetWeaver 7.5+, permitiendo la instalación de SLT versión 3.0. Es recomendable disponer de un servidor SLT para cada entorno de SAP ECC.

  4. Configuración de conexiones entre sistemas: Establece conexiones sólidas entre los entornos de SAP ECC y los sistemas SLT correspondientes. Además, configura la comunicación entre los sistemas SLT y Azure Data Factory mediante el conector SAP CDC, asegurando una transferencia de datos fluida y segura.

Cumplir con estos prerrequisitos es crítico para garantizar una integración efectiva y sin contratiempos entre SAP ECC y Azure Data Factory, optimizando los procesos de extracción y carga de datos para que luego pueda ser explotada en Databricks.

Conclusiones

Esperamos que este blog haya sido útil, especialmente para aquellos que están comenzando un proyecto o realizando tareas de investigación previa con el objetivo de garantizar un trabajo bien ejecutado. Mi recomendación final es profundizar en toda la documentación disponible de SAP, Azure y Databricks, aprovechando los recursos que ofrecen sus respectivas comunidades y guías oficiales.

Además, asegúrense de recopilar con anticipación toda la información relevante sobre los módulos, versiones, licencias y demás detalles técnicos del entorno SAP, para evitar posibles bloqueos o contratiempos durante la implementación del proyecto.

¡Mucha suerte en sus proyectos!

Previous
Previous

El Caos de los Datos: Cómo la Fragmentación Está Frenando la Innovación

Next
Next

Casos de uso IA Generativa: Cumpliendo las Promesas del Ayer