Artículo
· 25 mayo, 2021 Lectura de 3 min
Cómo crear y registrar definiciones XData

¡Hola Comunidad!

ObjectScript, el lenguaje de InterSystems IRIS, tiene la capacidad de extender clases utilizando una funcionalidad muy interesante llamada XData.

Es una sección en tu clase que puede ser usada para crear definiciones personalizadas, para utilizarlas dentro de la clase misma o externamente.

Crear una o más definiciones XData para tu clase es muy sencillo, mira el ejemplo:

0 0
0 88

Ya están disponibles las versiones de prueba 2021.1 de InterSystems IRIS, IRIS for Health y HealthShare Health Connect.

Al ser versiones de prueba, estamos impacientes por aprender de vuestras experiencias con las nuevas versiones, antes de su lanzamiento oficial el próximo mes. Podéis compartir vuestros comentarios a través de la Comunidad de Desarrolladores, para crear entre todos un mejor producto.

1 0
0 88
Artículo
· 24 jul, 2020 Lectura de 2 min
Herramienta de compresión tar en ObjectScript

¡Hola desarrolladores!

Estoy seguro de que la mayoría de vosotros ya conoceis la posibilidad de usar GZIP en los productos de InterSystems. Pero el problema es que GZIP trabaja con un único archivo o flujo de datos, y no admite carpetas. Al trabajar con sistemas Unix, es posible solucionarlo con la herramienta de compresión tar, incluida en cada sistema Linux de forma predeterminada. Pero ¿qué hacer si debemos trabajar también en Windows, que no lo incluye?

Me alegra poder enseñaros el nuevo proyecto, isc-tar, que os ayudará a no preocuparos del sistema operativo y os permitirá gestionar los archivos tar en cualquier sitio.

0 0
0 88

¡Hola Comunidad!

Os traemos el cuarto episodio de Data Points, el podcast de InterSystems en inglés. En esta ocasión, charlamos con @Benjamin De Boe, que nos explica algunas de las cosas que podéis hacer para optimizar vuestras consultas SQL en InterSystems IRIS.

Todos hemos oído — tanto de nosotros mismos como de otros — la queja "esto va demasiado lento". Creo que Benjamin ha hecho un gran trabajo revisando todas las cosas en las que os podeis fijar en vuestras consultas en IRIS para descubrir lo que se puede mejorar.

https://5e18edf067eb59-03854285.castos.com/player/153376
[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]

0 0
0 88

Por razones prácticas, muchas veces necesitamos que tras un reinicio de un servidor Linux, la instancia IRIS que tengamos instalada se inicie automáticamente.

A continuación encontraréis los pasos a seguir para automatizar el arranque de IRIS durante un reinicio de Linux, a través de systemd :

1. Cread un archivo iris.service en /etc/systemd/system/iris.service que contenga la siguiente información

2 0
0 87

El SDK nativo para Python de InterSystems es una interfaz ligera para las APIs de InterSystems IRIS, que anteriormente solo estaba disponible mediante ObjectScript.

Estoy especialmente interesado en la capacidad de llamar a los métodos de ObjectScript, a los métodos de clase, para ser más preciso. Esto funciona, y funciona muy bien, pero de manera predeterminada, las llamadas únicamente admiten argumentos escalares: strings, booleanos, enteros y flotantes.

Pero si lo que quieres es:
- Pasar o devolver estructuras, como diccionarios (dicts) o listas
- Pasar o devolver streams

Necesitarás escribir algún código adhesivo (glue code) o aprovechar este proyecto (se instala mediante pip install edpy). El paquete edpy te da una estructura sencilla:

call(iris, class_name, method_name, args)

que te permite llamar a cualquier método de ObjectScript y obtener los resultados.

0 0
0 87

Recientemente he estado trasteando con la utilización de IRIS como servidor para una conexión mediante web socket desde el frontend de una aplicación en NodeJS.

En esta URL tendréis la información relativa a las conexiones de web sockets tanto en modo cliente como en modo servidor: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls...

4 0
2 87

InterSystems ha corregido un defecto que puede vulnerar la garantía de bloqueo de aplicación en un cluster distribuido de cache (configuración ECP), lo que puede provocar problemas de integridad de aplicación. Este defecto afecta a:

  • Todas las versiones principales y versiones de mantenimiento de InterSystems IRIS e InterSystems IRIS for Health, desde 2020.1.0

