#InterSystems IRIS

4 Seguidores · 1.4K Publicaciones

InterSystems IRIS es una Plataforma completa de datos.
InterSystems IRIS le proporciona todo lo que necesita para capturar, compartir, comprender y actuar sobre el activo más valioso de su organización, sus datos.
Dado que es una plataforma completa, InterSystems IRIS elimina la necesidad de integrar varias tecnologías de desarrollo. Las aplicaciones necesitan una menor cantidad de código, menos recursos del sistema y poco mantenimiento.

Artículo Alberto Fuentes · nov 16, 2023 7m read

Ejemplo de demostración para el Gran Premio de Programación de InterSystems, sobre el uso de plantillas más complejas para probar funcionalidades de IA.

Preguntas para la entrevista

Hay documentación. Para un puesto de trabajo, una persona de recursos humanos quiere evaluar rápidamente a los candidatos con varias preguntas técnicas relevantes para el puesto.

¿Puede automatizar el trabajo haciendo una lista de preguntas y respuestas a partir de la documentación disponible?

0
0 151
Artículo Ricardo Paiva · nov 14, 2023 6m read

Continuamos analizando las posibilidades de Django, y su uso con IRIS. En la primera parte de esta serie, mostramos cómo definir modelos y conectarlos con tablas ya existentes en IRIS; en la segunda parte, mostramos un Portal de Administración, con la capacidad de ver qué datos tenemos en esos modelos, con filtros, edición e incluso paginación.

Ahora es el momento de pasar a la acción real - vamos a crear algunas API Rest, en Django, basadas en los mismos datos que usamos antes, del paquete posts-and-tags.

Para hacerlo, usaremos el framework Django REST

Django REST Framework

El framework Django REST es un potente y flexible kit de herramientas para generar APIs Web.

Algunas razones por las que querrías usar el framework REST:

0
0 191
InterSystems Official Luis Angel Pérez Ramos · mar 27, 2023 3m read

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.
1
0 155
Artículo Luis Angel Pérez Ramos · nov 9, 2023 1m read

Aquíe estamos una jornada más, tras 2 jornadas con 10 aciertos afrontamos la 20ª jornada de la Quiniela, 13ª jornada de Primera División y 15ª de Segunda.

Veamos cuales son los partidos que entran en la Quiniela:

 

Previsiones para Primera División:

Segunda División:

Así quedaría reflejado en la Quiniela*:

* ¡Ojo! El partido Mallorca - Cádiz ha sido aplazado y seguramente sea resuelto mediante sorteo.

¡Mucha suerte a todos!

3
0 181
Artículo Daniel Aguilar · nov 8, 2023 8m read

  

Hola, comunidad!

Después de crear la appIrisApiTester, me di cuenta que podría tener mas potencial, y que con algunos ajustes, podría convertirse en una poderosa herramienta colaborativa.

Me pregunté a mi mismo:

  • ¿Podría compartir la colección con un equipo de desarrolladores?
  • ¿Podría usarlo para realizar test unitarios?
  • ¿Y test de integración?
  • ¿Y si le añadiésemos una capa de CI/CD?

Después de pensar esto, me decidí a intentarlo. Y descubría que todas las respuestas fueron afirmativas (con algunos matices xD).

0
1 124
Artículo Ricardo Paiva · nov 8, 2023 2m read

Preguntas frecuentes de InterSystems

La información sobre las propiedades definidas en una clase se puede obtener usando las siguientes clases del sistema:

%Dictionary.ClassDefinetion

%Dictionary.PropertyDefinition

El ejemplo de descripción del código es el siguiente.

0
0 152
Artículo Luis Angel Pérez Ramos · nov 2, 2023 1m read

Después del éxito de la pasada jornada en la que QuinielaML acertó 10 resultados y obteniendo un premio de 10€ volvemos una jornada más, ¡dispuestos a reinvertir las ganancias!

Veamos los partidos de esta jornada:

Ahora las predicciones para los partidos de 1ª División:

Y para 2ª:

Así que nos quedaría una Quiniela tal que así:

Pues tenemos unos cuantos partidos dudosos, con ambos equipos rondando el 35% de posibilidades, esta jornada va a ser complicada.

¡Mucha suerte a todos!

2
0 197
Artículo Luis Angel Pérez Ramos · nov 4, 2023 5m read

Recientemente me comentaron sobre la necesidad de monitorizar desde HealthConnect los registros presentes en una base de datos NoSQL en el Cloud, más en concreto Cloud Firestore, desplegada en Firebase. Con un rápido vistazo pude ver lo sencillo que resultaría crear un Adapter ad-hoc para realizar la conexión aprovechando las capacidades de Embedded Python, así que me puse manos a la obra.

