#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 Daniel Aguilar · dic 11, 2023 8m read

InterSystems IRIS tiene un excelente soporte en operaciones de encriptación, desencriptación y hacina. Dentro del manual de la clase %SYSTEM.Encryption existen métodos para el uso de los principales algoritmos del mercado.

Algoritmos y tipos de Encriptación/Desencriptación de IRIS

Como puedes comprobar, las operaciones están basadas en claves y incluyen 3 opciones:

  • Symmetric Keys:  Las partes que realizan operaciones de cifrado y descifrado comparten la misma clave secreta.
0
0 235
Artículo Daniel Aguilar · dic 11, 2023 1m read

Preguntas frecuentes de InterSystems

La cache de las consultas SQL puede ser purgada mediante programación usando el método Purge* de la clase %SYSTEM.SQL.

*Para ver el detalle de cada uno de los métodos, por favor consulta los siguientes enlaces:

%SYSTEM.SQL class【IRIS】

%SYSTEM.SQL class

① Comando para borrar todas las consultas SQL cacheadas en el sistema

Do $SYSTEM.SQL.PurgeAllNamespaces()


② Comando para borrar las consultas SQL cacheadas en el namespace actual

// borra todas las consultas SQL cacheadas en el namespace actual
Do $SYSTEM.SQL.
0
0 130
Artículo Kurro Lopez · dic 8, 2023 9m read

 

La inteligencia artificial no se limita solo a generar imágenes a través de texto con instrucciones o crear narrativas con instrucciones sencillas.

También puedes hacer variaciones de una imagen o incluir un fondo especial a una ya existente.

Adicionalmente, podrás obtener la transcripción del audio sin importar su idioma y la velocidad del hablante.

Por tanto, analicemos cómo funciona la gestión de archivos.

0
0 210
Artículo Ricardo Paiva · dic 7, 2023 1m read

Preguntas frecuentes de InterSystems

Cuando ejecutéis comandos del SO, utilizad el comando $ZF(-100).

do$ZF(-100,"",program,args) // Execute the Windows command [synchronously].
do$ZF(-100,"/ASYNC",program,args) // Executes a Windows command [asynchronously].

Cuando ejecutéis comandos de la shell del SO, como mkdir o copy, hemos de especificar /SHELL.

do$zf(-100,"/shell /async","mkdir","c:\temp\x")
0
0 93
Artículo Alberto Fuentes · dic 7, 2023 4m read

Introducción

Con frecuencia nos encontramos con problemas de conectividad en las implementaciones de HealthShare (HS) en Microsoft Azure que tienen varios componentes de HealthShare (instancias o namespaces) instalados en la misma máquina virtual, especialmente cuando es necesario comunicarse con otros componentes de HS mientras se utiliza el balanceador de carga interno de Azure (ILB) para proporcionar la funcionalidad VIP (Virtual IP) de Mirroring. Los detalles sobre cómo y por qué se usa un balanceador de carga con Mirroring los podéis encontrar en este artículo de la Comunidad.

Según la documentación del Balanceador de Carga de Azure, el comportamiento predeterminado es el siguiente:

0
0 137
Artículo Luis Angel Pérez Ramos · dic 5, 2023 3m read

¡Bienvenidos a todos! 

En este breve artículo quería presentar un ejemplo de uso que seguramente a muchos de los que trabajéis con IRIS como backend de vuestras aplicaciones web os hayáis encontrado en más de una ocasión y sería el de la necesidad de enviar desde el frontend un archivo a vuestro servidor.

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

Seguimos fieles a nuestra cita de los viernes con la predicción de la Quiniela. Jornada 24ª de la quiniela que coincide con la 15ª de Primera División y la 18ª de Segunda.

Veamos la Quiniela de esta semana:

Predicciones para Primera División:

Y para Segunda:

Esto nos daría la siguiente apuesta simple:

Si queréis introducir apuestas con dobles, según los porcentajes dados para cada partido nos daría que los partidos más dudosos son:

Mallorca - Alavés: 1X

Sevilla - Villarreal: 1X

Racing de Ferrol - Albacete: 1X

Pues ya tendríamos la apuesta para la jornada, ¡mucha suerte para todos!

