Continuando con la serie de análisis de rendimiento, en este artículo voy a mostrar un método para dimensionar los requisitos de memoria compartida para aplicaciones de base de datos que se ejecutan en plataformas de datos de InterSystems, incluyendo los Global y Routine Buffers, gmheap y locksize. También daré algunos consejos de rendimiento que se deberían tener en cuenta al configurar servidores y al virtualizar aplicaciones de Iris. Como siempre, cuando hablo de Iris o Caché , me refiero a toda la plataforma de datos. Este artículo tiene algunos años pero mantiene su esencia, por lo que me referiré a Iris o Caché indistintamente ya que la teoría es exáctamente igual para todos los productos con kernel Caché/Iris.
¡Hola Comunidad!
Si queréis saber cómo os va en la Comunidad y ver vuestras estadísticas, no hace falta que vayáis a vuestro perfil y os desplacéis por todas vuestras publicaciones (aunque también es posible). Para mayor comodidad, podéis utilizar el Panel de Estadísticas.
En él podéis ver las estadísticas detalladas de vuestras publicaciones, para los últimos 7 días (pestaña "Semana"), los últimos 30 días (pestaña "Mes") y desde siempre (pestaña "Siempre"), incluyendo:
- número de visualizaciones, likes, comentarios y seguidores conseguidos
- gráficos temporales con el número de visualizaciones, likes, acciones en vuestras publicaciones y comentarios
- una tabla con información sobre visualizaciones, comentarios y likes de cada una de vuestras publicaciones
.png)
¡Hola Comunidad!
Como sabéis, las soluciones de Interoperabilidad de InterSystems IRIS contienen diferentes elementos de la solución, como: producciones, reglas de negocio, procesos, transformaciones de datos, mapeos de registros, etc. Y a veces podemos crear y modificar estos elementos con herramientas visuales en la UI. Y por supuesto necesitamos una forma práctica y sólida de controlar el código fuente con los cambios realizados con herramientas de UI.
Durante mucho tiempo, esto era un proceso de configuración manual (exportar clase, elemento, global, etc.) o engorroso, por lo que el tiempo ahorrado con la automatización del control de fuentes de la UI competía con el tiempo perdido en configurar y mantener la configuración.
Ahora ese problema ya no existe. Con dos enfoques: desarrollo "package first" y uso del paquete IPMgit-source-control, de @Timothy.Leavitt.
Os explico los detalles a continuación.
Antes de empezar a hablar de bases de datos y de los distintos modelos de datos que existen, primero explicaré qué es una base de datos y cómo se utiliza.
Una base de datos es una colección organizada de datos, almacenados y accesibles de forma electrónica. Se utiliza para almacenar y recuperar datos estructurados, semiestructurados o sin procesar, que normalmente están relacionados con un tema o una actividad.
En el corazón de toda base de datos hay al menos un modelo utilizado para describir sus datos. Y según el modelo que utilice, una base de datos puede tener características ligeramente diferentes y almacenar distintos tipos de datos.
Para escribir, recuperar, modificar, ordenar, transformar o imprimir la información de la base de datos, se utiliza un software llamado Sistema de Gestión de Bases de Datos (DBMS, por sus siglas en inglés).
El tamaño, la capacidad y el rendimiento de las bases de datos y sus respectivos DBMS ha aumentado de forma significativa. Esto ha sido posible gracias a los avances tecnológicos en varios ámbitos, como los procesadores, la memoria y almacenamiento de los ordenadores y las redes informáticas. En general, el desarrollo de la tecnología de bases de datos puede dividirse en cuatro generaciones basadas en los modelos o la estructura de los datos: navegacional, relacional, de objetos y post-relacionales.




