0 Seguidores · 75 Publicaciones

La Interfaz de programación para aplicaciones (API) es un conjunto de definiciones para subrutinas, protocolos y herramientas cuyo objetivo es crear software para las aplicaciones. En términos generales, es un conjunto de métodos de comunicación claramente definidos entre varios componentes del software.

Obtener más información.

Artículo Kurro Lopez · oct 23 1m read

Hola a todos,

Este es un rápido consejo de como usar URL en servicios RES API sin distinción de mayúsculas y minúsculas.

Si tienes una clase que extiende de %CSP.REST y Ens.BusinessService, para crear un servicoi REST API, y tienes definido tu WebApplication en minúsculas

XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>
    <Route Url="/user" Method="POST" Call="User"/>
    <Route Url="/login" Method="POST" Call="Login"/>
</Routes>
}

Solo aceptará URL en minúsculas, por ejemplo: http://myserver/myproduction/user

0
0 0
Pregunta Kurro Lopez · sep 5

Hola comunidad.

Tengo una solicitud de un cliente que desea hacer lo siguiente.
Actualmente, tienen un proceso de carga de datos vía FTP en el que han implementado un RecordMap para almacenar la información de los archivos CSV que se suben al directorio FTP.
Ahora quieren tener otro directorio para que solo se ejecute mediante una instrucción externa, no cuando se sube el archivo.

0
0 0
Artículo Marco Bahamondes · jun 30 3m read

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:

  • Clase de datos persistente
  • Clase REST con métodos GET y POST
  • Web application para exponer la API
  • Demostración completa con Docker

Paso 1: Crear la clase de datos Demo.Producto

0
0 0
Artículo Julio Esquerdo · jun 5 18m read

Uso de Python en InterSystems Iris

Hola

En este artículo veremos el uso de python como lenguaje de programación en InterSystems Iris. Para ello, utilizaremos como referencia la versión de Community 2025.1 que está disponible para ser descargada en https:// download.intersystems.com iniciando sesión en el entorno. Para obtener más información sobre cómo descargar e instalar Iris, consulte el enlace de la comunidad https://community.intersystems.com/post/how-download-and-install-intersystems-iris

0
0 0
Pregunta Kurro Lopez · mayo 28

Hola comunidad,

Me preguntaba si sería posible usar algo como EnsLib.SQL.InboundAdapter con tablas en IRIS.

Esta biblioteca monitoriza cuándo se inserta un registro en una tabla de una base de datos externa, por lo que requiere un DSN para conectarse a dicha base de datos.

Mi objetivo es realizar una llamada a una API externa que tarda mucho tiempo, podría tardar casi una hora (o más) en completar sus procesos, pero no quiero bloquear el proceso principal.

0
0 0
Artículo Ricardo Paiva · jun 4 3m read

IRIS admite transformaciones CCDA y FHIR de forma nativa, pero acceder y visualizar estas funcionalidades requiere tiempo de configuración y conocimiento del producto. La aplicación IRIS Interop DevTools fue diseñada para cerrar esa brecha, permitiendo a los implementadores comenzar de inmediato y explorar las capacidades de transformación integradas del producto.

Además del entorno de transformación IRIS XML, XPath y CCDA, el paquete Interop DevTools ahora proporciona:

0
0 0
Artículo Daniela Echenique · jun 2 5m read

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.

Se busca minimizar falsos positivos ante cambios no críticos, siempre que la respuesta siga siendo coherente con la estructura real de la base. En estos casos, la ejecución continúa y se deja registro del evento en un archivo estructurado, que permite trazabilidad y análisis evolutivo.

0
0 0
Artículo Kurro Lopez · abr 1 1m read

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)

Entonces, he creado el siguiente código como clase BS:

0
0 0
Artículo Rodolfo Pscheidt Jr · mar 18 2m read

 

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:

  • Tomamos textos de una fuente de datos (un archivo, por ejemplo) y los transformamos en vectores.
  • Almacenamos los vectores en una base de datos IRIS.
  • Llamamos a un LLM (Large Language Model) que accede a estos vectores como contexto para generar respuestas en lenguaje humano.
