Artículo
· 16 ene, 2024 Lectura de 9 min
Base de datos documental de IRIS (DocDB)

La base de datos documental de InterSystems IRIS (DocDB) ofrece un enfoque flexible y dinámico para gestionar datos. DocDB aprovecha el poder de JSON (JavaScript Object Notation), proporcionando un entorno sin esquemas para el almacenamiento y la recuperación de datos.

Es una herramienta poderosa que permite a los desarrolladores evitar un montón de código repetitivo cuando se interactúra con aplicaciones existentes, serialización, paginación e integración. La sencillez del uso de DocDB con los servicios y operaciones API REST permite mejorar en la producción y gestión de APIs.

Aquí podéis revisar la documentación oficial. En este artículo mostraremos un caso de uso en el que DocDB encaja perfectamente.

0 0
0 41
Pregunta
· 7 feb, 2024
Error depurando desde VS

Hola comunidad,

Si, ya sé que hay otra pregunta con el mismo problema "VS Code - debugging doesn't work", pero mi instancia de IRIS no está usando IIS.

Hace tiempo, podía depurar sin problemas, pero después de algunas actualizaciones de Visual Studio, tengo el siguiente error

Failed to start the debug session. Check that the Intersystems server's web server supports WebSockets

0 2
0 112

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
0 78

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.

0 0
0 51

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
0 75

La versión 2023.3 de InterSystems IRIS Data Platform, InterSystems 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
0 42

Hola comunidad,

Cuando utilizamos un Business Servicio de tipo SQL, puede suceder que necesitemos replicar ciertas filas de la tabla original.

Tomemos como ejemplo el Business Service "from customer SQL" usando la clase genérica EnsLib.SQL.Service.GenericService

0 0
0 49

¡Hola!

Me gustaría encontrar programáticamente todas las clases que no están actualizadas en un namespace.

Con IRIS Studio, podemos ver el signo "+", pero no sé cómo hacerlo con un script.

Set sql = "SELECT ID, Name FROM %Dictionary.ClassDefinition WHERE NOT ID %STARTSWITH ?"
Set params($Increment(params)) = "%"
Set tResult = ##class(%SQL.Statement).%ExecDirect(, sql, params...)

If (tResult.%SQLCODE'=0)&&(tResult.%SQLCODE'=100) Set sc = $$$ERROR($$$SQLError, tResult.%SQLCODE, tResult.%Message) Quit sc

While tResult.%Next() {
    // if class not up to date ??
}

¿Alguien tiene alguna idea?

0 1
0 52
Artículo
· 11 oct, 2023 Lectura de 12 min
ECP con Docker

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

0 0
0 61

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.

0 0
0 50
         Cómo incluir IRIS Data en vuestro almacén de datos de Google Big Query y en vuestras exploraciones de datos de Data Studio. En este artículo utilizaremos Google Cloud Dataflow para conectarnos a nuestro Servicio de InterSystems Cloud SQL y crear un trabajo para persistir los resultados de una consulta de IRIS en Big Query en un intervalo. 

Si tuvisteis la suerte de obtener acceso a Cloud SQL en el Global Summit 2022, como se menciona en "InterSystems IRIS: What's New, What's Next" (InterSystems IRIS: Lo nuevo, lo siguiente), el ejemplo será pan comido, pero se puede realizar con cualquier punto de acceso público o vpc que hayáis provisionado.
0 0
0 37

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

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】

0 0
0 46
Artículo
· 14 mar, 2024 Lectura de 5 min
Consulta de datos dinámicos usando ASQ

IRIS 2023.3.0 ASQ

Abstract Set Query, ASQ, es un superconjunto del lenguaje JSONPath, JPL, que fue introducido por primera vez por el Standard SQL ISO 2016. JPL sólo está definido dentro del contexto de SQL. En 2023.3, introdujimos clases que implementan ASQ. Funciona en cualquier implementación de %Library.AbstractSet. La sintaxis completa para ASQ será documentada más adelante. Esto es solo una introducción rápida a algunas de sus funcionalidades. Esta implementación también viene con una utilidad muy chula. ¡Lo sabrás cuando la veas!

