En este blog post compartiré mi punto de vista sobre la importancia de OData dentro del ecosistema de SAP. Cómo nos permite integrar y extender fácilmente nuestros sistemas/aplicaciones y cómo se pueden crear y consumir servicios de tipo OData.
Este blog post fue publicado originalmente en inglés, versión en inglés -
https://blogs.sap.com/2021/10/11/the-importance-and-value-of-odata-in-the-sap-ecosystem/
Del website de
OData.org
, OData (Open Data Protocol) es un estándar OASIS aprobado por ISO/IEC que define un conjunto de mejores prácticas para crear y consumir RESTful APIs. Hay mucho contenido en SAP Community acerca de lo que es
OData
, así que no repetiré aquí lo que ha sido explicado muy bien con anterioridad.
Diagrama de servicios usando OData
Si te interesa saber un poco más sobre la historia y los orígenes de OData, te recomiendo leer este blog post de
dj.adams.sap
–
Monday morning thoughts: OData
Como se menciona en el sitio web de OData… OData permite la creación y el consumo de API que sean interoperables y se puedan "query" de forma simple y estándar. Gracias a los metadatos, una descripción machine-readable del modelo de datos de las API, permite la creación de aplicaciones y herramientas de cliente genéricas. Varias aplicaciones/servicios de SAP tienen APIs de tipo OData y se ha convertido en el protocolo preferido para exponer los datos que se encuentran dentro de aplicaciones de SAP y ponerlos a disposición de otros usuarios. Personalmente, veo OData como un "punto de conexión" que facilita la interoperabilidad entre aplicaciones SAP y no SAP.
Persosnalmente, lo que más me gusta de desarrollar servicios OData es que pueden ser consumidos por muchos tipos de aplicaciones diferentes. Es posible desarrollar una aplicación móvil, una aplicación web, crear un reporte o utilizarlo para fines de integración. Lo mejor de todo es que en todos estos casos de uso se comunican con un único servicio de OData.
Creación de servicios OData
¿Cómo se pueden crear servicios OData utilizando tecnologías/herramientas de SAP y herramientas que no sean de SAP?
-
SAP Gateway: Expone datos de sistemas back end de SAP en forma de servicios OData, que pueden ser consumidos por aplicaciones móviles/web para ampliar la funcionalidad del sistema.
-
Cloud Application Programming model (CAP): Los servicios creados mediante el modelo de CAP son servicios OData. Esto significa que puede crear fácilmente APIs RESTful siguiendo CAP. Además, las anotaciones OData se pueden especificar en los modelos de Core Data Services (CDS), lo que nos permite especificar etiquetas/propiedades de la interfaz de usuario que pueden utilizar los consumidores de servicios. Ver la
documentación OData de CAP
.
-
SAP Cloud Integration: Nos permite desarrollar APIs de OData que exponen fuentes de datos existentes, como SOAP, como endpoints de OData. Las aplicaciones de SAP Fiori, SAP BTP Mobile Services o cualquier otra aplicación personalizada pueden utilizar estas API OData para implementar escenarios centrados en el usuario. Ver Desarrollo de un
proyecto de API de OData
.
-
SAP API Management: Se puede crear un proxy de API en API Management para exponer servicios OData. Este es un enfoque interesante si desea exponer servicios OData internos al mundo exterior, utilizando SAP Cloud Connector. Ver
Proxy de API
.
-
No solo SAP: Recordemos que OData es una especificación estándar abierta, no es específica de SAP. También se pueden crear/consumir servicios OData mediante librerías de código abierto. Vea las diferentes
librerías de OData
disponibles si desea aprender a crear servicios OData en su lenguaje de programación favorito, p. ej., Python, .Net, Swift.
Ahora que sabes cómo crear servicios de tipo