0
0 102
Artículo Ricardo Paiva · nov 2, 2023 2m read

Preguntas Frecuentes de InterSystems

El significado de cada valor de tiempo de espera es el siguiente.

1. [Tiempo de espera de respuesta del servidor]

Si el procesamiento de IRIS/Caché (ejecución de rutina o consulta) no finaliza dentro de este tiempo establecido, el navegador devolverá un error.

Por ejemplo, si este valor es 60 segundos y se necesitan 90 segundos para ejecutar una rutina/método/consulta, se producirá un error.

0
0 138
Artículo Luis Angel Pérez Ramos · oct 27, 2023 1m read

¿No pensaríais que nos íbamos a quedar sin predicciones de la quiniela para este fin de semana, no? ¡Y menos en la jornada del clásico! Aquí estamos una jornada más exprimiendo las capacidades de InterSystems IRIS.

Veamos cual es la quiniela de esta jornada:

Y nuestras predicciones para Primera División:

Y Segunda División:

Pues así nos quedaría la Quiniela:

Sin una sóla victoria fuera de casa y plagado de empates...cuando menos ha quedado curiosa.

Pues nada, ¡suerte a todos!

3
0 142
Artículo Ricardo Paiva · oct 31, 2023 2m read

Preguntas frecuentes de InterSystems

Una herramienta (utilidad ^GLOBUFF) está disponible para verificar el uso de la memoria caché de la base de datos para cada global.

La utilidad se puede ejecutar directamente o mediante programación en el namespace %SYS .

Así se ejecutaría directamente:

USER>zn "%SYS"
 
%SYS>do ^GLOBUFF
 
Find which globals are using the most buffers.
 
Display the top <25>:     → Press Enter  // Default is to display top 25 globals
 
