Objetivo

Explorar un enfoque de validación estructural adaptativa para mantener estables las pruebas automatizadas frente a cambios en la estructura del JSON generado a partir de datos expuestos desde una base de datos InterSystems IRIS.

11 0
0 44
Artículo
· 13 feb, 2023 Lectura de 6 min
Añadir validación Api-Key en peticiones REST

Hola! recientemente tuve que aplicar validación api-key a un desarrollo que teníamos hecho con un montón de endpoints y me he decidido a compartir con vosotros como lo llevé a cabo de una forma centralizada.

En este artículo os voy a explicar como podemos aplicar de una forma genérica (o no) validación api key a todos los endpoints de nuestra Web App.

8 5
0 566

Quería compartiros hoy un pequeño truco para personalizar cómo se muestran los mensajes en el Visor de Mensajes. En concreto, cómo mostrar mensajes JSON directamente en el Visor de Mensajes en lugar de serializados como XML.

image

3 2
0 277

Siguiendo con la serie de artículos sobre gestión de archivos de voz, vamos a ver cómo podemos convertir texto en audio y recibir el archivo con la voz elegida.
También exploraremos cómo un servicio de OpenAI puede ayudarnos a analizar un texto y determinar el estado de ánimo expresado en él.
Analicemos cómo puedes crear tu propio archivo de voz y cómo puede "leer" tus sentimientos.

3 0
0 109
Artículo
· 23 sep, 2024 Lectura de 8 min
DataPipe2 - Implementar un pipe de datos

¡Hola, desarrolladores!

En esta serie de artículos hemos hablado del framework iris-datapipe, de cómo nos ayuda a crear "pipes" de datos para la ingesta y procesamiento, y de cómo instalarlo. Vamos a profundizar en cómo implementar uno de esos "pipes" paso a paso.

3 0
0 61
Artículo
· 19 sep, 2022 Lectura de 17 min
Cuatro APIs de base de datos

Una sesión simultánea en IRIS: SQL, Objects, REST y GraphQL

Kazimir Malevich, "Deportistas" (1932)

"¡Pues claro que no lo entiende! ¿Cómo puede una persona que siempre ha viajado en un carruaje tirado por caballos entender los sentimientos e impresiones del viajero expres o del piloto de aviones?"

Kazimir Malevich (1916)

Introducción

Ya hemos abordado el tema de por qué la representación de objetos/clases es superior a la de SQL para implementar modelos de áreas temáticas. Y esas conclusiones y hechos son tan ciertos ahora como lo han sido siempre. Entonces, ¿por qué deberíamos dar un paso atrás y hablar sobre las tecnologías que arrastran las abstracciones de vuelta al nivel global, donde habían estado en la era pre-objetos y pre-clases? ¿Por qué debemos fomentar el uso de "código espagueti", que provoca errores que son difíciles de rastrear y se basa en las habilidades de desarrolladores virtuosos?

Hay varios argumentos a favor de la transmisión de datos por medio de APIs basadas en SQL/REST/GraphQL en lugar de representarlos como clases/objetos:

3 0
0 2.4K

¡Hola a todos!

Hoy me gustaría contaros cómo podemos añadir la documentación de un servicio REST al Developer Portal de InterSystems API Manager.

¿Por dónde empezamos?

Necesitamos tener instalado InterSystems IRIS 2019.2 junto con InterSystems API Manager (IAM).

En el post Presentación de InterSystems API Manager, David nos cuenta cómo instalarlo, configurarlo y hacer una primera prueba.

2 1
0 529
Artículo
· 4 feb, 2025 Lectura de 2 min
Memoria un Acelerador de API

Estimada comunidad,

Quería comentarles que hoy publique en OpenExchange un acelerador de APIs muy simple de implementar (con algún parecido a Redis, pero más funcional) y con resultados bastante buenos, a continuación está la publicación del README, espero les sea de ayuda!

https://openexchange.intersystems.com/package/memoria

2 1
0 44

Hace poco, tuve que generar una especificación en Swagger a partir de clases persistentes y en serie, así que ahora publico el código (no está completo, aún queda resolver las especificaciones de la aplicación, pero es un comienzo).

El código está disponible aquí.

Supongamos que tenemos estas clases:

1 0
0 317

Hola a todos! Comentamos hoy una entrada de Timothy Leavitt cuyo equipo (Application Services en InterSystems - encargado de desarrollar y mantener muchas de nuestras aplicaciones internas, y proporcionar herramientas y prácticas recomendadas a otras aplicaciones departamentales), durante el último año, se embarcó en un viaje hacia el desarrollo de interfaces de usuario basadas en Angular/REST, para las aplicaciones existentes construidas originalmente con CSP y/o Zen.

1 2
0 205

La invención y popularización de LLMs (Large Language Models) como GPT-4 de OpenAI ha desencadenado una ola de soluciones innovadoras que permiten aprovechar grandes volúmenes de datos no estructurados, que eran prácticamente imposibles de procesar manualmente hasta hace poco. Estas aplicaciones pueden incluir la recuperación de datos (echad un vistazo al curso sobre ML301 de Don Woodlock, con una excelente introducción a la Generación Aumentada de Recuperación), el análisis de sentimientos, e incluso agentes de IA totalmente autónomos, por nombrar sólo algunos ejemplos!

