Artículo
Ricardo Paiva · 44 mins atrás Lectura de 1 min
Parámetro nombrado en SQL con Python

Quick Tips: Total Productive Maintenance

Los parámetros nombrados se pueden conseguir con SQLAlchemy :

from sqlalchemy import create_engine, text,types,engine

_engine = create_engine('iris+emb:///')

with _engine.connect() as conn:
    rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
    print(rs.all())

o con api nativa

from sqlalchemy import create_engine, text,types,engine

# set URL for SQLAlchemy
url = engine.url.URL.create('iris', username='SuperUser', password='SYS', host='localhost', port=33782, database='FHIRSERVER')

_engine = create_engine(url)

with _engine.connect() as conn:
    rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
    print(rs.all())

0 0
0 2

¡Hola desarrolladores!

Nos gustaría invitaros a un nuevo concurso de programación, dedicado a crear soluciones de Inteligencia Artificial (IA)/Machine Learning (ML) que utilicen Cloud SQL para trabajar con los datos:

🏆 Concurso de Programación: InterSystems IRIS Cloud SQL con IntegratedML 🏆

Duración: del 3 al 23 de abril, 2023

Total en premios: $13,500

1 0
0 8
InterSystems Official
Luis Angel Pére... · 27 mar, 2023 Lectura de 3 min
Mejoras en la generación e invocación de las clases de IRIS

Me gustaría adelantaros una mejora sobre cómo generamos e invocamos el código de los métodos en IRIS 2023.1.

Una clase en IRIS se compone de dos componentes de runtime principales:

  1. Descriptor de Clase (Class Descriptor) - Una lista de métodos muy optimizada, propiedades, parámetros de clase que configura y parametriza la clase, junto con atributos asociados con cada uno de estos, por ejemplo configuración pública/privada.
  2. Código de ObjectScript (ObjectScript code) - Un conjunto de rutinas que contienen el código de ObjectScript para ser ejecutado cuando se invoca un método.

0 0
0 14
Artículo
Ricardo Paiva · 24 mar, 2023 Lectura de 3 min
Proceso de backup y recreación para el servidor de IRIS

He sufrido la experiencia de que mi servidor de IRIS se perdió por actualizar la versión de Docker.

Basándome en esa experiencia, me gustaría mostraros cómo hacer un backup del servidor de IRIS antes de actualizar la plataforma o docker; y el proceso de recreación de IRIS en un nuevo entorno.

Proceso de backup del servidor de IRIS

Cuando hayas terminado de crear el servidor IRIS, hay que hacer un backup.

1 0
0 14
Artículo
Daniel Aguilar · 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 14

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 15
Artículo
Heloisa Paiva · 9 mar, 2023 Lectura de 2 min
Tipos en Python y en ObjectScript

Por qué he decidido escribir esto

En mi ultimo artículo he hablado de la devolución de valores con Python. Pero la devolución es muy simple, lo que la puede hacer difícil es de lo que voy a hablar hoy: dónde es tratado el valor.

Objeto Python en IRIS

Siguiendo el ejemplo del último artículo, tenemos el método:

0 0
0 24
   _________ ___ ____  
  |__  /  _ \_ _|  _ \ 
    / /| |_) | || |_) |
   / /_|  __/| ||  __/ 
  /____|_|  |___|_|    

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.

0 0
0 14

InterSystems actualiza periódicamente sus políticas y prácticas de lanzamiento de nuevas versiones software para ajustarse a las necesidades de los clientes.

Ahora estamos cambiando la frecuencia de nuestras versiones de mantenimiento para que sean más predecibles para clientes y partners, y modificaremos algunas otras áreas.

En este artículo se resume la frecuencia de lanzamientos de nuestras Plataformas de datos y los cambios recientes en ellas, y se anuncian algunas actualizaciones nuevas.

0 0
0 14

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

3 0
2 23
Artículo
Carlos Castro · 28 feb, 2023 Lectura de 6 min
Como controlar el acceso a tus recursos con OAuth2

Buenas a todos,

una de las herramientas potentes que tiene Intersystems es la posibilidad de implementar en el propio sistema la autenticación OAuth2. Esta herramienta nos da la posibilidad de poder controlar quien accede a nuestros recursos y como accede.

A continuación planteo una solución ante el problema de querer controlar quien accede a mis recursos y la posibilidad de monitorizarlo. Para ello deberemos seguir los siguientes pasos:

6 0
1 71
Artículo
Alberto Fuentes · 28 feb, 2023 Lectura de 2 min
DataPipe: un framework para la ingestión de datos

¡Hola a todos!

Comparto con vosotros una herramienta para la ingestión de datos que hemos utilizado en varios proyectos.

