Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
ajmaradiaga
Developer Advocate
Developer Advocate
14,168
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 ingles, version en ingles - 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, asi que no repetire aqui lo que ha sido explicado muy bien con anterioridad.


Diagrama de servicios usando OData



Si te interesa saber un poco mas sobre la historia y los orígenes de OData, te recomiendo leer este blog post de dj.adams.sapMonday 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.

Creacion 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 librerias de código abierto. Vea las diferentes librerias 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 OData, veamos cómo se puede consumir estos servicios.

Consumir servicios OData


Como he mencionado anteriormente, OData se ha convertido en el protocolo preferido para exponer los datos que se encuentran dentro de las aplicaciones SAP. Como se puede imaginar, existen varias herramientas que “entienden” OData (consumiendo los metadatos del servicio) y simplifican el desarrollo de nuestras extensiones/integraciones.

  • Fiori Elements: Podemos utilizar elementos de SAP Fiori para crear aplicaciones SAP Fiori basadas en servicios OData y anotaciones. Ver Cómo utilizar SAP Fiori Elements y SAP Fiori ahora soporta OData v4.

  • SAP Mobile Services y productos móviles: Los servicios OData proporcionan datos para que las aplicaciones móviles puedan consumirlos directamente. Las aplicaciones desarrolladas con SAP AppGyver, SAP Mobile Services, SAP BTP SDK para iOS y SAP BTP SDK para Android pueden consumir servicios OData. Ver Mobile Services.

  • SAP Analytics Cloud: Es posible definir servicios OData basados en SAP S/4HANA, sistemas SAP BW, sistemas SAP HANA y sistemas SAP Business Planning and Consolidation (BPC) para ejecutar acciones en los servicios. También consumir servicios OData para la generación de reportes. Ver SAP Analytics Cloud – Uso de OData e importar una conexión de datos tipo OData.

  • No solo SAP: Al final, un servicio OData es un servicio RESTful, lo que significa que puede ser consumido por cualquier aplicación/lenguaje de programación que sea capaz de comunicarse a través de HTTP. Por ejemplo, pueden desarrollar una aplicación/servicio Python/Go/Rust que se comunique con un servicio OData.


Más OData...


¿Dónde puede encontrar más información sobre OData?

  • Si desean obtener más información sobre cómo producir y consumir servicios OData, les recomiendo que vean los diferentes tutoriales disponibles en https://developers.sap.com.

  • En SAP API Business Hub pueden encontrar los diferentes productos de SAP que exponen API de OData, por ejemplo, SAP S/4HANA, SAP SuccessFactors, SAP Fieldglass y más.

  • SAP Graph tiene como objetivo simplificar la forma en que los desarrolladores interactúan con los datos de SAP. Esto se logrará proporcionando una API unificada que consolide los modelos de datos de distintos sistemas como SAP S/4HANA, SAP Sales Cloud y SAP SuccessFactors en uno solo. Adivinen qué estándar sigue... sí, OData. Ver la documentación de SAP Graph.


Como pueden ver, OData es utilizado ampliamente por diferentes productos de SAP. Existen varias formas de producir servicios OData, muchas aplicaciones/servicios SAP exponen APIs de tipo OData y también varias vías para consumir estas APIs. Espero que este blog post les dé una idea de por qué OData es importante en el ecosistema de SAP y el valor y la flexibilidad que proporciona al integrar/ampliar sus aplicaciones SAP.