Gracias a @Yuri Marx hemos visto un buen ejemplo de Migración de Bases de datos de Postgres a IRIS.
Mi problema personal es el uso de DBeaver como una herramienta de migración.
En especial, como una de las fortalezas de IRIS (y también Caché) es la disponibilidad de los SQLgateways que permiten el acceso a cualquier base de datos externa, siempre y cuando se puedan acceder usando ODBC/JDBC. Así que he ampliado el paquete para demostrarlo.
Si estás implementando más de un entorno/región/nube/cliente, inevitablemente te encontrarás con el problema de la gestión de la configuración.
Aunque todas (o solo varias de) tus implementaciones pueden compartir el mismo código fuente, algunas partes, como la configuración (ajustes, contraseñas) son diferentes de una implementación a otra y se deben gestionar de alguna manera.
En este artículo, intentaré ofrecer varios consejos sobre ese tema. Y comentaré principalmente las implementaciones de los contenedores.
¡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
Con esto, se puede consultar el conjunto de datos de Opendflights desde Apache Zepplin sin necesidad de realizar ninguna configuración. Los contenedores están en hub.docker por lo que se puede utilizar de forma muy sencilla.
¡Hola a todos!
Hoy quiero hablar sobre nuestro proyecto y utilizar el tema del conjunto de datos para el concurso.
Nuestra intención nunca fue ser unos gestores de datos, sobre todo porque a veces nuestros preciosos datos significan mucho para nosotros, pero no para el resto del mundo.

