InterSystems IRIS se basa en una arquitectura que separa la organización lógica de los datos (namespaces - espacios de nombres) de su ubicación física de almacenamiento (bases de datos). Comprender esta separación y la distinción entre espacios de nombres y bases de datos es fundamental para una gestión de datos eficaz, la seguridad y, especialmente, para compartir datos con alto rendimiento.

En este artículo, explicaré estos componentes fundamentales y ofreceré una guía práctica sobre cómo aprovechar los mapeos de globals para compartir estructuras de datos nativas (globals) entre diferentes entornos lógicos.

Bases de datos: la realidad física

Una base de datos representa la realidad física de dónde se almacenan los datos en el disco. Antes que nada, es un archivo en un sistema de archivos llamado IRIS.dat (por ejemplo, <carpeta de instalación>\mgr\user\IRIS.DAT). El tamaño máximo de este archivo es de 32 TB. Es el contenedor de todos los datos y del código. Las bases de datos son gestionadas por el núcleo de IRIS, que se encarga del caché, el registro en diario (journaling) y el registro de transacciones a nivel de archivo físico.

Al instalar el DBMS de InterSystems IRIS, se crean automáticamente las siguientes bases de datos:

0 0
0 6

A veces es más conveniente, más eficiente y más seguro limitar las búsquedas FHIR a "listas" de recursos predefinidas.

Desde la versión v2025.1, soportamos varias funcionalidades relacionadas con listas en nuestro servidor FHIR.

Aquí las destacaré y os proporcionaré algunos ejemplos.

0 0
0 8

Al trabajar con InterSystems Interoperability (IRIS / Health Connect / Ensemble), los datos de configuración a menudo están distribuidos en muchos elementos de producción: servicios, procesos, operaciones, adaptadores y sus configuraciones.

Una necesidad operativa o de seguridad común es responder preguntas como:

0 0
0 7

Probablemente os suene esta situación:

Hace tiempo encontraste una función muy especial, $ZU, para un tipo de problema muy concreto. Como una especie de fórmula mística. Esta se popularizó y muchos desarrolladores la utilizaron en su código.

Tras varias versiones y actualizaciones, ISC informa de que vuestro mágico $ZU está obsoleto y ya no es soportado. Se os recomienda reemplazarlo por un nuevo $loquesea().

0 0
0 9

También en versiones anteriores podíais definir vuestro servidor FHIR para aceptar solicitudes mediante OAuth 2.0 (por ejemplo, para un cliente SMART on FHIR), pero hoy en día, con la versión v2024.3, que se lanzó hace ya un tiempo, existe una nueva funcionalidad que permite hacerlo de forma más sencilla: el OAuth FHIR Client QuickStart.

0 0
0 10
Artículo
· 12 ene, 2026 Lectura de 1 min
Reseñas en Open Exchange - #61

Si uno de vuestros paquetes en OEX recibe una reseña, OEX os notificará únicamente sobre vuestro propio paquete. La valoración refleja la experiencia del revisor con el estado del paquete en el momento de la reseña.
Es como una “fotografía” del estado en ese momento y podría haber cambiado desde entonces. Las reseñas realizadas por otros miembros de la comunidad se marcan con un * en la última columna.

0 0
0 10

Existen numerosas herramientas excelentes para probar vuestras APIs REST, especialmente cuando están en funcionamiento. Postman, distintas extensiones de navegador e incluso código personalizado en ObjectScript usando objetos %Net.HttpRequest pueden hacer el trabajo. Sin embargo, a menudo resulta complicado probar únicamente la API REST sin involucrar, sin querer, el esquema de autenticación, la configuración de la aplicación web o incluso la conectividad de red. Son muchos obstáculos solo para probar el código dentro de vuestra clase dispatch.

La buena noticia es que, si nos tomamos el tiempo para comprender cómo funciona internamente la clase %CSP.REST, encontraremos una alternativa que permite probar únicamente el contenido de la clase dispatch. Podemos configurar los objetos de request y response para invocar los métodos directamente.

0 0
0 10
Artículo
· 6 ene, 2026 Lectura de 1 min
Usando IRIS como una base de datos vectorial

Las capacidades integradas de búsqueda vectorial de InterSystems IRIS nos permiten buscar datos no estructurados y semiestructurados. Los datos se convierten en vectores (también llamados “embeddings”) y luego se almacenan e indexan en InterSystems IRIS para búsqueda semántica, generación aumentada por recuperación (RAG), análisis de texto, motores de recomendación y otros casos de uso.