Esta es una aplicación de prueba, que muestra cómo usar el Repositorio FHIR de InterSystems IRIS for Health para crear un Repositorio FHIR con autorización OAuth2. El endpoint FHIR será el servidor de recursos y el Google OpenId será el servidor de autorización.
1. Interoperability-embedded-python
Esta prueba de concepto pretende mostrar cómo el framework de interoperabilidad de IRIS puede utilizarse con Python Embebido.
1.1. Índice
1 de agosto de 2023
InterSystems ha corregido dos defectos.
El primer defecto puede provocar que un servidor de aplicaciones ECP se bloquee. Este defecto solo es relevante para procesadores ARM e IBM Power; está presente en la versión 2022.1.2 y 2022.1.3 de InterSystems IRIS®, InterSystems IRIS for Health™ y HealthShare® Health Connect. La corrección de identifica como DP-423661. El defecto está controlado en todas las versiones futuras.
El segundo defecto puede, en circunstancias excepcionales, provocar que el dejournaling se bloquee. Este defecto está presente en las versiones 2020.4, 2021.x, 2022.x y 2023.1 de InterSystems IRIS®, InterSystems IRIS for Health™ y HealthShare® Health Connect. La corrección de identifica como DP-423505. El defecto esta controlado en todas las versiones futuras y ya está corregido en la versión 2023.1.1.
– 11 anuncios
– 1 pregunta
Hemos tratado de llamar desde AWS Sage Maker datos directo desde IRIS usando pyodbc pero AWS no podemos instalar el driver de IRIS en Sage Maker alguien sabe como instalarlo? o tiene el drive/libraría?
¡Hola desarrolladores!
Compartimos con vosotros las mejoras que hemos realizado en la Comunidad durante los últimos meses:
📌 Publicaciones populares
📌 Nueva interfaz para las notificaciones
📌 Filtro para miembros certificados
Os explicamos en detalle cada una de ellas.
¡Hola Comunidad!
Me alegra anunciar la nueva versión de iris-pex-embedded-python (v2.3.1) con una nueva interfaz de línea de comandos.
Esta línea de comandos se llama iop por Interoperability On Python.
Primero me gustaría presentar los principales cambios del proyecto desde la versión 1.
Breve historia del proyecto
La versión 1.0 fue una prueba de concepto para mostrar cómo el framework de interoperabilidad de IRIS se puede utilizar con un enfoque python first mientras sigue siendo compatible con cualquier código existente de ObjectScript.
¿Qué significa eso? Significa que cualquier desarrollador Python puede usar el framework de interoperabilidad de IRIS sin ningún conocimiento de ObjectScript.
Ejemplo:
from grongier.pex import BusinessOperation
class MyBusinessOperation(BusinessOperation):
def on_message(self, request):
self.log.info("Received request")
Genial, ¿cierto?
Hola Comunidad:
En este artículo, aprenderemos los siguientes temas:
-
¿Qué es Docker?
-
Algunos beneficios de Docker
-
¿Cómo funciona Docker?
-
Imágenes Docker
-
Contenedores Docker
-
Repositorio de imágenes Docker
-
Repositorio de imágenes Docker de InterSystems
-
Instalación de Docker
-
Comandos básicos de Docker
-
Ejecutar la Community Edition de IRIS utilizando Docker
-
Interfaz gráfica de Docker Desktop
¡Comencemos!
Hola desarrolladores:
Os traemos un nuevo vídeo con subtítulos en español, ya disponible en el canal de YouTube de la Comunidad de Desarrolladores de InterSystems en español:
⏯ Cómo usar el Diseñador de Business Process en InterSystems IRIS
¡Hola Comunidad!
Compartimos con vosotros una nueva funcionalidad en Open Exchange - dependencias entre apps. Ahora, al visitar la página de una aplicación, se puede ver fácilmente qué apps dependen de ella y de cuáles depende. Esta información está disponible en dos pestañas: Dependencies y Dependants, respectivamente, ofreciendo una información muy valiosa.
Y lo mejor es que esa información se recoge automáticamente de los datos de IPM, por lo que no tenéis que introducir esa información de forma manual al enviar o gestionar vuestras aplicaciones.
¡Esperamos vuestros comentarios!
¡Hola Comunidad!
Si queréis promocionar las soluciones, herramientas y/o servicios de vuestras empresas, podemos organizar un webinar para vosotros. Solo tenéis que decirnos de qué queréis hablar y cuándo.
Esto es lo que os ofrecemos:
¡Buenas noticias para los desarrolladores que usan GitLab como repositorio de aplicaciones de InterSystems! Open Exchange ha ampliado su soporte para incluir GitLab, lo que permite enviar proyectos tan fácilmente como se haría con repositorios de GitHub.
Cómo enviar a Open Exchange una aplicación del repositorio de GitLab:
- Entra en Open Exchange e inicia sesión con tu cuenta.
- Ve a "Submit Application" (Enviar aplicación)
- En el campo "GitHub/GitLab URL", añade el enlace a tu repositorio abierto de GitLab.
- Asegúrate de marcar la casilla "Use GitHub/GitLab README as long description". Esto asegura que el fichero README de tu proyecto sirve como descrición larga para la aplicación.
En la primera parte de esta serie de artículos hablamos sobre cómo leer un gran fragmento de datos del cuerpo sin procesar de un método HTTP POST y guardarlo en una base de datos como una propiedad stream de una clase. En la segunda parte comentamos cómo enviar archivos y sus nombres envueltos en un formato JSON.
Ahora analizaremos más de cerca la idea de enviar al servidor grandes archivos por partes. Para ello, podemos utilizar varios enfoques. En este artículo se analiza el uso del encabezado Transfer-Encoding para indicar una transferencia fragmentada. La especificación HTTP/1.1 introdujo el encabezado Transfer-Encoding, y la sección 4.1 RFC 7230 lo describió, pero está ausente en la especificación HTTP/2.
¡Hola Comunidad!
Probablemente habéis visto la abreviatura SSO en diferentes sitios web de InterSystems: la Comunidad, el Portal de Formación, Global Masters, etc. Significa Single Sign-On (Inscripción Única), es decir, que necesitáis un único nombre de usuario y contraseña para acceder a todos los recursos del Ecosistema para el Desarrollador de InterSystems.
.png)
¡Hola Comunidad!
Compartimos con vosotros una fantástica noticia - ya está en marcha InterSystems Developer Hub, el nuevo portal para los desarrolladores de InterSystems. ¡Y está disponible en español (América Latina) y español (España)!
Hola de nuevo a todos.
En nuestro artículo anterior vimos como configurar nuestro EMPI para recibir mensajería FHIR. Para ello instalábamos el Adaptador FHIR que InterSystems pone a nuestra disposición que configuraba un endpoint REST al que podíamos enviar nuestro mensaje FHIR. A continuación obteníamos el mensaje y lo transformábamos a un %String que enviábamos vía TCP a la producción de nuestro EMPI configurada en nuestro namespace HSPIDATA.
Muy bien, es el momento de ver como recuperamos el mensaje, lo transformamos nuevamente a un %DynamicObject y lo parseamos a la clase usada por el EMPI
_________ ___ ____
|__ / _ \_ _| _ \
/ /| |_) | || |_) |
/ /_| __/| || __/
/____|_| |___|_|
Desde la versión 2021.1, InterSystems IRIS empezó a distribuirse con un runtime de Python en el motor del kernel. Sin embargo, no había forma de instalar paquetes desde dentro de la instancia. La principal ventaja de Python es su enorme ecosistema de paquetes. Con ello en mente, os presento mi proyecto zpip, un empaquetador pip que se puede invocar desde el terminal de iris.
¿Qué es zpip?
zpip es un empaquetador para python pip que permite a los desarrolladores añadir de
¡Hola Comunidad!
Ha llegado el momento de anunciar los ganadores del 3er Gran Premio de Programación de InterSystems.
Gracias a todos los participantes, que presentaron 20 aplicaciones increíbles 🔥