0
0 0
Artículo Joel Espinoza · feb 4 2m read

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

Memoria

Esta aplicación permite almacenar el resultado de una llamada a la API GET de forma permanente o por un periodo de tiempo, reduciendo los tiempos de respuesta al cliente final.

0
0 0
Artículo Alberto Fuentes · sep 23, 2024 8m read

¡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.

Si llegaste directamente a este artículo, te recomiendo revisar los anteriores y recordar que iris-datapipe incluye un QuickStart para que puedas explorar sus funcionalidades rápidamente 👌.

El ejemplo que abordaremos está incluido en el QuickStart, por lo que puedes utilizarlo como referencia.

Definir un nuevo Pipe

0
0 0
Artículo Jose-Tomas Salvador · ago 27, 2024 4m read

Acceder a un almacenamiento en la nube de Azure para cargar/descargar blobs es bastante fácil usando los métodos API designados de la clase %Net.Cloud.Storage.Client, o usando los adaptadores de entrada/salida EnsLib.CloudStorage.*

Tened en cuenta que necesitaréis tener el Servidor de Lenguaje Externo %JavaServer en funcionamiento para usar tanto la API de almacenamiento en la nube como los adaptadores, ya que ambos usan el marco PEX usando el Servidor Java.

He aquí un breve resumen:

El acceso a Azure Blob Storage se realiza mediante una cadena de conexión similar a esta:

0
0 0
Artículo Kurro Lopez · mayo 21, 2024 10m read

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.

0
0 110
Pregunta Kurro Lopez · abr 10, 2024

Hola comunidad,

Estoy llamando a una API que está devolviendo el contenido de un fichero como Content del response. Estoy capturando el binariu pero necesito convertir este Stream a uan cadena Base64.

Estoy intentando convertir un %Stream.GlobalBinary a Base64 usando el siguiente código, pero no funciona.

do stream1.Rewind()
set response = ""while 'stream1.AtEnd {
    set temp=stream.Read(4000)
    set temp=$system.Encryption.Base64Encode(temp)
    set response = response_temp
}

El contenido no se convierte correctamente a Base64

0
0 145
Pregunta Kurro Lopez · mar 15, 2024

Hola a todos,

Por un requerimiento del cliente, tenermos un BS Rest Api con un montón de métodos, necesitamos obtener la IP del invocador, el método y cual es el tiempo que la API ha tomado para procesar.

He encontrado el evento onPreDispatch donde puedo capturar la IP, ClassMethod, etc.. Estoy usando una variable global para guardar esta información.

0
0 175
Artículo Ricardo Paiva · mar 15, 2024 5m read

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 213
Artículo Alberto Fuentes · feb 21, 2024 2m read

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.

Los mensajes son los objetos que utilizamos para comunicar componentes de una producción de interoperabilidad. En mi caso me había definido un mensaje que utilizaba después para pasar a JSON y enviar a una API. Este mensaje está definido como un mensaje convencional y también como %JSON.Adaptor para poder exportar / importar directamente a JSON.

0
0 274
Pregunta Kurro Lopez · feb 12, 2024

Hola a todos,

Como sabéis, es muy complicado depurar una API Rest de Business Service porque el objeto se crea cuando las aplicaciones reciben una solicitud, por lo que no podemos tener el JobId que podemos usar para depurar.

https://docs.intersystems.com/iris20211/csp/docbook/DocBook.UI.Page.cls…

Entonces, estoy tratando de obtener el JobId cuando se crea la clase, escribir una traza en el método OnInit() y escribir el JobId en es traza.

Method OnInit() As%Status
{
	$$$LOGINFO("JobId: "_$JOB)
	hang20breakQuit..OnInit()
}
0
0 229
Pregunta Kurro Lopez · feb 8, 2024

