Artículo
· 30 dic, 2022 Lectura de 2 min
Integración de InterSystems con Node-RED

El concepto de desarrollo "low code" es cada vez más importante en todas las industrias. Y todo el que empieza con el desarrollo low code, se acabará encontrando inevitablemente con Node-RED. InterSystems IRIS es reconocido por su interoperabilidad y por eso debería ser accessible a través de Node-RED.

Para aquellos que no habéis oído hablar de Node-RED todavía: Node-RED es una herramienta de desarrollo Low-Code, basada en los llamados "nodos", que se organizan en flujos. Los nodos procesan los mensajes entrantes y los envían al siguiente nodo conectado. Debido a su gran comunidad, Node-RED ofrece una gran variedad de nodos para todo tipo de aplicaciones.

Conocido esto, sería muy útil tener un nodo que pudiera interactuar con InterSystems IRIS, ¿verdad? ¡Y eso es exactamente lo que he hecho!

0 0
0 29
Artículo
· 28 dic, 2022 Lectura de 4 min
Unas cuantas cajas y una visión

  

Hace unos meses hablábamos Jose y yo sobre el vídeo Servicios de datos inteligentes (Visión & Demo), realizado por @Amir Samary y, durante la charla, empezamos a preguntarnos qué tipo de características sería bueno incluir en las futuras soluciones de IRIS.

Una de las funcionalidades con las que sería bueno contar es una solución iPaaS para IRIS, como le pregunté a Amir en este comentario.

Estos últimos meses he tenido la oportunidad de trabajar con diferentes proyectos y tecnologías, así como familiarizarme con aplicaciones como Tray.io o Workato, y ahora puedo ver lo increíble que sería tener una solución iPaaS para IRIS.

0 0
0 30
Artículo
· 26 dic, 2022 Lectura de 4 min
Cómo usar Grafana directamente desde IRIS

Se han publicado en la Comunidad varios artículos muy útiles que muestran cómo usar Grafana con IRIS (o Cache/Ensemble) usando una base de datos intermedia.

Pero yo quería llegar directamente a las estructuras de IRIS. En particular, quería acceder a los datos del Cache History monitor, que es accessible a través de SQL, como se describe aquí:

https://community.intersystems.com/post/apm-using-cach%C3%A9-history-monitor

y no quería nada entre los datos y yo.

0 1
0 50

Llamamos Procesamiento Híbrido Transaccional y Analítico (HTAP por sus siglas en inglés) a la capacidad de recuperar numerosos registros por segundo, mientras que a la vez se permiten consultas simultáneas en tiempo real. También se llama Analítica Transaccional ó Transanalítica y es un elemento muy útil en escenarios en los que disponemos de un flujo constante de datos en tiempo real, como podría ser el caso de datos provenientes de sensores IIOT o información de las fluctuaciones en el mercado bursátil y nos permite satisfacer la necesidad de consultar estos conjuntos de datos en tiempo real o casi en tiempo real.

Os comparto un ejemplo que podréis ejecutar en el que se recibe un conjunto de datos en streaming, con entradas de datos constantes y consultas continuas a la vez. El ejemplo está desarrollado en varias plataformas y podréis comparar cómo reaccionó cada una de ellas, con la velocidad de entrada y salida de datos en cada plataforma y su rendimiento. Las plataformas con las que he probado en esta demo son: InterSystems IRIS, MariaDB y MySQL.

0 0
0 37
Artículo
· 14 dic, 2022 Lectura de 2 min
Log de datos de un servidor web real

Me gustaría compartir con la comunidad un log de datos de un servidor web de un cliente nuestro desde hace muchos años, una compañia operadora.

Su servidor web funciona sobre Apache y contiene datos útiles para analizar la carga y la actividad de los motores de búsqueda.

Tras instalar el proyecto, podrás ver los datos generados durante unos cuantos meses y que muestran la carga y la actividad típica de clientes, bots... también podrás ver cómo dicha carga depende del día de la semana, si son vacaciones o no, así como del momento del día.