Os presento mi nuevo proyecto: irissqlcli, REPL (Read-Eval-Print Loop) para InterSystems IRIS SQL.
- Resaltado de sintaxis
- Sugerencias (tablas, funciones)
- +20 formatos de salida
- Soporte a stdin
- Salida a ficheros
Instalación con pip
pipinstallirissqlcliO se puede ejecutar con docker
dockerrun-itcaretdev/irissqlcliirissqlcliiris://_SYSTEM:SYS@host.docker.internal:1972/USER¡Volvemos al ataque con nuestro EMPI!
En artículos anteriores hemos visto como configurar y personalizar nuestro EMPI, hemos visto como podemos como podemos incluir nuevos pacientes en nuestro sistema mediante mensajería HL7, pero claro, ¡no todo es HL7 v.2 en esta vida! ¿Cómo podríamos configurar nuestra instancia del EMPI para trabajar con mensajería FHIR?
¿Qué es FHIR?
Para los que no estéis demasiado familiarizados con el término FHIR únicamente indicar que son las iniciales de Fast Healthcare Interoperability Resource.
¡Hola Comunidad!
Seguramente habéis tod@s escuchado algo sobre Salesforce – la empresa y su software. En este articulo nos dedicaremos a la conectividad al software de CRM – Salesforce CRM. De una manera muy genérica, Salesforce CRM tiene la capacidad de administrar las interacciones con los clientes de una organización a través de varios métodos, como llamadas telefónicas, consultas por correo electrónico, comunidades, medios y redes sociales. Se dice que Salesforce maneja todas las relaciones con los clientes - centrándose en los procesos de ventas, soporte y marketing. Este servicio/software está disponible en la nube.
Qué bueno sería que pudiésemos conectarnos a Salesforce desde nuestro entorno InterSystems IRIS o cualquier otro producto de InterSystems.
¿Cómo se podría saltar a una línea particular escribiendo una etiqueta y añadiendo un desplazamiento en VS Code (zMethodName + n)?
Sé que esto se puede hacer en Studio y sería muy útil para depurar mensajes de error.
¡Hola Comunidad!
El Global Summit 2023 terminó hace poco y las ponencias generales de las mañanas (keynotes) ya están disponiblespara los que no pudisteis verlas en directo, para los que no pudisteis asistir a la Convención o para los que queréis volver a escucharlas 😁
Están disponibles en esta lista de YouTube:
¡Hola Comunidad!
Os traemos una nueva Mesa Redonda - 60 minutos de animada charla (en inglés) sobre cómo optimizar vuestras prácticas de desarrollo. Tendremos 2 demos cortas realizadas por nuestros expertos y terminaremos con una ronda de preguntas abierta a todos.
🗣Ponentes expertos:
@Timothy Leavitt , Development Manager, InterSystems
@Alex Woodhead, Senior Systems Developer, InterSystems
@Evgeny Shvarov, Senior Manager of Developer and Startup Programs, InterSystems
📅 Fecha: 27 de julio (jueves)
🕑 Hora: 3:00 PM (CEST)
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.
Hoy en día es muy común que los datos que necesitas vengan de diferentes fuentes (e.g. aplicaciones externas e internas, distintas bases de datos y servicios, APIs, etc.). Además, seguro que tienes múltiples tipos de consumidores diferentes (e.g. usuarios finales, otras aplicaciones, servicios que publicas a terceros, etc.) y cada uno necesitará acceder a la información de forma diferente y para distintos objetivos. ¿Cómo construir una capa que de forma sencilla te permita gestionar estas necesidades? Hoy hablamos de Data Fabric 👈.




