¡Hola Comunidad!

Me gustaría presentaros una nueva utilidad para importar CSV a IRIS - ¡csvgenpy!

Instalación

USER>zpm "install csvgenpy"

Uso:

do ##class(shvarov.csvgenpy.csv).Generate("file or url","table","schema")

Ejemplo:

USER>do ##class(shvarov.csvgenpy.csv).Generate("https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv","titanic","data")

Esto creará la tabla y la clase data.titanic en IRIS y a continuación cargará los datos. Podéis probarlo con:

2 0
0 30
Artículo
· 24 mar, 2021 Lectura de 1 min
Problema con docker-compose

Entorno:

  • Windows 10
  • Docker Desktop version v20.10.5

Desde la última actualización de Docker Desktop (~ 2 semanas) recibo este mensaje de error al ejecutar docker-compose build

C:\GitHub\zme>docker-compose build
Building iris
failed to get console mode for stdout: The handle is invalid.

2 0
0 210
Artículo
· 15 sep, 2023 Lectura de 42 min
IAM (InterSystems API Manager) - de cero a cien

Este artículo ha sido actualizado con respecto al original en inglés (más antiguo). Los ejemplos que se presentan aquí han sido validados con la última versión de IAM, actualmente la 3.2.1.0-4, y la versión más reciente de InterSystems IRIS, la 2023.2, que es la primera en que ya no se instala por defecto un servidor web.

Este artículo contiene los materiales, ejemplos y ejercicios necesarios para aprender los conceptos básicos de IAM.

Todos los recursos están disponibles en este git: https://github.com/grongierisc/iam-training.

Las soluciones están en esta rama.

2 0
1 86
Artículo
· 23 jun, 2022 Lectura de 7 min
Conector Power BI para InterSystems IRIS. Parte I

En un mundo en constante cambio, las empresas deben innovar para ser competitivas. Esto asegura que tomarán decisiones con agilidad y seguridad, aspirando a obtener buenos resultados con mayor exactitud.

Las herramientas de Business Intelligence (BI) ayudan a las compañías a tomar decisiones inteligentes en vez de confiar en la "prueba y error". Estas decisiones inteligentes pueden ser la diferencia entre el éxito y el fracaso en el mercado.

Microsoft Power BI es una de las herramientas de Business Intelligence líderes. Con unos pocos clics, Power BI permite a los gerentes y analistas explorar los datos de la compañía. Esto es importante porque cuando es fácil accceder y visualizar los datos, es más probable que se usen para tomar decisiones.


2 1
1 198

Hola a todos,

En este artículo voy a hacer un paso a paso desde cero para la creación de una simple API REST mediante Node/Express conectada a una instancia de InterSystems IRIS.

No voy a adentrarme en mucho detalle acerca de cómo trabajar con cualquiera de las tecnologías que menciono en el tutorial, pero dejaré enlaces a documentación adicional por si quieres aprender más. El objetivo es proporcionar una guía práctica de cómo configurar y conectar un backend node.js a InterSystems IRIS.

2 0
1 916

Estaba buscando la forma mas simple de conectar desde el visual studio code a mi instancia local por el terminal sin tener que ir cambiando de ventana.

Soy consciente de que esto tambien se puede conseguir por telnet pero me parece complicar la cosa para conectarme a mi local.

La solución mas sencilla me ha parecido navegar a la carpeta /bin de la instalación (o añadirla al PATH), y ejecutar .\csession.exe NOMBREDEINSTANCIA.

2 0
0 221

Iris-python-template

Proyecto de plantilla con varios códigos Python para ser utilizados con InterSystems IRIS Community Edition con contenedor.

Contenido:

  • Bloc de notas
    • Kernel de Python Embebido
    • Kernel de ObjectScript
    • Kernel de Vanilla Python
  • Python Embebido
    • Ejemplo de código
    • Demostración de Flask
  • API nativas de Python de IRIS
    • Ejemplo de código

Diagrama

2 0
1 199
Artículo
· 22 mayo, 2023 Lectura de 6 min
Recuperando un Mirror tras un fallo