Queremos ir un paso más allá y permitir que los usuarios encuentren el conjunto de datos perfecto para satisfacer sus necesidades.
Nuestro proyecto es un puente entre la comunidad de la Ciencia de Datos y la Comunidad de Desarrolladores, utilizando InterSystems IRIS para lograr esta misión.
¡Hola desarrolladores!
A veces necesitamos publicar la imagen Docker de la solución InterSystems IRIS en la que estamos trabajando. Existen diferentes posibilidades, por ejemplo:
- Usar la imagen en un cluster de Kubernetes.
- Que un compañero ejecute la imagen desde un repositorio público sin tener que generarla.
La mejor solución es subir la imagen al Registro Hub de Docker o al Registro de Github.
En este breve artículo, propongo una forma de hacerlo automáticamente cada vez que subas (usando git push) cambios a tu repositorio GitHub.
Subir un fichero a IRIS empleando la API REST es sencillo. Primero, usando un cliente Postman, enviamos el fichero:
P.S.: Vemos que es un "form" de tipo "multipart" con el nombre "file". Todo esto lo aprendemos viendo la petición http:
Hablando con mi amigo @Renato Banzai, especialista en Machine Learning, me comentó uno de los mayores retos a los que se enfrentan las empresas hoy en día: implementar el Machine Learning (ML) o la Inteligencia Artificial (IA) en entornos reales.
InterSystems IRIS ofrece IntegratedML. IntegratedML es una excelente funcionalidad para formarse, probar e implementar modelos de ML/IA.
La parte más difícil al crear ML/IA es el tratamiento de los datos, su limpieza, hacerlos fiables.
¡Y ahí es donde podemos sacar ventaja del potente estándar FHIR!
¡Hola desarrolladores!
El Administrador de paquetes ZPM se está haciendo muy popular y por ello la librería de paquetes está creciendo.
Así, algunas soluciones o muestras pueden crearse con InterSystems IRIS y uno o dos paquetes instalados.
Me gustaría compartir con vosotros iris-docker-zpm-usage-template - una plantilla que se puede utilizar exactamente con esa finalidad.
A veces es necesario ejecutar comandos desde la consola del sistema operativo del servidor, en el que se localiza tu programa ObjectScript, para lanzar programas, servicios de sistema operativo, programar tareas cron... entre otras actividades. Para ello, el lenguaje tiene una función llamada $ZF(-100). Se usa así:
$ZF(-100,flags,program,args)
En el que flags es el tipo de comando que quieres ejecutar. En nuestro caso, el flag es "/ SHELL", para ejecutar shell commands en el sistema operativo del servidor.
Program es el nombre del programa o servicio para ser ejecutado.
¡Hola amigos!
A veces necesitamos importar datos a InterSystems IRIS desde archivos de tipo CSV. Esto puede hacerse, por ejemplo, mediante la herramienta csvgen, que genera una clase e importa todos los datos a ella.
Pero, ¿qué pasa si tienes tu propia clase y quieres importar datos desde un archivo CSV a una tabla que ya existe previamente?
Hay varias formas de hacerlo, ¡pero puedes utilizar csvgen (o csvgen-ui) otra vez! Preparé un ejemplo y estoy encantado de compartirlo con todos. ¡Vamos allá!
Ejecuto la mayoría de mis revisiones con Docker Desktop en Windows 10.
Según las recomendaciones, limpio Docker y los repositorios descargados después de las pruebas:
Los repositorios son sencillos, pero Docker se resiste un poco a liberar el espacio consumido en el disco. Los pasos que ejecuté inicialmente son:
- eliminar los contenedores pendientes
docker rm -f container . . . - eliminar las imágenes descargadas
docker rmi image . . . - limpiar cachés y redes
docker system prune
Pero el espacio que consumió mi disco no se redujo.
Así que buscando en Google, encontré un método muy útil para reducir el consumo en disco de Docker. Y me gustaría compartir esta experiencia con vosotros.
Este es un ejemplo de código que funciona en IRIS 2020.1 y en Caché 2018.1.3
No se mantendrá sincronizado con las nuevas versiones.
Y NO cuenta con el servicio de soporte de InterSystems.Este es un ejemplo de código que funciona en IRIS 2020.1 y en Caché 2018.1.3
No se mantendrá sincronizado con las nuevas versiones.
Y NO cuenta con el servicio de soporte de InterSystems.
En la mayoría de los casos, un global que se utiliza como almacenamiento predeterminado tiene solo 1 nivel de subíndice que representa el IDKEY.
Para un índice de globals podemos ver 2 o más niveles de subíndices.
Las matrices, las relaciones de herencia padre hijo o las clases persistentes que extienden una clase base, son ejemplos en los que vemos más niveles. Aunque todos estos globals son bastante uniformes.
En elartículo anterior, vimos una forma de crear un operador personalizado que administra el estado de la instancia de IRIS. Esta vez, vamos a echar un vistazo a un operador listo para usar - el Operador InterSystems Kubernetes (IKO).La documentación oficial nos ayudará a recorrer los pasos de la implementación.
Además de IntelliJ IDEA, ahora es posible configurar SublimeText3 para compilar código con él. Solo necesitarás el servidor de idiomas que hice.