Esta es una demostración sencilla de IRIS siendo utilizado como una base de datos vectorial y para búsquedas por similitud en IRIS.

0 0
0 19

Fue alentador ver a más personas creando extensiones de VS Code para el concurso reciente. Sin embargo, noté que de las tres extensiones que requieren credenciales para realizar sus conexiones, solo la de @John Murray, gj :: dataLoader, aprovecha la extensión InterSystems Server Manager, ampliamente establecida y oficialmente soportada, para obtener las definiciones de conexión y gestionar las credenciales de manera segura.

0 0
0 30

La idea más votada en el InterSystems Ideas Portal —con 74 votos— pide una versión ligera de IRIS. Aunque la plataforma ha crecido hasta convertirse en un potente motor de datos, muchos proyectos solo necesitan sus capacidades de base de datos SQL. Este artículo muestra cómo crear una imagen no oficial y compacta de IRIS Community Edition centrada únicamente en la funcionalidad básica de base de datos, reduciendo el tamaño de la imagen en más de un 80%.

⚠️ Aviso

Este proyecto genera una imagen no oficial y experimental de InterSystems IRIS Community Edition.

  • No está soportada ni avalada por InterSystems.
  • Usadla bajo vuestra propia responsabilidad. Las modificaciones eliminan funciones esenciales de la plataforma y pueden romper la compatibilidad con herramientas, APIs y comportamientos esperados.
  • No se aplican garantías de ningún tipo, incluida su idoneidad para uso en producción.
  • Está pensada solo para fines educativos y experimentales por parte de usuarios avanzados.

¿Por qué un IRIS ligero?

Aunque IRIS incluye hoy funciones muy completas —interoperabilidad, analítica, machine learning, gestión del sistema, etc.— muchos proyectos solo requieren sus capacidades SQL básicas. La imagen oficial Docker de Community Edition ocupa aproximadamente:

  • Uso en disco: 3,5–3,8 GB
  • Tamaño comprimido: ~1,1 GB

IRIS Light reduce eso a:

  • Uso en disco: ~575–583 MB
  • Tamaño comprimido: ~144–148 MB

Esto lo hace adecuado para:

  • Uso SQL en microservicios o contenedores
  • Pipelines de CI con arranque y descarga más rápidos
  • Escalado horizontal donde no se necesitan todas las funcionalidades

0 0
0 26

Hola a todos.

Os voy a dar un consejo rápido de como implementar un agente IA para realizar búsquedas en la documentación de Intersystems integrado en Teams.

Si, ya se que la página de la documentación tiene su propio buscador IA y es bastante eficaz, pero de esta forma tendríamos un acceso más rápido, sobre todo si Teams es la herramienta corporativa de tu empresa.

También se puede crear otro agente IA para realizar búsquedas en los artículos publicados en la comunidad de desarrolladores (que también tiene su buscador IA integrado).

1 0
0 28

🚀 Un ejemplo práctico integrando REST, CSV, bases de datos y servicios SOAP

En el día a día de cualquier organización, la información fluye entre aplicaciones, servicios y sistemas muy distintos entre sí. Integrarlos de forma eficiente puede ser un reto... a menos que uses InterSystems IRIS.

En este nuevo vídeo te muestro cómo construir un flujo completo de integración combinando múltiples tecnologías —APIs REST, ficheros CSV, bases de datos y servicios SOAP— todo dentro del entorno visual que ofrece el motor de interoperabilidad de IRIS.

👉 Puedes ver el vídeo aquí:

https://www.youtube.com/embed/82xA51nThqQ?si=CzRfwyLSwcKvOGGH
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

3 0
0 35
Artículo
· 15 dic, 2025 Lectura de 3 min
Crear tablas externas usando SQL a través de JDBC

Hola a todos. De nuevo, me gustaría compartir lo que estoy estudiando recientemente: crear tablas externas usando SQL a través de JDBC.

Como estoy aprendiendo sobre IRIS BI al mismo tiempo, empecé con este entorno docker de Sample-BI.

https://github.com/intersystems/Samples-BI

Después de iniciar el entorno, iniciad sesión en el portal de administración en http://localhost:52773/csp/sys/UtilHome.csp con el usuario Superuser.

1 0
0 28

Hay un patrón con el que me he encontrado varias veces en el que necesito usar un archivo o carpeta temporal y que se limpie en algún momento más adelante.