DataPipe es un framework de interoperabilidad para la ingestión de datos de forma flexible con InterSystems IRIS. Te permite recibir datos desde el exterior, normalizar y validar la información y finalmente realizar cualquier operación sobre tus datos.

0 0
0 19

Introducción

En este artículo, voy a contarles cómo logré realizar la integración en la plataforma Intersystems IRIS 2020 de una cuenta de correo Outlook Exchange con oAuth 2.0. Aunque esta tarea puede parecer sencilla, la realidad es que Intersystems IRIS 2020 no cuenta con los componentes necesarios para lograrlo. En mi caso, utilice código de la versión 2022 (puedes descargar la versión de evaluación) y lo adapté a la versión 2020. Si bien es factible actualizar entre versiones con el instalador IRIS 2022, esto toma semanas de pruebas antes de realizar el cambio en productivo, y la integración no podía esperar, es por esto que se optó por tomar componentes de IRIS 2022 y copiarlos/adaptarlos a la versión 2020.

21 2
2 100

Buenas desarrollador!

En este artículo te voy a contar mi experiencia y conocimientos en el poco tiempo que llevo utilizando los distintos productos de InterSystems.

A parte de contar mis vivencias también veremos como hacer una pequeña API Rest con la que poder hacer un CRUD con la base de datos SQL de InterSystems.

Mi historia:

10 2
0 48
Artículo
Alberto Fuentes · 23 feb, 2023 Lectura de 3 min
Ejemplo de publicador / subscriptor en IRIS

Hola a todos!

Durante un proyecto necesitábamos poder definir temas sobre los que publicar mensajes, y crear diferentes subscriptores que recibiesen esos mensajes de forma asíncrona. Necesitábamos además que fuese lo más sencillo posible y que se pudiese utilizar directamente en InterSystems IRIS.

A modo de experimento os paso este iris-pubsub.

Infraestructura

Está construido sobre las funcionalidades de interoperabilidad de InterSystems IRIS, necesita tener una producción en marcha.

3 2
0 33

Comenzando este año 2023, hemos programado una serie de cursos oficiales sobre InterSystems IRIS que iremos realizando a lo largo del año. Los cursos se impartirán on-line y ya están abiertos para que os podáis registrar si estáis interesados (hasta un máximo de 10 personas por curso, quorum mínimo 5 asistentes). Toda la información está disponible en nuestro sitio web: Formación en el aula virtual | InterSystems

0 0
0 29
Artículo
Heloisa Paiva · 22 feb, 2023 Lectura de 2 min
Devolver valores con Python

Por qué he decidido escribir esto

En 2022, publiqué un artículo sobre Python Embebido para principiantes. En ese artículo me preguntaron cómo devolver valores con Python. Respondí a la pregunta y, además, me ha parecido interesante escribir un pequeño artículo sobre el tema. Así también espero llegar a más gente con esta publicación.

1 0
0 38
Artículo
Jaime Lerga · 22 feb, 2023 Lectura de 3 min
Como publicar un webservice rest con autenticación

Hace unos días, publique una pregunta respecto a este tema pero la respuesta era algo mas compleja de lo que esperaba, así que para futura referencia de otras personas que tengan la misma duda he preferido documentar el proceso en un articulo.

13 3
0 88

15 de febrero de 2023

InterSystems ha corregido un problema que puede hacer que InterSystems IRIS® y Caché no aprovechen las páginas grandes (large pages) para memoria compartida en Windows, aunque estos productos informen de que las páginas grandes están asignadas. Esto puede afectar al rendimiento del sistema.

El problema proviene de un cambio en Windows 10 que requiere una modificación de InterSystems IRIS® y Caché. Hay que tener en cuenta que este problema también afecta a todos los productos de InterSystems que están basados en InterSystems IRIS® o Caché. El problema ocurre en las siguientes versiones de Windows:

0 0
0 21

Estimados miembros de la Comunidad.

Una problemática muy común en muchos usuario es el uso de una base de datos externa como entrada de datos a una producción de IRIS. Como ya sabréis tenemos dos métodos de conexión directas a bases de datos externas desde IRIS, la primera es mediante ODBC y la segunda es recurriendo a una conexión vía JDBC.

En nuestro ejemplo procederemos a realizar una conexión mediante JDBC y para ello montaremos un pequeño proyecto en Docker para que podáis jugar con ello cuanto queráis.

2 0
0 29

No sé si alguna vez os ha ocurrido. Nosotros trabajamos con VSCode para programar en IRIS, sincronizamos las clases con un servidor de desarrollo y lo tenemos conectado a un repositorio Git.

Tenemos proyectos que tienen cientos de clases, algunos hasta miles. Nos ocurre a menudo que, estamos realizando un desarrollo en un Namespace, y sin terminarlo, surge una incidencia que hay que solventar (o un nuevo desarrollo más prioritario). Dejamos el desarrollo que estamos haciendo, comiteando todo lo realizado hasta el momento.