0 0
0 34
Artículo
· 14 dic, 2022 Lectura de 1 min
Rutinas con privilegios y $Roles

Las rutinas con privilegios te permiten elevar los roles de un usuario mientras las utiliza. Estas rutinas con privilegios (Privileged Routine Application) pueden utilizarse con rutinas y también con clases / métodos.

Cuando las utilices, es importante asegurarse de incluir new $ROLES, antes de elevar los privilegios con AddRoles(). Por ejemplo:

 new $ROLES
 set status=$System.Security.AddRoles("MyPrivilegedRoutineApplication")

0 0
0 36
Artículo
· 12 dic, 2022 Lectura de 4 min
Aplicación IRIS RAD Studio

@José Roberto Pereira y yo hemos creado un proyecto del que queremos hablar en este artículo.

¿Qué es IRIS RAD Studio?

IRIS RAD Studio es nuestra idea de una solución low-code para hacer más fácil la vida del desarrollador.

¿Por qué?

¿Y por qué no? Las aplicaciones low-code se han hecho muy populares últimamente. La imagen de abajo muestra el "Cuadrante mágico" ofrecido por la consultora Gartner para plataformas de aplicaciones low-code empresariales, y que muestra lo interesante que es este mercado.

0 0
0 56
Artículo
· 12 dic, 2022 Lectura de 2 min
Primeros pasos con Apache Zeppelin + IRIS

Apache Zeppelin es un bloc de notas multifunción que permite:

  • Ingesta de datos
  • Detección de datos
  • Análisis de datos
  • Visualización de datos y Colaboración

Apache Zeppelin permite conectar cualquier lenguaje/data-processing-backend en Zeppelin. Actualmente Apache Zeppelin es compatible con muchos intérpretes, como Apache Spark, Apache Flink, Python, R, JDBC, Markdown y Shell.

Ofrece un entorno seguro para comprender los datos. Podéis aprovechar lo más importante de Zeppelin usando los conectores nativos de JDBC y Spark IRIS.

Esto es una Guía de Inicio Rápido solo para empezar.

0 0
0 36

Esta es la tercera parte de una serie de artículos sobre migración desde las principales bases de datos del mercado a InterSystems IRIS. En esta parte, explicaré los pasos para migrar desde DB2.