0 0
0 87

¡Hola desarrolladores!

Os traemos el segundo videotutorial de la serie de vídeos de iniciación a ObjectScript que ha realizado nuestro compañero @Jose Tomas Salvador, de InterSystems Iberia.

Capítulo 1: Ubicándonos

https://www.youtube.com/embed/1K3Dedw5QmY
[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]

1 0
0 87

¡Hola Comunidad!,

¡Ya tenemos el primer vídeo del Global Summit de este año, disponible en el Canal de YouTube de la Comunidad de Desarrolladores en inglés!

¿Estáis listos?

La Comunidad de Desarrolladores de InterSystems

https://www.youtube.com/embed/sTSzhETokWQ
[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]

0 0
0 87

Al evaluar una notificación de soporte de IBM, InterSystems ha determinado un impacto potencial para nuestros clientes. La notificación en cuestión es:

Memory Leak in std::string for programs built with xlclang++ 16.1.0 in the presence of the 17.1.1 libc++.a

Este problema afecta a las versiones 2022.x y 2023.x de:

  • InterSystems IRIS® data platform
  • InterSystems IRIS for Health™
  • HealthShare® Health Connect

También afecta a otros productos de InterSystems basados en la familia de productos InterSystems IRIS.

0 0
0 86

Objetivo

Esta herramienta se usa para generar una Entrada/Salida (E/S) de lectura aleatoria desde dentro de la base de datos. La finalidad de esta herramienta es llevar la mayor cantidad de tareas posibles para conseguir las IOPS objetivo y asegurar que se mantienen tiempos de respuesta de disco aceptables. Los resultados recopilados de las pruebas de E/S variarán de configuración a configuración, de acuerdo con el subsistema de E/S. Antes de ejecutar estas pruebas, asegúrate de que el sistema operativo y la monitorización del nivel de almacenamiento estén configurados para capturar métricas de desempeño de E/S para su posterior análisis.

1 0
0 86

¡Hola desarrolladores!

Os traemos el quinto episodio de Data Points, el podcast de InterSystems en inglés. En esta ocasión, charlamos con Bob Binstock sobre bases de datos en mirroring para alta disponibilidad en productos InterSystems. La mayor parte de la conversación comenta este proceso en InterSystems IRIS, con alguna mención sobre las diferencias con HealthShare. ¡Dadle al play!

https://5e18edf067eb59-03854285.castos.com/player/159215
[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]

0 0
0 86

A partir del lanzamiento de la plataforma de datos InterSystems IRIS® 2022.3, InterSystems corrigió el mecanismo de aplicación de licencias para incluir solicitudes REST y SOAP. Debido a este cambio, los entornos con licencias no basadas en core que utilizan REST o SOAP pueden experimentar una mayor utilización de licencias después de la actualización.

0 0
0 85
Artículo
· 16 nov, 2023 Lectura de 3 min
Cómo ocultar el programa fuente

Preguntas frecuentes de InterSystems

Para rutinas (*.mac)

Se puede ocultar el código fuente exportando/importando solo el *.obj que se genera después de compilar el programa fuente.

El ejemplo de ejecución de comandos especifica EX1Sample.obj y EX2Sample.obj, que se generan al compilar EX1Sample.mac y EX2Sample.mac, como destinos de exportación y los exporta al segundo archivo de argumentos.

Después de pasarlo a otro namespace, se usa el archivo XML exportado para realizar la importación.

0 0
0 85

¡Hola Comunidad!

@Joan Pérez publicó una reseña en la que comentó que no está muy claro qué aplicaciones están disponibles para InterSystems Package Manager. ¡Gracias por tu pregunta, Joan! De hecho, la respuesta merece una publicación.

Existen al menos dos formas de conocer las aplicaciones con ZPM:

1. Ejecutar el comando find en zpm:

1 0
1 85

¡Hola desarrolladores!

En Docker Hub hay publicadas imágenes para los contenedores de InterSystems IRIS Community Edition e InterSystems IRIS Community for Health.

¿Qué es esto?

Hay un repositorio en que se publican estás imágenes (que, de hecho, son las mismas que las imágenes de IRIS Community Edition que tienes en el Registro de Contenedores de InterSystems a las que se les ha pre-cargado el cliente del ObjectScript Package Manager).