14 2
1 100
Artículo
Ricardo Paiva · 17 feb, 2023 Lectura de 2 min
Lleva tus pruebas unitarias al siguiente nivel

¡Hola Comunidad

Es el momento de llevar vuestras pruebas unitarias al siguiente nivel, con la nueva funcionalidad iris-TripleSlash!

Simplemente añade una descripción a la clase, con etiquetas especiales como:

  • beforeAll
  • beforeOne
  • afterAll
  • afterOne

TripleSlash lo convertirá en:

  • OnBeforeAllTests
  • OnBeforeOneTest
  • OnAfterAllTests
  • OnAfterOneTest

¡Y eso no es todo! La nueva abreviatura punto doble permite llamar métodos fácilmente y simplificar el código, por ejemplo:

1 0
0 22

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

pip install irissqlcli

O se puede ejecutar con docker

docker run -it caretdev/irissqlcli irissqlcli iris://_SYSTEM:SYS@host.docker.internal:1972/USER

1 0
0 20
Artículo
Robert Cemper · 16 feb, 2023 Lectura de 2 min
Rompe los límites del servidor

¡Hola, desarrolladores!

Sois expertos en IRIS y conocéis todos los trucos.
Las funcionalidades $ZF() y CPIPE no son nuevas para vosotros.
Así que también conocéis los límites de estas funcionalidades.
Ambos dan acceso a su entorno de servidor local. Y este es el final.

4 1
0 66

¡Hola desarrolladores!

Los días 21 y 22 de febrero InterSystems Iberia participará en la V Innovation Week organizada por la Universidad CEU San Pablo, en Madrid.

InterSystems ha preparado un reto para los alumnos de la universidad, sobre los desafíos de la salud digital. El reto se presentará el día 21 y los alumnos tendrán un día para trabajar por equipos y pensar cómo resolverlo. El día 22 será la exposición de ideas por parte de los estudiantes. Y de entre todas las ideas presentadas, las dos mejores se llevarán de premio una tarjeta regalo de Amazon.

La Innovation Week promueve la innovación universitaria para innovar con sentido, proponiendo ideas que contribuyan a mejorar la sociedad, las personas y las empresas. Es un evento único, donde se reúnen los mejores ingredientes para generar innovación: el talento universitario y el mundo empresarial.

Por ello, desde InterSystems Iberia están muy orgullosos de esta colaboración y no se lo han querido perder. ¡Seguro que los universitarios presentan un montón de ideas innovadoras!

La semana que viene os contaremos cuales fueron las ideas ganadoras y cómo resolvieron el reto... ¡Estad atentos a las noticias de la Comunidad! 😉

0 0
0 14

Para todos aquellos que aún utilizáis el IDE Studio para programar con ObjectScript y vais a pasar por el proceso de migración a VS Code, ¿sabíais que hay una sección en la documentación de VS Code justo para vosotros? Echad un vistazo al apartado Migración desde Studio. Incluye los siguientes aspectos:

  • Edición del lado del servidor y control de código fuente
  • Proyectos de Studio
  • Importación de definiciones de servidor desde el Registro de Windows
  • Carga de fragmentos de código de Studio y colores de sintaxis

Y ahora hay una sección llamada Atajos de teclado, que muestra los atajos equivalentes en VS Code a los que estéis acostumbrados, para que las manos no tengan que dejar el teclado. En muchos casos el atajo es el mismo, por lo que no será necesario re-aprender. Y recordad, todos los atajos en VS Code son configurables por el usuario, por lo que tendréis un nivel de control que Studio nunca ofreció.

2 0
0 23
Artículo
Pierre-Yves Duq... · 16 feb, 2023 Lectura de 6 min
Columnar Storage en 2022.3

Como recordaréis, en el Global Summit de 2022 y en el webinar de lanzamiento de la versión 2022.2, presentamos una nueva e interesante funcionalidad para incluir en las soluciones analíticas de InterSystems IRIS. Columnar Storage introduce una forma alternativa de almacenar los datos de las tablas SQL, que ofrece un aumento significativo en la velocidad de las consultas analíticas. Lanzada por primera vez como funcionalidad experimental en 2022.2, la última versión de prueba en 2022.3 incluye numerosas actualizaciones que pensamos merecen una publicación aquí.

1 0
0 20

Ya podemos anunciar los ganadores del Concurso de Herramientas para Desarrolladores de InterSystems!

Pero en primer lugar, me gustaría dar las GRACIAS a todos los participantes, que han presentado 21 aplicaciones maravillosas 🔥

Estamos muy contentos de saber que este tema es tan importante para vosotros.

Y ahora, sin más dilación, ya podemos decir eso de: "Y los ganadores son..."

2 2
0 26