2
0 215
Artículo Luis Angel Pérez Ramos · dic 5, 2023 3m read

Preguntas frecuentes de InterSystems

Las definiciones de clases creadas por los usuarios se almacenan en clases de definición de clases. Estas se pueden utilizar para obtener una lista de definiciones de clases desde un programa.

Nota: Las clases de definición de clase se refieren a todas las clases contenidas en el paquete %Dictionary.

En el siguiente código de muestra, se obtiene una lista de definiciones de clases utilizando la consulta Resumen de la clase %Dictionary.ClassDefinitionQuery.

Class ISJ.Utils
{
ClassMethod ClassInfo()
{
    #dim ex As %Exception.
0
0 119
Artículo Ricardo Paiva · dic 4, 2023 2m read

Preguntas frecuentes de InterSystems

Para crear un error definido por el usuario, hemos de preparar un XML que describa el código de error y el mensaje correspondiente que desea utilizarse como error definido por el usuario.

Hemos de establecer el código de error como un número entero negativo.

<?xml version="1.0" encoding="UTF-8"?
0
0 112
Artículo Daniel Aguilar · nov 25, 2023 1m read

Preguntas frecuentes de InterSystems

Puedes establecer el tamaño máximo de la base de datos IRISTemp en el arranque de IRIS configurando el parámetro MaxIRISTempSizeAtStart.

Después de configurarlo, el sistema truncará IRISTemp al valor establecido (MB) en el siguiente inicio de IRIS. Si el tamaño actual es inferior al especificado MaxIRISTempSizeAtStart, no realizará el truncado. Si se especifica el valor 0 no se realizará el truncado nunca.

Puedes configurarlo en el siguiente menú.

1
0 109
InterSystems Official Luis Angel Pérez Ramos · dic 1, 2023

Cuando AMD publicó el estándar x86-64 en 1999, pocos sabían que estaban inventando lo que se convertiría en la arquitectura de facto para las CPUs de servidor. Pero las CPUs de hoy no son iguales a las que se producían hace 20 años – ahora tienen extensiones para todo, desde Extensiones Vectoriales Avanzadas (AVX) hasta Virtualización Asistida por Hardware (VT-d).

A InterSystems le gustaría aprovechar mejor estas nuevas extensiones en las próximas versiones de InterSystems IRIS. Aunque nuestros compiladores son lo suficientemente inteligentes para crear código optimizado para muchas situaciones, algunas optimizaciones solo se pueden activar si se finaliza específicamente el soporte a procesadores que no tienen ese conjunto de instrucciones. Además, nos resulta cada vez más difícil mantener modelos de CPU más antiguos para realizar pruebas.

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

¡Ni Black Friday ni inventos! Nosotros seguimos empeñados con nuestro QuinielaML Friday. Y aquí tenemos una semana más las predicciones, en este caso para la 22ª jornada de la Quiniela, correspondiente a la 14ª jornada de Primera División y  a la 17ª de Segunda.

Estos serán los partidos a predecir:

Veamos que nos dice QuinielaML para Primera División:

Como vemos no hay nada que se salga fuera de la norma, quizás podemos destacar la poca confianza que tiene en el Betis.

1
0 135
Artículo Luis Angel Pérez Ramos · nov 28, 2023 6m read

En este artículo vamos a ver como podemos utilizar el servicio de mensajería instantanea de WhatsApp desde InterSystems IRIS para enviar mensajes a diferentes destinatarios. Para ello deberemos crear y configurar una cuenta en Meta y configurar un Business Operation para enviar los mensajes que deseemos.

Veamos con más detalle cada uno de estos pasos.

Configurando una cuenta en Meta

Este es posiblemente el punto más enrevesado de toda la configuración, ya que deberemos configurar una serie de cuentas hasta poder disponer de la funcionalidad de mensajería.

0
0 170
Artículo Robert Cemper · nov 28, 2023 1m read

Esta app evita añadir %JSONAdaptor a cada clase. En su lugar usa las funciones SQL JSON_OBJECT() para crear mis objetos JSON. Con este enfoque, se puede añadir JSON a cualquier clase - incluso a las implementadas - sin ninguna necesidad de cambiar o recompilar.

La idea inicial surge a raíz de implementar la exportación de relaciones M:N como objetos o matrices JSON.

La típica estructura de la exportación es  

{ M-element : {M-object},
   related-N-elements:
   [
     {N-element}, 
    {N-element},
    {N-element}
   ]
}

Los datos para la demo son un fragmento de los Miembros de la Comunidad de Desarrolladores y sus Insignias conseguidas en GlobalMasters. Los nombres reales están modificados.

0
0 191
InterSystems Official Jose-Tomas Salvador · nov 24, 2023

La versión 2023.3 de InterSystems IRIS Data PlatformInterSystems IRIS for Health e InterSystems IRIS Studio ya está disponible de manera general (GA).

ASPECTOS DESTACADOS DE LA NUEVA VERSIÓN

2023.3 es una versión CD (Continuous Delivery). Se han añadido muchas actualizaciones y mejoras:

Mejoras en la Nube y en Operaciones

Archivado de Journal: Desde esta versión, los administradores de sistemas ahora pueden configurar una ubicación de archivado para ficheros de journal una vez ya completos. Cuando esté configurado, tras un cambio de archivo, el fichero de journal recien completado primero será comprimido (usando la funcionalidad de Compresión de Journal) y después se moverá automáticamente a esta ubicación de archivado, que puede estar en un nivel de almacenamiento de bajo coste, como una unidad de disco duro (HDD), o almacenamiento en la nube, como Amazon S3. Los ficheros journal archivados pueden entonces ser eliminados automáticamente del directorio de journal local, reduciendo el espacio total en el nivel de almacenamiento de alto rendimiento utilizado para escribir ficheros journal y disminuyendo el Coste Total de Propiedad para las implementaciones de InterSystems IRIS. 

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

Preguntas frecuentes de InterSystems

Para ejecutar un backup online desde un comando, se puede utilizar la rutina API BACKUP^DBACK.

Este es un ejemplo de realización de un backup completo.

set  status = $$ BACKUP ^DBACK( "" , "F" , "full backup" , "c:\backup\full.cbk" , "Y" , "c:\backup\full-log.log" , " NOINPUT" , "Y" , "Y" , "" , "" )

El valor de retorno es 1 si el backup se realiza con éxito, y 0 si el backup no se realiza correctamente. Por favor, consultad el fichero log para conocer más detalles sobre el fallo.

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

¿Pensábais que no habría este viernes predicción de la Quiniela por no haber partidos de Primera División? ¡Pues estáis muy equivocados! Gracias a la modularidad y sencillez que proporciona InterSystems IRIS hemos incluido los datos relativos a los partidos de clasificación de la Eurocopa, así que veamos cual será la Quiniela de esta jornada.

Vamos a ver cual es la predicción para la Segunda División:

Echemos un vistazo ahora a la predicción de los partidos de clasificación para la Eurocopa 2024:

Así que nos queda una Quiniela tal que así:

Pues listo. Alea jacta est.

1
0 148
Artículo Luis Angel Pérez Ramos · nov 22, 2023 3m read

Introducción

A InterSystems le gustaría optimizar IRIS para aprovechar las modernas extensiones del conjunto de instrucciones de la CPU.  Eso está genial para el rendimiento del producto, pero ¿cómo sabéis si vuestra CPU seguirá siendo compatible con las nuevas versiones de IRIS? En este artículo os explico cómo saber la familia de microarquitectura de la CPU, y cómo averiguar las extensiones específicas del conjunto de instrucciones de la CPU.

0
0 110
Artículo Ricardo Paiva · nov 16, 2023 3m read

Preguntas frecuentes de InterSystems

Para rutinas (*.mac)

Se puede ocultar el código fuente exportando/importando solo el *.obj que se genera después de compilar el programa fuente.

El ejemplo de ejecución de comandos especifica EX1Sample.obj y EX2Sample.obj, que se generan al compilar EX1Sample.mac y EX2Sample.mac, como destinos de exportación y los exporta al segundo archivo de argumentos.

Después de pasarlo a otro namespace, se usa el archivo XML exportado para realizar la importación.

0
0 120
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 150
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 188
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 154
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 180
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 121
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 151
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 196
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 101
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 137