Os presento el soporte de InterSystems IRIS en IntelliJ IDEA. Este plugin añade soporte de Syntax Highlighting para ObjectScript, así como la auto importación y la compilación en el servidor después de guardar un archivo modificado. Utiliza LanguageServer escrito en Rust, donde se añadió la capacidad de importar y compilar código.
.png)
¡Hola a todos!
Todos los días la universidad Johns Hopkins publica nuevos datos sobre el estado de la pandemia del coronavirus COVID-19.
Creé un sencillo panel de control con InterSystems IRIS Analytics usando InterSystems IRIS Community Edition en Docker, implementado en Kubernetes GCP, para mostrar los datos clave sobre el avance de la enfermedad.
Este panel de control es un ejemplo de como la información en formato CSV podría ser analizada con IRIS Analytics e implementada en Kubernetes GCP, con la forma de InterSystems IRIS Community Edition.
Según la consultora IDC, más del 80% de la información es de tipo NoSQL, especialmente texto en documentos. Cuando los servicios o aplicaciones digitales no procesan toda esta información, la empresa pierde. Para resolver este desafío, es posible utilizar la tecnología OCR. El Reconocimiento Óptico de Caracteres (OCR) utiliza la tecnología de machine learning y/o el reconocimiento de patrones en imágenes para transformar los pixeles de las imágenes en texto. Esto es importante porque muchos documentos se escanean como imágenes, o muchos documentos contienen imágenes con texto en su interior.
Este es un ejemplo de código que funciona en IRIS 2020.1 y en Caché 2018.1.3
No se mantendrá sincronizado con las nuevas versiones
¡NO está soportado por el servicio de soporte de InterSystems!
Los globals en Caché, Ensemble e IRIS normalmente son invisibles a través de SQL. En este ejemplo se muestra cómo verlos desde SQL.
Según un informe de 2020 de la Asociación de Examinadores de Fraude Certificados, se estima que las organizaciones de todo el mundo pierden un 5% de sus ingresos anuales debido al fraude.
La forma más eficiente de reducir el fraude es recopilar y unificar las transacciones, los activos y los datos de destino para identificar patrones, producir informes antifraude y algoritmos para validar las transacciones posteriores. En resumen, tenemos que seguir algunos de estos principios:
En este artículo voy a mostrar los resultados de una comparación entre IRIS y Postgress manejando datos Astronómicos.
Introducción
Desde siempre el cielo nocturno nos ha fascinado. Todos hemos soñado con las estrellas y la posibilidad de que haya vida en otros planetas.
¡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:
Qué te parece si te digo que muy pronto te podrás conectar a IRIS desde la aplicación escrita en Rust...
¿Qué es Rust?
Rust es un lenguaje de programación multiparadigma diseñado teniendo en cuenta el rendimiento, la seguridad y especialmente que la concurrencia sea segura. Rust es sintácticamente similar a C++, pero puede garantizar la seguridad de la memoria mediante el uso de un verificador de préstamos para validar las referencias. Rust logra la seguridad de la memoria sin emplear un recolector de basura, y el conteo de referencias es opcional. (c) Wikipedia.
Vamos a ver cómo usar el gestor de paquetes ZPM para instalar módulos de Node.js.. Para poder usar Node.js primero tenemos que cargar la API nativa de Node.js
El principio aplicado con ZPM es similar al de los módulos de Python y funciona perfectamente. Tal y como veremos en el ejemplo de github ZPM se encarga de todo!
En el ejemplo vamos a usar InterSystems IRIS con WebSockets de forma nativa como un cliente eco (devuelve el texto introducido). Existen varios ejemplos como este, o este otro en los que se puede ver a IRIS actuando de cliente.
Ahora que la extensión de ObjectScript para VS Code ha alcanzado la versión 1.0 y ha sido presentada en varias sesiones de la Cumbre Virtual 2020, parece un buen momento para ofrecer algunos consejos sobre cómo reportar problemas.
InterSystems ObjectScript para VS Code se basa en tres extensiones de VS Code que colaboran entre sí. Para facilitar la instalación y la administración hay una cuarta entidad, el paquete de extensiones de InterSystems ObjectScript. Es la mejor manera de empezar con un mínimo de clics y es práctico tenerlo incluso si ya habéis instalado las otras extensiones.
Actualización: se añadió soporte para el modelo de regresión ¡Hola a todos!
En este breve artículo, os mostraré cómo escribir un adaptador para utilizar la interoperabilidad de IRIS con los modelos de Machine Learning (ML) administrados por IntegratedML de IRIS.
El adaptador
IntroducciónVarios recursos nos enseñan cómo ejecutar IRIS en un clúster de Kubernetes, como Deploying an InterSystems IRIS Solution on EKS using GitHub Actions y Deploying InterSystems IRIS solution on GKE Using GitHub Actions. Estos métodos funcionan, pero requieren la creación de manifiestos para Kubernetesy Helm charts, lo que puede requerir mucho tiempo.Para simplificar la implementación en IRIS, InterSystems desarrolló una asombrosaherramienta llamada InterSystems Kubernetes Operator (IKO). Varios recursos explican el uso de IKO, como New Video: Intersystems IRIS Kubernetes Operator e
¡Hola desarrolladores!