Hola a todos,

Tenemos una clase response heredada de %JSON.Adaptor con las siguientes propiedades, también sus clases dependientes:

 

Kurro.app.Msg.Search.Response

0
0 217
Artículo Alberto Fuentes · ene 15, 2024 5m read

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!

0
0 119
Artículo Luis Angel Pérez Ramos · nov 28, 2023 6m read

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 142
Artículo Daniel Aguilar · nov 8, 2023 8m read

    

 

Hola, comunidad!

Después de crear la appIrisApiTester, me di cuenta que podría tener mas potencial, y que con algunos ajustes, podría convertirse en una poderosa herramienta colaborativa.

Me pregunté a mi mismo:

  • ¿Podría compartir la colección con un equipo de desarrolladores?
  • ¿Podría usarlo para realizar test unitarios?
  • ¿Y test de integración?
  • ¿Y si le añadiésemos una capa de CI/CD?
0
1 95
Anuncio Esther Sanchez · sep 29, 2023

¡Hola Comunidad!

Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!

Cómo desarrollar APIs seguras en InterSystems IRIS

Por cierto, ¿habéis echado un vistazo a las listas de reproducción que tenemos en el canal de YouTube? Hay una que recoge todos los webinars que hemos realizado (¡ya llevamos veinticinco!), otra lista con tutoriales y otra con trucos y demos.

¡Echadle un ojo y dadle al play! ▶️

0
0 113
Anuncio Esther Sanchez · sep 11, 2023

¡Hola desarrolladores!

Os invitamos a un nuevo webinar en español: "Cómo desarrollar APIs seguras en InterSystems IRIS", el jueves 28 de septiembre, a las 4:00 PM (CEST).

    

El webinar está dirigido a desarrolladores de aplicaciones.
Durante el webinar, desarrollaremos en InterSystems IRIS una API muy simple, a partir de una OAS (OpenAPI Specification), para luego ir añadiéndole capas de seguridad a su alrededor. En el proceso se revisará y probará la API con el paquete swagger-ui de nuestro sitio web Open Exchange.

¡Os esperamos!
 

🗣 Ponente: @Pablo Frigolett, Sales Engineer en InterSystems

1
0 306
Artículo Daniel Aguilar · jul 3, 2023 2m read

Hola Comunidad!

Voy a explicaros por encima cómo crear test en colecciones de Postman para usarlos en la app IRIS Api Tester.

Ok, pero.. ¿qué es Newman?

Newman es una herramienta de línea de comandos que nos permite ejecutar colecciones de Postman de un modo automático y escalable. Creando test en Newman, puedes asegurar la estabilidad de las colecciones en tus API endpoints. En este artículo, vamos a descubrir como crear test para Newman desde Postman, con unos ejemplos prácticos.

1
0 381
Artículo Daniel Aguilar · jul 3, 2023 3m read

Hola Comunidad!!

Acabo de subir mi última aplicación "IRIS Api Tester" al Open Exchange.

Es un proyecto docker con InterSystems IRIS + Newman que permite lanzar test sobre tus colecciones de Postman de una manera rápida y fácil.

El proyecto viene listo para funcionar, solo debes clonar el repositorio: https://github.com/daniel-aguilar-garcia/irisapitester

Arrancar el fichero docker-compose:

Abrir esta url en tu navegador:

http://localhost:52773/csp/user/index.html

Luego en Postman, añade algunos test a tu colección:

1
0 198
Comentarios Miqueias Santos · mayo 18, 2023

¡Hola, chicos!
Estoy buscando buenas personas para dar su opinión sobre mi artículo, solo acceda al enlace a continuación, traduzca del portugués brasileño a su idioma si es necesario y deje su opinión.

Enlace: https://pt.community.intersystems.com/post/veremos-seguir-como-o-intersystems-iris-aliado-com-machine-learning-pode-transformar-para

Deja tu comentario en el artículo, no aquí.

¡Gracias!

0
0 84