En este artículo, quiero demostrar cómo la funcionalidad de Python Embebido de IRIS puede ser utilizada para interactuar directamente con la librería Python de OpenAI, a través de la creación de una sencilla aplicación de etiquetado de datos que asignará automáticamente palabras clave a los registros que metamos en una tabla de IRIS. Estas palabras clave pueden después ser usadas para buscar y categorizar los datos, así como para analítica de datos. Utilizaré reseñas de productos realizadas por clientes como ejemplo de caso de uso.

1 0
0 119
Artículo
· 28 jul, 2022 Lectura de 4 min
Cómo añadí ObjectScript a Jupyter Notebook

ObjectScript Kernel Logo

Jupyter Notebook es un entorno interactivo formado por celdas que permiten ejecutar código en un gran número de lenguajes de marcado y programación diferentes.

Para hacer esto, Jupyter debe conectarse a un kernel apropiado. No había un Kernel ObjectScript, por lo que decidí crear uno.

Puedes probarlo aquí.

Este es un adelanto de los resultados:

1 0
0 153
Artículo
· 18 mar, 2025 Lectura de 2 min
Ollama AI con IRIS

En este artículo, discutiré el uso de un LLM alternativo para la IA generativa. OpenAI es comúnmente utilizado, pero en este artículo os mostraré cómo usarlo y las ventajas de utilizar Ollama.

En el modelo de uso de IA generativa al que estamos acostumbrados, seguimos el siguiente flujo:

1 0
0 49
Artículo
· 1 abr, 2025 Lectura de 1 min
Cómo obtener información del servidor/instancia

Hola a todos,

Como parte del desarrollo de una API para saber a qué instancia de IRIS está conectada, he encontrado algunos métodos para obtener información sobre el servidor que pueden ser útiles.

Obtener el nombre del servidor: $SYSTEM.INetInfo.LocalHostName()

Obtener la IP del servidor: $SYSTEM.INetInfo.HostNameToAddr($SYSTEM.INetInfo.LocalHostName())

Obtener el nombre de la instancia: $PIECE($SYSTEM,":",2)

1 0
0 33
Artículo
· 1 jul, 2020 Lectura de 7 min
GraphQL para las plataformas de datos de InterSystems

GraphQL es un lenguaje estándar para declarar estructuras y métodos de acceso a datos, que sirve como una capa de middleware entre el cliente y el servidor. Si nunca has oído hablar de GraphQL, aquí puedes encontrar algunos recursos útiles: aquí, aquí y aquí.

En este artículo, explicaré cómo puedes usar GraphQL en tus proyectos basados en las tecnologías de InterSystems.

1 0
0 340

Introducción

InterSystems IRIS permite crear APIs REST utilizando clases ObjectScript y el framework %CSP.REST. Esta funcionalidad permite desarrollar servicios modernos para exponer datos a aplicaciones web, móviles o integraciones externas.

En este artículo aprenderás cómo crear una API REST básica en InterSystems IRIS, incluyendo:

0 0
0 27

En este artículo vamos a ver como podemos utilizar el servicio de mensajería instantanea de WhatsApp desde InterSystems IRIS para enviar mensajes a diferentes destinatarios. Para ello deberemos crear y configurar una cuenta en Meta y configurar un Business Operation para enviar los mensajes que deseemos.

Veamos con más detalle cada uno de estos pasos.

Configurando una cuenta en Meta

Este es posiblemente el punto más enrevesado de toda la configuración, ya que deberemos configurar una serie de cuentas hasta poder disponer de la funcionalidad de mensajería.

0 0
0 143

Tengo un MacOS y Docker Desktop 2.2 (Engine 19.03).

Tengo un servicio REST funcionando en mi localhost (Mac) y estaba intentando invocarlo desde IRIS que se está ejecutando en un contenedor Docker. Si intentas algo así, no utilices localhost como configuración del servidor HTTP (usando una Business Operation, por ejemplo).

Tienes que utilizarhost.docker.internal.

0 0
0 184

En este artículo, compartiré el tema que presentamos @Rochael Ribeiro y yo en la Convención Anual (Global Summit) 2023, en la sala "Tech Exchange".

En esa ocasión hablamos de los siguientes temas:

  • Herramientas de Open Exchange para Fast APIs (APIs rápidas)
  • Especificación OpenAPI
  • Desarrollo tradicional vs. Fast API
  • APIs Compuestas (Interoperabilidad)
  • Enfoque Spec-First o Api-First
  • Gobernanza y Monitorización de APIs
  • Demo (vídeo)
0 0
0 216
Artículo
· 14 jun, 2019 Lectura de 5 min
La aplicación IRIS API Explorer

InterSystems IRIS 2019.2 introducirá nuevas funciones, muy interesantes. Una de las áreas con novedades que teneis que conocer es la Gestión de APIs.

Para InterSystems IRIS, se ha añadido soporte de una metodología Design-First o API-First. Este método permite realizar primero el diseño de la especificación y después generar el lado del servidor automáticamente a partir de ella.

0 0
0 406
Artículo
· 25 mayo, 2021 Lectura de 12 min
Cómo desarrollar una API REST con un enfoque spec-first

En este artículo, me gustaría hablar sobre el enfoque spec-first para el desarrollo de una API REST.

Mientras que el desarrollo tradicional code-first de una API REST es así:

  • Escribir el código
  • Habilitarlo en REST
  • Documentarlo (como una API REST)

Spec-first sigue los mismos pasos, pero a la inversa. Comenzamos con una especificación, — que también actúa como documentación — , generamos el código base de la aplicación REST a partir de ella, y finalmente escribimos la lógica de negocio concreta que nos haga falta.

Esto ofrece varias ventajas:

0 1
0 927