Artículo
Nancy Martínez · Feb 2, 2021 Lectura de 3 min

InterSystems IRIS y OData

¿Qué es OData?

OData (Open Data Protocol) es un estándar OASIS, con certificación ISO/IEC, que define un conjunto de prácticas recomendadas para construir y consumir APIs RESTful. OData te ayuda a enfocarte en tu lógica de negocio mientras construyes APIs RESTful, sin tener que preocuparte por los diversos enfoques para definir cabeceras de solicitud y respuesta, códigos de estado, métodos HTTP, convenciones URL, tipos de medios audiovisuales, formatos de carga, opciones de consulta, etc. OData también proporciona orientación para registrar cambios, definir funciones/acciones para llevar a cabo procedimientos reutilizables y enviar solicitudes asíncronas/por lotes (Fuente: OData.org).

Casos de uso de OData

  • Desplegar datos como servicios REST con un formato interoperable, sin dificultades para desarrollarlos
  • Permite que la Inteligencia empresarial (BI), visualización de datos, ERP, CRM, ESB, herramientas y motores de flujo de trabajo consuman datos utilizando REST sin esfuerzos de desarrollo
  • Virtualiza datos corporativos en las herramientas de gestión de APIs
  • Promueve una forma estándar para implementar las API REST, que permite funcionalidades de consulta similares a las de SQL utilizando estas APIs RESTful. OData esencialmente SQL para entornos webs, desarrollados con protocolos estándar de nivel superior, HTTP, JSON y ATOM, al mismo tiempo que se aprovecha el estilo de la arquitectura REST (progress.com).
  • OData es ampliamente adoptado:

  • Ayuda a implementar FHIR: FHIR (Fast Healthcare Interoperability Resources) es un estándar para el intercambio electrónico de información relacionada con la atención sanitaria. Para que FHIR sea verdaderamente interoperable, se recomienda que los sistemas utilicen las reglas establecidas por las especificaciones de OData para el parámetro $search. Además, FHIR también utiliza OAuth para establecer una relación de confianza con el cliente para una capa adicional de seguridad (progress.com).
  • Soporta paginación, solicitudes por lotes y diferentes formatos como JSON, ATOM, XML, etc.

OData e InterSystems IRIS

InterSystems IRIS no es compatible con OData, pero es posible utilizar el servidor de OData para que InterSystems IRIS permita mostrar clases persistentes como REST.

Para ello, sigue estas instrucciones:

  • Clonar el código fuente del servidor IRIS OData: git clone https://github.com/yurimarx/isc-iris-odata.git
  • Ir a la carpeta: isc-iris-odata
  • Ejecutar: mvnw install (MS Windows) o ./mvnw install (Linux o Mac)
  • Ejecutar: docker build -t odata:1.0.0 .
  • Ejecutar: docker run -p 8080:8080 odata:1.0.0. Tu servidor OData iniciado:

  1. Iniciar tu instancia de InterSystems IRIS con cualquier clase persistente
  2. En navegador de acceso: http://localhost:8080/. Establecer los parámetros en la pantalla:

  1. Estos son los parámetros para mi instancia. Establece los parámetros en tu instancia de IRIS. En el namespace establece tu namespace de iris; en el esquema, el esquema de la tabla SQL; y en el puerto, el puerto a tu conexión con la base de datos JDBC.
  2. Hacer clic en Enviar y RECARGAR TU INSTANCIA DE DOCKER DE ODATA SERVER PARA APLICAR LOS PARÁMETROS.
  3. Ir a: http://localhost:8080/odata.svc/ para ver todas las clases persistentes en tu esquema de IRIS. En mi caso es:

  1. Para navegar hacia una clase persistente, usar: http://localhost:8080/odata.svc/<Persistent_Class>. Por ejemplo: http://localhost:8080/odata.svc/Animal
  2. El servidor OData hace una lista con los datos Animales, mira:

  1. Para verlo en formato JSON: http://localhost:8080/odata.svc/Animal?$format=application/json. Mira:

  1. Para ver los detalles de una fila: http://localhost:8080/odata.svc/Animal(8)?$format=application/json
  2. Para eliminar, envía un DELETE en tu postman con http://localhost:8080/odata.svc/Animal(8)
  3. Para insertar, envía un POST en tu postman con http://localhost:8080/odata.svc/Animal y una estructura JSON con los nombres de las propiedades y pares de valores, como:

  1. Así que puedes realizar todas las operaciones CRUD con tus clases persistentes.
  2. Otras muchas funcionalidades estarán disponibles en el futuro, si IRIS OData Server obtiene la aceptación de la comunidad.

¡Gracias!

00
2 0 0 23