✒️La relación entre SAP Gateway y los servicios OData
La relación entre SAP Gateway y los servicios OData
1. Arquitectura cliente servidor
cliente servidor: modelo donde las tareas se reparte entre recursos
cliente: realizan peticiones (desktop, telefono, etc)... requests
servidor: accede a los recursos ... envia response
hay 2 claros frentes
front end: lo que pasa del lado del cliente(navegador) javascript, css, etc.
back end: lo que ocurre del lado de la instalacion
2. Servicios de datos
interfaces abstractas: conectores... se usa entre cliente servidor como un contrato de intercambio de datos... define el protocolo,doc., formato y el comportamiento.
odata: define dicho contrato mediante un formato uniforme.
conector ventajas: usando concepto de conector cada componente (cliente,servidor) es intercambiable.
2.1 que fuciones tiene odata
odata funciones: cumple protocolo crud (obdc para internet), desarrollado por ibm, ms, sap
Caracteristicas del ODATA en sap
* se complementa con el uso de Dic. de Datos
* los datos se presentan en formato json
* adhiere a estandares Atom Publishing y Sindication, XML y HTTP(s)
* http(s) es el protocolo de red
2.2. SAP Gateway
conector entidades abap y odata mediante sap gateway
funciones de gateway: desafios de infraestructura. Datos alm. en varios sistemas bkend. El acceso a los mismos es mediante metodos patentados. El registro de esto es complejo.
acceso simple a sistemas sap mediante protocolo odata.
mantenibilidad
cambios sin interrupciones incluyendo deploy
seguridad
SAP Gateway proporciona :
una interfaz abierta basada en REST brindando acceso simple a sistemas SAP a través del protocolo ODATA
Acceso simplificado y seguro a los datos de las aplicaciones SAP a través de un estándar abierto
Un unico punto de acceso
3. REST
Tecnica de arquitectura de SW para sistemas hipermedia distribuidos como la Web, en la practica, cualquier interfaz web simple que usa XML o JSON y HTTP, sin abstracciones adicionales de protocolos basados en mensajes como es el caso de servicios SOAP.
Los componentes de la red usan los recursos (el.de informacion) distribuidos a traves de un identificador global (URI). Para manipularlos usan http e intercambian representaciones de estos recursos.
principios
* sintaxis universal para identificar recursos
* protocolo cliente/servidor sin estado
* conjunto de operaciones bien definidas aplicables a los recursos (POST,GET,PUT,DELETE)
4. Protocolo ODATA
Los servicios ODATA proporcionan datos comerciales a los controles de interfaz y realizan transacciones comerciales, es un punto de integracion clave entre la capa IU y la capa backend
Odata cumple los principios y es más específico que REST
referencia: www.odata.org/documentation/
Generalmente se crea un servicio ODATA por cada aplicacion que vayamos a construir. El servicio puede contener
* Una o varias entidades (estructuras de información con propiedades/campos)
* El entitySet que nos devolverá los datos
* Un documento de servicio: se obtiene llamando a la URL del servicio y nos mostrará colecciones disponibles
* documento metadata (EDMX): con toda la inf. del servicio
* conjunto basico de operaciones (CRUDQ) mediante el uso de los verbos HTTP
Los servicios northwind son publicamente expuestos por Oasis que contiene clientes, productos y proveedores
Podemos accederlo en https://services.odata.org/V3/Northwid/Northwind.svc/
4.2 Metadata
Además del documento de servicio odata tambien posee un doc. de metadatos que describe los datos del propio servicio. Para obtener esta información agregar $metadata a la direccion del servicio odata, p.ej: https://services.odata.org/V3/Northwid/Northwind.svc/$metadata
nos brindará, además del nombre de la entidad (p.ej. Product) una lista de todas las propiedades (campos) de la entidad bajo el tag Property (p.ej. ProductID).
Asimismo poseera el tag NavitationProperty para identificar claves foraneas
Asimismo se cuenta con EntitySet que son conjuntos de entidades de acuerdo correspondientes a lo definido como tipo en Entity. En el metadata dentro de EntityContainer podemos ver los conjuntos de entidades (EntitySet) con sus definiciones.
Se puede navegar a un EntitySet agregando su nombre al final de la URL del documento de servicio. P.ej: https://services.odata.org/V3/Northwid/Northwind.svc/Products?$format=json
esto nos despliega el contenido de la entidad
Ejemplo de llamada a ODATA en SAP ERP para datos de vuelos
https://<server>:<port>/sap/opu/sdata/IWFND/SAMPLEFLIGHT/FlightCollection?$filter=carrid eq 'AA'
Beneficios ODATA
* facil acceso a backend por HTTP
* estandar de la industria
* apoyado por las ppales plataformas
* despliega datos como servicios REST sin dificulta de desarrollo
* virtualiza datos corporativos
* promueve estandar para implementar API REST
 
 
 
Sobre el autor
Publicación académica de Cristian Cash, en su ámbito de estudios para la Carrera Consultor en SAP Fiori.
Cristian Cash
Profesión: Consultor Tecnológico - Argentina - Legajo: GX99J
✒️Autor de: 23 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Amplia experiencia en el ambito tecnologico y corporativo en labores de consultoria técnica y funcional en forma individual y coordinando equipos.
Certificación Académica de Cristian Cash