En primer lugar, vamos a coger algunos datos de la base de datos de la NHL (National Hockey League). Este paso requiere una configuración válida de SSL/TLS. Yo he llamado a la mía Default.

0 0
0 83
Artículo
· 16 jun, 2023 Lectura de 3 min
Cómo depurar comunicaciones http (y https)

Introducción

Si alguna vez os habéis preguntado cómo depurar algunas solicitudes que se realizan hacia o desde IRIS, este es un pequeño tutorial sobre cómo se hace.

Durante un proyecto complejo, normalmente se obtienen las especificaciones y se implementa la comunicación entre IRIS y otros sistemas basándose en eso. Pero del papel al mundo real normalmente hay un gran trecho y hay que saber por qué se recibe un error en un parámetro o en una cabecera, por qué no se reciben los datos, etc.

Si la conexión es una conexión http sencilla, no hay problema, siempre se puede iniciar tcpdump y capturar el tráfico, pero ¿qué pasa con la comunicación https?

¿Qué tal tener una interfaz web limpia, algo que iniciáis y después el desarrollador puede mirar ese portal cuando quiera?

Si alguna vez habéis estado en esta situación, una solución sencilla es mitm proxy ( https://mitmproxy.org/ ).

Este programa tiene la capacidad de actuar como un proxy (se puede configurar en el Business Operation, por ejemplo), un proxy transparente (lo que me gusta), proxy upstream (proxy transparente que envía la conexión a otro proxy), etc.

0 0
0 64

¡Hola Comunidad!

Me alegra anunciar la nueva versión de iris-pex-embedded-python (v2.3.1) con una nueva interfaz de línea de comandos.

Esta línea de comandos se llama iop por Interoperability On Python.

Primero me gustaría presentar los principales cambios del proyecto desde la versión 1.

Breve historia del proyecto

La versión 1.0 fue una prueba de concepto para mostrar cómo el framework de interoperabilidad de IRIS se puede utilizar con un enfoque python first mientras sigue siendo compatible con cualquier código existente de ObjectScript.

¿Qué significa eso? Significa que cualquier desarrollador Python puede usar el framework de interoperabilidad de IRIS sin ningún conocimiento de ObjectScript.

Ejemplo:

from grongier.pex import BusinessOperation

class MyBusinessOperation(BusinessOperation):

    def on_message(self, request):
        self.log.info("Received request")

Genial, ¿cierto?

0 0
0 38
Artículo
· 18 sep, 2023 Lectura de 10 min
Cómo desarrollar en Tableau y PowerBI

Power BI

Conectar a una Fuente de Datos

Para conectarse a AtScale, utilizaremos la base de datos de SQL Server Analysis Services. Vamos a abrirla en el editor de Power Query. Para hacerlo, hay que seleccionar Transform Data en la pestaña Home.



En la ventana que aparece, id a Home, New Source y seleccionad Analysis Services.

0 1
0 98

He estado desarrollando una aplicación web que utiliza IRIS como back-end. Trabajé en ella con acceso no autenticado. Estoy llegando al punto en el que me gustaría implementarla para los usuarios, pero primero necesito añadir la autenticación. En vez de utilizar la contraseña para la autenticación predeterminada de IRIS (con contraseña), me gustaría que los usuarios iniciaran sesión con el Inicio de Sesión Único (SSO) de mi organización, o con algún otro proveedor de identidad popular como Google o GitHub. He leído que OpenID Connect es un estándar de autenticación común, y que es admitido por IRIS. ¿Cuál es la forma más sencilla de ponerlo en marcha?

0 0
0 131
Artículo
· 19 jul, 2023 Lectura de 3 min
LangChain puede escribir SQL por ti

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

0 1
0 232