Lo natural aquí es seguir los patrones de "Robust Error Handling and Cleanup in ObjectScript" usando un try/catch/pseudo-finally o un objeto registrado para gestionar la limpieza en el destructor. %Stream.File* también tiene una propiedad “RemoveOnClose” que podéis activar… pero usadla con cuidado, porque podríais eliminar accidentalmente un archivo importante, y este indicador se reinicia al llamar a %Save(), así que tendréis que volver a ponerlo a 1 después de hacerlo.

Pero hay un caso complicado: imaginad que necesitáis que el archivo temporal sobreviva en un nivel de pila superior. Por ejemplo:

0 0
0 28

Toda comunidad técnica próspera tiene personas cuya curiosidad, perseverancia y generosidad ayudan a dar forma a su conocimiento colectivo. En la Comunidad de Desarrolladores de InterSystems, uno de esos colaboradores es @Scott Roth, que ha sido una presencia inspiradora durante casi una década.

👏 Echemos un vistazo más de cerca al notable recorrido de Scott y a su impacto en el ecosistema de InterSystems.

1 0
0 22

Me complace anunciar la publicación de gj :: dataLoader, una nueva extensión de VS Code que simplifica la tarea de cargar datos desde archivos CSV locales en tablas SQL de vuestros servidores InterSystems IRIS.

Aquí tenéis un vídeo introductorio:

https://www.youtube.com/embed/XohVoW5rSy4
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

2 0
0 32

Hace ya un tiempo hice un pequeño ejemplo para poder desplegar rápidamente utilizando Docker instancias de InterSystems IRIS conectadas vía ECP. Ha pasado el tiempo y, como todo, necesitaba algo de chapa y pintura...

0 0
0 38

Como desarrollador que usa IRIS como base de datos en un par de proyectos, uso APIs REST todo el tiempo. En mi opinión, saber cómo consumir un recurso de una API REST es crucial para poder utilizar APIs REST externas con %Net.HttpRequest, porque permite la integración con aplicaciones y servicios web modernos, y es una habilidad esencial para un desarrollador backend que ama y utiliza IRIS como base de datos.

¿Qué es y para quién sirve %Net.HttpRequest?

1 0
0 35

Cuando comencé mi trayectoria con InterSystems IRIS, especialmente en el área de Interoperabilidad, una de las preguntas iniciales y más comunes que tuve fue: ¿cómo puedo ejecutar algo en intervalos o según una programación? En este artículo quiero compartir dos clases sencillas que abordan este problema. Me sorprende que no haya clases similares ubicadas en algún lugar de EnsLib. ¿O quizá no busqué bien? En cualquier caso, este artículo no pretende ser un excesivamente complejo, sino una muestra de un par de fragmentos para principiantes.

0 0
0 37

En mi artículo anterior en el que presentaba gj :: configExplorer señalé cómo un aparente error en los elementos de Windows de la API nativa para Node.js hace que actualmente no sea posible ejecutarlo en VS Code en un escritorio Windows.

0 0
0 35
Artículo
· 12 nov, 2025 Lectura de 3 min
Recursos relacionados con VS Code

Después de los dos webinars que realizamos centrados en VS Code ["Introducción" y "Más allá de lo básico"; en hebreo], un compañero de la comunidad inglesa preparó para los participantes algunos enlaces relacionados con recursos relevantes que enviamos como seguimiento. Los compartimos aquí también.

0 0
0 46
Artículo
· 10 nov, 2025 Lectura de 3 min
_spec para swagger-ui desde la clase de spec

Seguramente queríais usar la especificación OpenAPI (OAS) en formato JSON que utilizasteis para vuestra clase spec en el paquete iris-web-swagger-ui de IRIS.
La OAS generada por el método ##class(%REST.API).GetWebRESTApplication(...) es muy básica, sin descripciones de los parámetros ni de la estructura esperada de las respuestas.

Así que, después de crear vuestra aplicación REST a partir de una OAS, deberíais tener:

0 0
0 51

Toda comunidad próspera depende de miembros cuya dedicación silenciosa y profunda experiencia la hacen crecer y fortalecerse año tras año. En la Comunidad de Desarrolladores de InterSystems, uno de esos pilares es @Megumi Kakechi, una ingeniera y especialista en soporte con una larga trayectoria, cuyos 17 años en InterSystems y 9 años en la Comunidad de Desarrolladores reflejan una verdadera pasión por ayudar a otros a aprender, resolver problemas e innovar.

👏 Echemos un vistazo más de cerca al increíble recorrido de Megumi y a su impacto en el ecosistema de InterSystems.

0 0
0 22