Como describí en los anteriores artículos, actualmente hay varias opciones para hacer la migración. Sin embargo, las dos opciones más populares incluyen el uso de DBeaver (https://openexchange.intersystems.com/package/DBeaver) o SQLGateway. Explicaremos la primera opción aquí. La segunda opción fue explicada por @Robert Cemper en un excelente artículo: Migración de base de datos usando SQLgateway.

0 0
0 50
Artículo
· 2 dic, 2022 Lectura de 2 min
Entorno Virtual de Python Embebido (venv)

Si usáis Python, podéis utilizar el módulo venv para crear un entorno virtual. Este módulo es la manera recomendada de crear y gestionar entornos virtuales.

Un entorno virtual es una herramienta que ayuda a mantener separadas las dependencias requeridas por diferentes proyectos, mediante la creación de entornos virtuales aislados de Python para ellos. Resuelve el dilema “El proyecto X depende de la versión 1.x pero el proyecto Y necesita la 4.x”, y mantiene limpio y manejable el directorio site-packages global.

Así que si trabajáis mucho con Python, como yo, podéis usar el módulo venv para crear un entorno virtual para vuestro proyecto. Esto os permitirá instalar paquetes sin que afecte a la instalación de Python global.

Aquí encontraréis dos alias simples para crear y activar un entorno virtual.

Alias de Python

alias venv="python3 -m venv .venv; source .venv/bin/activate"
alias irisvenv="python3 -m venv .venv; source .venv/bin/activate; pip install https://github.com/grongierisc/iris-embedded-python-wrapper/releases/download/v0.0.1/iris-0.0.1-py3-none-any.whl"

1 0
1 57
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 48

Hola!

Aquí les dejo un video que hice para mostrar cómo se configura la alta disponibilidad (mirroring) en IRIS en un ambiente docker, el video esta completamente en español y los archivos necesarios estarán en mi Github.

El video en YouTube en https://youtu.be/rBdiTxavWmU

https://github.com/I-am-seven/iris-mirroring-video

Espero les sea de Utilidad!

Joel

0 0
1 22
Artículo
· 22 nov, 2022 Lectura de 7 min
IAM & IRIS / IRIS Health desde un mismo archivo YML

Disclosure Statement: Sugerencias para relalizar pruebas en ambientes usados para demostraciones o desarrollos, no en ambientes productivos.

Caso de uso: teniendo IAM, lo ejecutamos desde un archivo YML, y necesitamos que se conecte a una Instancia IRIS en seguida, pero IRIS tiene deshabilitado el usuario IAM y la aplicación IAM.

0 0
1 44
Artículo
· 22 nov, 2022 Lectura de 5 min
InterSystems IRIS con Laravel (a través de ODBC)

Últimamente me han preguntado en varias ocasiones cómo hacer que el Framework Laravel funcione con InterSystems IRIS Data Platform. Ha pasado un tiempo desde la publicación de este anuncio sobre Laravel e InterSystems Caché. En este artículo mostraremos unas breves instrucciones sobre cómo configurar un proyecto Laravel para usarlo con InterSystems IRIS a través de ODBC.

¿Qué es Laravel?

0 0
1 48
Artículo
· 21 nov, 2022 Lectura de 8 min
Introducción a Django (2ª parte)

En la primera parte de este artículo he mostrado cómo empezar un nuevo proyecto en Django, y cómo definir nuevos modelos y añadir modelos ya existentes.

En esta publicación, voy a mostrar un Panel de Administración (disponible con la configuración predeterminada) y cómo puede ser útil.

Nota importante: si intentáis reproducir los pasos de este artículo, no funcionará para vosotros. Porque mientras escribía la publicación he realizado varios ajustes en el proyecto django-iris, e incluso en el driver DB-API de InterSystems, para arreglar algunos problemas ahí también, y creo que el driver aún está en desarrollo y habrá un driver más estable en el futuro. Así que vamos a asumir que este artículo solo explica cómo podría ser si tuviéramos todo terminado.

1 0
1 35

YASPE es el sucesor de YAPE (Yet Another pButtons Extractor). YASPE ha sido escrito desde cero con muchos cambios internos para facilitar el mantenimiento y añadir mejoras.

Funcionalidades de YASPE:

  • Analizar y representar gráficamente los archivos de InterSystems Caché pButtons e InterSystems IRIS SystemPerformance para un rápido análisis de rendimiento de las métricas de IRIS y del Sistema Operativo.
  • Facilitar un análisis profundo, creando gráficos tanto ad-hoc como combinando métricas de IRIS y del Sistema Operativo con la opción "Pretty Performance".
  • La opción "System Overview" te ahorra tener que buscar en los archivos SystemPerformance detalles del sistema u opciones de configuración comunes.

YASPE está escrito en Python y está disponible en GitHub como código fuente o para contenedores Docker en:


0 0
0 23
Artículo
· 14 nov, 2022 Lectura de 2 min
Comandos útiles de ObjectScript de una sola línea

¡Amigos!

Hace poco encontré en la Comunidad varios comandos de ObjectScript de una única línea y creo que estaría genial no perderlos y recopilar más.

Por eso he decidido recoger unos cuantos ejemplos, ponerlos en este proyecto en Open Exchange, y compartirlos con vosotros!

Así es como podéis usarlos.

0 0
0 64

¡Hola desarrolladores! Quería compartir hoy un ejemplo muy interesante por parte de Tani Frankel. Se trata de una aplicación sencilla sobre la utilidad SystemPerfomance.

Repasando nuestra documentación sobre la rutina de monitorización ^SystemPerformance (conocida como ^pButtons en versiones anteriores a IRIS), un cliente me dijo «Entiendo todo esto pero ojalá fuese más simple, más sencillo para definir perfiles y gestionarlos, etc.».

Entonces pensé que sería interesante como ejercicio facilitar una pequeña interfaz para hacer esas tareas más sencillas.

El primer paso era envolver en una API basada en clases la rutina actual de ^SystemPerformance.

0 1
0 113


Puede que lo sepáis, pero IRIS es una base de datos con la capacidad de ejecutar código.

La parte de ejecución de código se llama Servidor de Aplicación.

Actualmente IRIS permite dos lenguajes de forma nativa: ObjectScript y Python.
Ejecutar código está bien, pero saber cómo organizarlo es aún mejor.

0 0
0 54

Según la consultora IDC, el 80% de todos los datos producidos son NoSQL. Mira:

Hay documentos digitales y escaneados, textos online y offline, contenido BLOB (objeto binario grande) en SQL, imágenes, vídeos y audio. ¿Te imaginas una iniciativa de Analítica Corporativa sin todos estos datos para analizar y apoyar las decisiones?

1 0
1 38

¡Hola a todos!

En una reciente actualización de MessageViewer @Henrique Dias y yo propusimos una nueva manera de visualizar mensajes en IRIS Interoperability. En esa actualización, intentamos dar a los usuarios una visualización basada en un diagrama de secuencia UML. Tenéis más information en el artículo anterior.

Para conseguir los complicados cálculos geométricos necesarios para realizar ese diagrama, usamos mermaid, una extraordinaria librería JavaScript open source. Y lo que me gustaría compartir con vosotros en este artículo es cómo utilizar esa librería. Me centraré solo en el diagrama de secuencia, pero estad seguros de que la librería permite hacer mucho más.

Mermaid utiliza una sintaxis inspirada en Markdown para definir los diagramas. Es super intuitivo, por eso es mejor mostraros un ejemplo en lugar de escribir un montón de texto aburrido:

0 0
0 65

Este artículo es una continuación de este otro sobre cómo migrar de bases de datos populares (como PostgreSQL y MySQL) a IRIS.

Utilizaremos los mismos procedimientos utilizados para migrar desde PostgreSQL. Sin embargo, verás que es aún más fácil ya que los tipos de datos en MySQL son muy similares a los de IRIS. Por eso no necesitaremos crear reglas de transformación en las columnas.

Obtención de los datos de muestra para realizar el proceso de migración

En Github es posible descargar un proyecto de Docker Compose para crear y ejecutar 2 bases de datos:

  • Source Database (Base de datos de origen): Instancia Docker de la base de datos ejemplo MySQL.
  • Target Database (Base de datos objetivo): Instancia Docker de InterSystems IRIS con un esquema preparado para recibir la base de datos de origen.

0 0
0 52

¡Hola desarrolladores!

Para mí, una de las peores cosas de ObjectScript es tener que escribir la sentencia ##class(Class).Method() para llamar a un método de clase en código o en un terminal. Incluso envié una idea para simplificarlo en ObjectScript.

¡Pero! Hay una nueva funcionalidad en VSCode ObjectScript que acaba de ser añadida al plugin - ¡Copy Invocation!

0 0
0 48
Artículo
· 23 sep, 2022 Lectura de 5 min
Caso de uso de Python Embebido con Azure Service Bus (ASB)

Resumen

Empezamos a usar Azure Service Bus (ASB) como solución de mensajería empresarial hace tres años. La hemos usado para publicar y consumir datos entre muchas aplicaciones de la organización. Como el flujo de datos es complejo, y normalmente se necesitan los datos de una aplicación en muchas otras aplicaciones, el modelo publicador -> múltiples subscriptores resultó muy adecuado. El uso de ASB en la organización es de docenas de millones de mensajes por día, mientras que la plataforma IRIS tiene unos 2-3 millones de mensajes/día.

El problema con ASB

Cuando empezamos con la integración de ASB, encontramos que el protocolo AMQP no tiene la configuración predeterminada para la implementación de IRIS, por lo que estuvimos buscando una solución alternativa para poder comunicar con ASB.

2 1
1 53