Total buffers: 102400     Buffers in use: 6926     PPG buffers: 77 (1.
0
0 126
Artículo Alex Woodhead · oct 31, 2023 2m read

Planteé una pregunta durante el 3er Gran Premio de Programación.

Quería compartir una observación sobre el uso de PDFs con LangChain.

Al cargar el texto de un PDF, me di cuenta de que había un espacio en algunas de las palabras extraídas.

Por ejemplo (marcado en rojo):

Adapti ve Analytics is an optional e xtension that pro vides a b usiness-oriented, virtual data model layer\nbetween InterSystems IRIS and popular Business Intelligence (BI) and Artificial Intelligence (AI) client tools.
0
0 156
Artículo Alberto Fuentes · jul 19, 2023 3m read

Este artículo es un sencillo ejemplo para probar SqlDatabaseChain pidiéndole a OpenAI cierta información y que escriba consultas SQL sobre una base de datos IRIS.

Quizá despierte el interés de alguno de vosotros.

Muchas gracias a sqlalchemy-iris (autor @Dmitry Konnov Maslennikov). Ese proyecto ha sido indispensable para esta prueba. 

El script de este artículo usa la API de OpenAI así que tenedlo en cuenta para no compartir la información de vuestras tablas externamente en el caso de que no queráis hacerlo. Podría llegar a implementarse un modelo local en caso que lo necesitaseis.

1
0 505
InterSystems Official Mario Sanchez Macias · oct 27, 2023

InterSystems finalizará el soporte al uso del sistema de archivos VxFS con InterSystems IRIS y lo marcará como deprecated (depreciado, obsoleto, en desuso) a partir del lanzamiento de InterSystems IRIS 2023.3. InterSystems seguirá dando soporte a los clientes existentes que utilicen la tecnología, pero no lo recomienda para nuevas implementaciones.

VxFS solo estaba soportado en SUSE Linux. Animamos a los clientes afectados a migrar a XFS u otro sistema de archivos soportado.

Si tenéis alguna pregunta, contactad con vuestro contacto local en InterSystems o conmigo directamente.

0
0 94
InterSystems Official Jose-Tomas Salvador · oct 26, 2023

Ya están disponibles dos versiones de mantenimiento extendido de InterSystems IRISInterSystems IRIS for Health y HealthShare Health Connect.

✅ 2022.1.4

La versión 2022.1.4 proporciona correcciones de errores para cualquiera de las versiones 2022.1.x anteriores.

En estas páginas podéis consultar las listas detalladas de cambios y los checklists para actualizaciones:

✅ 2023.1.2

La versión 2023.1.2 proporciona correcciones de errores para cualquiera de las versiones 2023.1.x anteriores.

0
0 117
InterSystems Official Mario Sanchez Macias · oct 26, 2023

CentOS dejará de ser una plataforma de desarrollo soportada desde la versión 2023.3 de InterSystems IRIS.

CentOS ha sido una plataforma de desarrollo soportada para que todos los desarrolladores tengan un equivalente de uso gratuito a Red Hat Enterprise Linux (RHEL) al programar con IRIS. Como seguramente sabréis, Red Hat ha realizado cambios significativos en CentOS, que ha pasado a ser la "fuente" de RHEL. Esto significa que tiene errores y funcionalidades aún no incluidas en RHEL, lo que puede provocar problemas de desarrollo en dicha plataforma.

Animamos a los desarrolladores que usen CentOS a aprovechar el programa gratuito para desarrolladores y  conseguir licencias de desarrollo gratuitas en RHEL.

IRIS 2023.2 (y anteriores) continúa siendo soportada en CentOS.

0
0 104
Artículo Luis Angel Pérez Ramos · oct 20, 2023 1m read

Nuevo viernes y nueva predicción de la Quiniela.

Como anunciamos ayer, QuinielaML ha mejorado en su modelo de predicciones restándole peso a los resultados históricos, ¡veamos si es cierto!

Esta es la Quiniela de esta jornada:

Las predicciones para Primera División serán:

Y para Segunda División:

Esto nos dejaría la siguiente predicción:

Suerte a todos ¡y sobretodo a mi!

2
0 143
Anuncio Esther Sanchez · oct 19, 2023

¡Hola Comunidad!

Como ya sabréis, el próximo día 21 de noviembre tendrá lugar el Segundo Encuentro (Meetup) de Desarrolladores de InterSystems Iberia. ¡Y nos gustaría ver allí a muchos miembros de la Comunidad! ¿Os apuntáis?

🗓 21 de noviembre, de 10:00 a 14:30 h. + pizza y bebidas

📍 Barcelona Tech, Pier07

➡️ Podéis ver la agenda y registraros aquí >>
 

2
0 133
Artículo Luis Angel Pérez Ramos · jul 11, 2023 3m read

¡Hola Comunidad!

El otro día vi un artículo sobre el uso del paquete %ZEN cuando se trabaja con JSON y he decidido escribir un artículo para describir un enfoque más actualizado. Hace no mucho se dio el paso de usar %ZEN.Auxiliary.* a clases JSON dedicadas. Esto permite trabajar con JSONs de forma más orgánica.

Llegados a este punto hay básicamente 3 clases principales para trabajar con JSON:

  • %Library.DynamicObject - proporciona una manera simple y eficiente de encapsular y trabajar con documentos JSON estándar. También nos da la posibilidad de, en vez de escribir el código habitual para crear la instancia de una clase como
set obj = ##class(%Library.DynamicObject).%New()

usar la siguiente sintaxis

set obj = {}
  • %Library.DynamicArray - proporciona una manera simple y eficiente de encapsular y trabajar con matrices JSON estándar. Con los arrays se puede usar el mismo enfoque que con los objetos, lo que significa que o bien se puede crear una  instancia de la clase
set array = ##class(%DynamicArray).%New()

o se puede hacer usando corchetes []

set array = []
  • %JSON.Adaptor es una utilidad para mapear objetos de ObjectScript (registrados, serial o persistentes) a textos JSON o entidades dinámicas.
1
0 277
Artículo Ricardo Paiva · oct 20, 2023 1m read

Preguntas frecuentes de InterSystems

ObjectScript permite pasar cualquier número de argumentos utilizando arrays. Se hace añadiendo ... después del nombre del argumento.

Os muestro un ejemplo. En la sentencia del ejemplo, la información del argumento se establece en una variable global (una variable almacenada en la base de datos) para que pueda ser fácilmente verificada después de que se ejecute el método.

Class TEST.ARGTEST1 Extends %RegisteredObject
{
ClassMethod NewMethod1(Ar
0
0 127
Artículo Alberto Fuentes · oct 18, 2023 3m read

Hoy os traigo otro ejemplo de aplicación de LangChain.

Inicialmente buscaba generar una "chain" o cadena para lograr hacer búsquedas dinámicas en la documentación en HTML, pero al final resultó más sencillo utilizar la versión en PDF de la documentación .

Crear un nuevo entorno virtual

mkdir chainpdf

cd chainpdf

python -m venv .
0
0 352
InterSystems Official Mario Sanchez Macias · oct 13, 2023

InterSystems ha decidido detener nuevos desarrollos de InterSystems Cloud Manager y etiquetarlo como discontinuado a partir de la versión 2023.3 de InterSystems IRIS. InterSystems seguirá dando soporte a los clientes existentes que utiliicen la tecnología, pero no lo recomienda para nuevas implementaciones.

A los clientes "en la nube" que estén interesados en implementar y gestionar un depliegue de IRIS con múltiples sistemas, se les recomienda considerar Kubernetes y el Operador Kubernetes de InterSystems, que tiene funcionalidades muy similares a ICM.

0
0 103
Artículo Ricardo Paiva · oct 12, 2023 2m read

Preguntas frecuentes de InterSystems

En el siguiente ejemplo, un archivo de imagen se codifica en una cadena Base64 en una propiedad de clase, se guarda, se decodifica la cadena en Base64 y se restaura en otro archivo.

【Classe ejemplo】

Class User.test Extends %Persistent
{
Property pics As %GlobalBinaryStream;
}


【Cuando se importa】

  set x=##class(User.test).%New() // create a new object

  // prepare an image
  set file=##class(%File).%New("c:\temp\Mii.png")
  do file.Open("RUK\BIN\")
  for {
       if file.
0
0 313
Artículo Luis Angel Pérez Ramos · oct 11, 2023 12m read

¡Hola Comunidad!

Este es el tercer artículo de la serie sobre arranque de instancias de IRIS con Docker. En esta publicación nos centraremos en el Enterprise Caché Protocol (ECP) o Protocolo de Caché Empresarial.

De manera muy simplificada, ECP permite configurar algunas instancias de IRIS como servidores de aplicaciones y otras como servidores de datos. Encontraréis más información técnica detallada en la documentación oficial.

El objetivo de este artículo es describir:

  • Cómo escribir el script de arranque de un servidor de datos y de uno o más servidores de aplicaciones.
0
0 158
Artículo Luis Angel Pérez Ramos · oct 6, 2023 1m read

Como no podía ser de otra manera y fieles a nuestra cita de los viernes, procedemos a publicar las predicciones de la aplicación QuinielaML para la jornada 9ª de Primera División y 10ª de Segunda.

Os recuerdo que QuinielaML está desarrollada sobre InterSystems IRIS haciendo uso de sus capacidades de Machine Learning que proporciona mediante la funcionalidad IntegratedML así como de Embedded Python que permite la captura de datos para entrenar el modelo predictivo.

1
0 320
Artículo Muhammad Waseem · dic 1, 2021 3m read

En este artículo explicaré cómo, mediante programación, creé el usuario, concedí privilegios, habilité/deshabilité y autentifiqué/invalidé una aplicación web en mi aplicación Data_APP_Security (https://openexchange.intersystems.com/package/Data_APP_Security)

Empecemos por la autentificación

La autenticación verifica la identidad de cualquier usuario o entidad que intente conectarse a InterSystems IRIS®. Como se dice a menudo, la autentificación es la forma de demostrar que eres quien dices ser.

1
0 307
Artículo Alberto Fuentes · oct 5, 2023 9m read

En el vasto y variado mercado de las bases de datos SQL, InterSystems IRIS destaca como una plataforma que va mucho más allá de SQL, ofreciendo una experiencia multimodelo perfecta, y siendo compatible con un amplio conjunto de paradigmas de desarrollo. Especialmente el avanzado motor objeto-relacional ha ayudado a organizaciones a utilizar el enfoque de desarrollo más adecuado para cada una de sus cargas de trabajo intensivas en datos; por ejemplo, ingerir datos a través de Objetos y consultarlos simultáneamente mediante SQL. Las Clases Persistentes corresponden a tablas SQL, sus propiedades a columnas de la tabla y se accede fácilmente a la lógica de negocio utilizando Funciones Definidas por el Usuario o Procedimientos Almacenados. En este artículo, nos centraremos un poco en la magia que se encuentra justo debajo de la superficie y discutiremos cómo puede afectar vuestras prácticas de desarrollo e implementación. Esta es un área del producto que tenemos planificado evolucionar y mejorar, así que no dudéis en compartir vuestras opiniones y experiencias en los comentarios al artículo.

0
0 188
Artículo Luis Angel Pérez Ramos · oct 3, 2023 1m read

¿Te estás preparando para usar VS Code por primera vez? Asegúrate de que tengas los privilegios suficientes.

¿Has definido tu servidor IRIS en la configuración de VS Code y aún recibes el siguiente error?

VS Code accede a IRIS/HealthConnect mediante la aplicación web /api/atelier. Si no tienes permiso (si estás utilizando por ejemplo un usuario LDAP para conectarte y la aplicación web no está configurada para admitir LDAP), esta es la razón por la que no pudiste conectarte.

También verás una entrada de 'Error de inicio de sesión' en la base de datos de auditoría con dicho motivo.

0
0 122