JSON en SAP: Clave para Integraciones Modernas y Desarrollo Ágil

¿Qué es JSON?

La transformación digital en las organizaciones exige la integración fluida entre sistemas internos y externos, y SAP, como una de las plataformas ERP más utilizadas del mundo, ha evolucionado para responder a estas necesidades. Una pieza clave de esta evolución ha sido la adopción de formatos de datos modernos como JSON (JavaScript Object Notation), que facilita la comunicación entre SAP y otras plataformas, servicios web o aplicaciones frontend.

JSON es un formato de texto ligero, fácil de leer y escribir para los humanos, y fácil de analizar y generar para las máquinas. Su estructura basada en pares clave-valor lo hace ideal para representar datos estructurados. Aunque SAP históricamente ha usado XML en muchas de sus interfaces, JSON ha ganado popularidad debido a su simplicidad, menor peso y compatibilidad con tecnologías web modernas.

JSON en SAP Gateway y OData

Una de las principales áreas donde JSON ha tenido mayor impacto es en los servicios OData proporcionados por SAP Gateway. OData (Open Data Protocol) es un estándar basado en REST que permite el acceso a datos a través de URI. SAP adoptó este estándar para facilitar la exposición de sus datos hacia clientes como SAP Fiori, aplicaciones móviles o integraciones con terceros.

Cuando un cliente realiza una solicitud OData a un backend SAP (por ejemplo, SAP S/4HANA), puede especificar el formato de la respuesta a través de encabezados HTTP. JSON es uno de los formatos soportados, junto con XML.

Ejemplo de respuesta JSON de un servicio OData:

JSON permite a los desarrolladores trabajar con datos de forma más eficiente, sobre todo en entornos de desarrollo web, donde se integran fácilmente con frameworks como Angular, React o SAPUI5.

SAP Gateway ofrece configuraciones específicas para definir el formato de respuesta, y muchos servicios modernos exponen JSON por defecto, dada su eficiencia y compatibilidad con clientes frontend.

Manipulación de JSON en ABAP

ABAP, el lenguaje de programación principal en SAP, también ha evolucionado para soportar el trabajo con JSON de manera nativa. Esto permite tanto consumir datos en formato JSON como generar estructuras en este formato desde objetos internos de SAP.

Desde SAP NetWeaver 7.4, se incorporaron clases estándar que permiten serializar (convertir estructuras ABAP a JSON) y deserializar (convertir JSON a estructuras ABAP). Estas clases forman parte del paquete CL_TREX_JSON_* y se utilizan principalmente en integraciones, pruebas de servicios y procesamiento de datos externos.

Ejemplo de serialización ABAP a JSON:

Para trabajar directamente con JSON sin transformación, SAP ofrece métodos más modernos, por ejemplo:

Por otro lado, la deserialización permite que datos JSON recibidos desde un servicio externo o API REST sean convertidos a tipos de datos manejables en ABAP. Esto es clave en escenarios donde SAP actúa como consumidor de servicios web modernos.

JSON en SAPUI5 y Fiori

SAPUI5, el framework de desarrollo de interfaces web de SAP, está profundamente integrado con el uso de JSON. Una de las formas más comunes de trabajar con datos en SAPUI5 es mediante el JSONModel, un modelo de datos que permite almacenar y manipular datos directamente en formato JSON dentro de la aplicación.

Esto permite a los desarrolladores construir interfaces dinámicas que reaccionan a cambios en el modelo de datos sin necesidad de realizar llamadas al servidor en todo momento.

Ejemplo de definición de JSONModel en SAPUI5:

SAP Fiori, basado en SAPUI5, utiliza esta capacidad para construir aplicaciones ricas en funcionalidades, donde los datos JSON obtenidos desde servicios OData son consumidos directamente en la interfaz, proporcionando experiencias de usuario modernas y eficientes.

Además, el uso de JSON en el frontend permite a los desarrolladores crear pruebas unitarias, simular datos locales y facilitar la integración continua en el desarrollo de aplicaciones SAP.

JSON en SAP Business Technology Platform (BTP)

SAP BTP proporciona un entorno de desarrollo en la nube que integra múltiples servicios, desde bases de datos hasta capacidades de machine learning. Dentro de este ecosistema, JSON es el formato estándar para la mayoría de los servicios RESTful y APIs expuestas.

Al desarrollar extensiones sobre SAP BTP, los desarrolladores suelen trabajar con lenguajes como JavaScript (Node.js), Java o Python, que manejan JSON de forma nativa. Esto permite crear microservicios o integraciones que se comunican directamente con SAP S/4HANA, SuccessFactors, SAP Ariba, entre otros, utilizando JSON como formato de intercambio.

Ejemplo de uso típico:

Un microservicio desarrollado en Node.js en SAP BTP puede recibir una solicitud con datos de usuario en JSON, procesarla y luego enviar una actualización al backend SAP mediante un servicio OData, también en formato JSON.

Además, servicios como SAP API Management y SAP Integration Suite utilizan JSON tanto en sus interfaces de usuario como en el procesamiento de mensajes, transformaciones y flujos de integración.

Comparativa JSON vs XML en SAP

A pesar de que SAP ha usado tradicionalmente XML en interfaces IDoc, Web Services y SOAP, JSON ha ganado ventaja en muchos escenarios por su eficiencia y simplicidad. A continuación, se presenta una comparativa de ambos formatos en el contexto SAP:

SAP sigue soportando ambos formatos, pero en entornos modernos —especialmente en aplicaciones Fiori, SAP BTP y servicios REST— JSON es la opción preferida.

Conclusión

El uso de JSON en SAP refleja el esfuerzo continuo de la plataforma por adaptarse a los estándares modernos de desarrollo, integración e interoperabilidad. Su ligereza, simplicidad y compatibilidad lo han convertido en una herramienta fundamental en el desarrollo de interfaces, servicios y aplicaciones dentro del ecosistema SAP.

Ya sea en servicios OData para aplicaciones Fiori, manipulaciones en ABAP, integraciones en SAP BTP o interfaces RESTful, JSON ofrece una forma eficiente de representar y transportar datos. Los desarrolladores y consultores SAP deben comprender a fondo cómo trabajar con JSON para construir soluciones más ágiles, interoperables y alineadas con los requerimientos actuales del negocio.