¡Aquí estamos nuevamente con un artículo relacionado con el Mirror!

En el artículo anterior vimos como podíamos configurar un Mirror entre dos instancias de IRIS, actuando una como nodo activo y otra como pasivo. Este sistema de mirroring funciona sobre la transferencia de un archivo de journals que mantiene contínuamente actualizada la instancia que funciona como nodo pasivo, pero ¿qué ocurre si por algún fallo de comunicación o permisos del archivo de journal este no se transifere correctamente?

2 0
0 83
Artículo
· 1 jul, 2019 Lectura de 16 min
Dominando JDBC con SQL Gateway

Como todos sabemos, IRIS Database / Caché es un motor de base de datos que efectúa muchas tareas dentro de sí misma. Sin embargo, ¿qué puede hacer cuando necesita tener acceso a una base de datos externa? Una opción es utilizar el SQL Gateway en Caché mediante un conector JDBC. En este artículo, mi objetivo es responder las siguientes preguntas con el fin de ayudarle a que se familiarice con la tecnología y que resuelva algunos de los más problemas comunes.

2 0
1 644
Artículo
· 12 sep, 2022 Lectura de 5 min
Anonimización de datos con iris-Disguise

freepik- freepik.com
En primer lugar, ¿qué es la anonimización de datos?

Según la Wikipedia:

La anonimización es un tipo de sanitización de información cuya intención es la protección de la privacidad. Es el proceso de eliminar información personal de los conjuntos de datos, de modo que las personas que son descritas por los datos permanecen en el anonimato.

2 1
1 107
Artículo
· 11 jul, 2023 Lectura de 5 min
Conectando a Salesforce REST API

¡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.

2 0
0 65
Artículo
· 27 abr, 2022 Lectura de 3 min
¿Qué o quién está consumiendo mis licencias?

De vez en cuando, recibimos la pregunta anterior en soporte, algo o alguien está usando más licencias de las esperadas y necesitamos encontrar qué está pasando.

Tenemos dos escenarios. El primer escenario es cuando nos damos cuenta que las licencias están agotadas porque la aplicación no funciona o porque intentamos conectarnos a través del terminal y sale el "encantador" mensaje <LICENSE LIMIT EXCEEDED>:

2 0
0 139