Así que si ejecutas este contenedor con IRIS CE o IRIS CE for Health puedes empezar a usar ZPM inmediatamente e instalar paquetes desde el Registro de la Comunidad o cualquier otro.

¿Que significa esto para ti?

0 0
0 85

¡Hola desarrolladores!

Para el concurso de Opendataset he desarrollado una aplicación, en formato docker, que utiliza InterSystems IRIS y Openflights Dataset en un contenedor y un segundo contenedor con Apache Zeppelin. Puedes encontrar los detalles aquí: https://github.com/andreas5588/openflights_demo

1 0
0 85
Artículo
· 19 ago, 2021 Lectura de 2 min
Persistencia atípica
Este es el ejemplo de un código que funciona en Caché 2018.1.3 e IRIS 2020.2 
No se mantendrá sincronizado con las nuevas versiones 
¡Además NO cuenta con el servicio de Soporte de InterSystems!

Durante mi búsqueda de un snapshot de un objeto persistente, conocí una característica que me gustaría compartir, ya que podría ser útil en algunas situaciones especiales. Mi objetivo era tener una imagen del antes y el después durante las pruebas unitarias.

0 0
0 85

¡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

https://www.youtube.com/embed/AlcVICMbb4A
[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]

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
0 84
Artículo
· 28 nov, 2022 Lectura de 4 min
Otra Implementación de $lb() // iris-dollar-list

1. iris-dollar-list

PyPI - Status


Intérprete de $list para python llamado DollarList.

He hecho este intérprete porque:

  • Quería usar $list en python
  • Python Embebido no es compatible con $list
  • La versión de API nativa no es compatible con $list embebido en $list

Este es un trabajo en desarrollo. Hasta ahora, solo es compatible con $list embebido en $list, int y string.

Trabajo en progreso: float, decimal, double

Este módulo está disponible en Pypi:

pip3 install iris-dollar-list

Es compatible con Python Embebido y API nativa.

0 0
0 84

Acabo de redactar un ejemplo rápido para ayudar a un colega a cargar datos en IRIS desde R usando RJDBC y pensé que sería útil compartirlo aquí para futuras consultas.

Fue bastante sencillo, aparte de que a IRIS no le gusta el uso de puntos "." en los nombres de las columnas; la solución alternativa es simplemente renombrar las columnas. Alguien con más conocimientos que yo en R seguramente pueda ofrecer un enfoque más amplio smiley

# Es necesario un valor válido para el JAVA_HOME antes de cargar la librería (RJDBC)
Sys.setenv(JAVA_HOME="C:\\Java\\jdk-8.0.322.6-hotspot\\jre")
library(RJDBC)
library(dplyr)

# Conexión a IRIS – se requiere la ruta a la librería JAR de InterSystems JDBC JAR de tu instalación
drv <- JDBC("com.intersystems.jdbc.IRISDriver", "C:\\InterSystems\\IRIS\\dev\\java\\lib\\1.8\\intersystems-jdbc-3.3.0.jar","\"")
conn <- dbConnect(drv, "jdbc:IRIS://localhost:1972/USER", "IRIS Username", "IRIS Password")
dbListTables(conn)

# Para mayor confusión, cargar el dataset de IRIS:)
data(iris)

# A IRIS no le gustan los puntos "." en el nombre de las columnas, así que los renombramos. (Probablemente se pueda codificar de una forma más genérica, pero no soy muy bueno con R.)
iris <- iris %>% rename(sepal_length = Sepal.Length, sepal_width = Sepal.Width, petal_length = Petal.Length, petal_width = Petal.Width)

# dbWriteTable/dbGetQuery/dbReadTable funcionan
dbWriteTable(conn, "iris", iris, overwrite = TRUE)
dbGetQuery(conn, "select count(*) from iris")
d <- dbReadTable(conn, "iris")

0 0
0 84

Este es el séptimo de una serie de lanzamientos que forman parte del programa de versiones de prueba 2022.2 para desarrolladores. Las próximas versiones de prueba se espera que sean actualizadas cada dos semanas, aproximadamente, y añadiremos funcionalidades según estén listas. Se han añadido muchas actualizaciones y mejoras en 2022.2, en la gestión de SQL, integración cloud, adaptadores Kafka y JMS, SQL Loader y otras áreas.

0 0
0 84