Python se ha convertido en el lenguaje de programación más utilizado del mundo (fuente: https://www.tiobe.com/tiobe-index/) y SQL sigue siendo el líder como lenguaje para las bases de datos. ¿No sería genial que Python y SQL trabajaran juntos para ofrecer nuevas funcionalidades que SQL por sí mismo no puede? Después de todo, Python tiene más de 380.000 librerías publicadas (fuente: https://pypi.org/) con funciones muy interesantes para ampliar las consultas SQL dentro de Python.

En este artículo detallo cómo crear nuevos Procedimientos Almacenados de SQL en la base de datos de InterSystems IRIS usando Embedded Python.

2 1
1 356
Artículo
· 9 ago, 2021 Lectura de 2 min
REST API que consume SQL y devuelve JSON

¡Hola desarrolladores!

A veces, cuando desarrollamos una maqueta o una Prueba de Concepto (PoC), necesitamos una interfaz sencilla que proporcione datos en IRIS en JSON contra consultas SQL.

Y recientemente contribuí con un sencillo módulo que hace exactamente eso:

acepta una sentencia SQL y devuelve JSON.

¿Cómo se instala? Solo llama:

zpm "install sql-rest"

Si lo instalas en un namespace X, configurará un endpoint /sql en tu sistema, que aceptará solicitudes POST con una sentencia SQL y te devolverá el resultado para los datos disponibles en el namespace X.

2 0
0 275
Artículo
· 2 ene, 2023 Lectura de 5 min
Plantilla de Python Embebido

¡Hola desarrolladores!

Comparto con vosotros una plantilla de Python Embebido básica, que recomiendo como punto de partida para cualquier proyecto general con InterSystems IRIS que use Python Embebido.

Funcionalidades:

  • Python Embebido configurado;
  • 3 ejemplos con difentes formas de desarrollar con Python Embebido;
  • VSCode configurado;
  • Docker disponible;
  • Demo online disponible;
  • Desarrollo ZPM First disponible.

Vamos a comentar estas funcionalidades.

2 0
0 84

Nueva jornada de la Liga y nuevas predicciones de QuinielaML. Únicamente recordar que la pasada jornada QuinielaML acertó 9 de los 15 resultados, nada mal.

Veamos la Quiniela de esta jornada:

Y ahora las estimaciones de QuinielaML para la 6ª jornada de Primera División:

Y para la 7ª jornada de Segunda:

2 3
0 71

Esta vez quiero hablar de algo que no es específico de InterSystems IRIS, pero que creo que es importante si quieres trabajar con Docker y tu máquina de trabajo es un PC o portátil con Windows 10 Pro o Enterprise.

Como probablemente sabes la tecnología de contenedores viene básicamente del mundo Linux y, a día de hoy, es en los hosts que corren Linux donde pueden mostrar su máximo potencial. Los que usamos Windows vemos que tanto Microsoft como Docker han hecho grandes esfuerzos estos últimos años y nos permiten correr contenedores Linux en nuestro sistema Windows de una manera muy sencilla... pero no está soportado para entornos productivos y, aquí viene el gran problema, no es fiable si queremos mantener persistencia de datos fuera del contenedor, en el sistema host,... debido principalmente a las importantes diferencias entre los sistema de archivos de Windows y Linux. Al final el propio Docker for Windows utiliza una pequeña máquina Linux virtual (MobiLinux) sobre la que realmente se levantan los contenedores.... lo hace de forma transparente para el usuario de windows... y de hecho funciona muy bien hasta que, como digo, quieren hacer que tus bases de datos sobrevivan más allá de la vida del contenedor...

En fin,... que me enrollo,... el caso es que muchas veces, para evitar problemas y simplificar, lo que se precisa es de un sistema Linux completo... y, si nuestra máquina es Windows, la única forma de tenerlo es vía una máquina virtual. Al menos hasta que salga WSL2 en Windows 10 en unos meses, pero eso es otra historia.

En este artículo te voy a contar, paso a paso, como instalar un entorno en el que puedas trabajar con contenedores Docker sobre un Ubuntu en tu servidor Windows. Vamós allá...

1 3
0 6.8K

Hace poco, tuve que generar una especificación en Swagger a partir de clases persistentes y en serie, así que ahora publico el código (no está completo, aún queda resolver las especificaciones de la aplicación, pero es un comienzo).

El código está disponible aquí.

Supongamos que tenemos estas clases:

1 0
0 225
Artículo
· 22 sep, 2022 Lectura de 5 min
¿Cómo encontrar el conjunto de datos que necesitas?

¡Hola Comunidad!

Durante años he trabajado en muchos proyectos diferentes y he podido encontrar muchos datos interesantes.

Pero la mayoría de las veces el conjunto de datos con el que trabajaba era de los clientes. Cuando hace un par de años empecé a participar en los Concursos de Programación de InterSystems, comencé a buscar conjuntos de datos web específicos.

Yo mismo he ido seleccionando algunos datos, pero he pensado: "¿Este conjunto de datos es suficiente para ayudar a otras personas?"

1 0
1 62
Artículo
· 18 mar, 2023 Lectura de 4 min
Procedimientos Almacenados, la navaja suiza de SQL

Una de las razones por las que me encantan Cache e IRIS es que no solo puedes hacer cualquier cosa que puedas imaginar, sino que también puedes hacerlas de un montón de maneras diferentes!!

Imagina que tienes una integración con IRIS (o Cache) funcionando conectada por ODBC. Probablemente solo uses consultas SQL, pero puedes usar también procedimientos almacenados y dentro de su código puedes hacer cualquier cosa que puedas imaginar.

Voy a darte algunos ejemplos, pero el límite está en tu imaginación!

Quizás te estés diciendo... ¡espera!! Yo no sé como crear un procedimiento almacenado en IRIS... Pero eso no es cierto, sabes crearlo! Lo que pasa que todavía no lo sabes...

1 0
0 90