Artículo
· 3 abr, 2023 Lectura de 9 min
Apache Web Gateway con Docker

¡Hola Comunidad!

En este artículo configuraremos mediante programación un Apache Web Gateway con Docker, utilizando:

  • El Protocolo HTTPS.
  • TLS\SSL para asegurar la comunicación entre el Web Gateway y la instancia de IRIS.

imagen

Utilizaremos dos imágenes: una para el Web Gateway y la segunda para la instancia de IRIS.

Todos los archivos necesarios están disponibles en este repositorio de GitHub.

1 0
1 210
Artículo
· 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 50
Artículo
· 1 jun, 2023 Lectura de 10 min
Pruebas de rendimiento IRIS - PostgreSQL - MySQL

Como antiguo programador de JAVA siempre ha sido un reto decidir qué base de datos era la más adecuada para el proyecto que íbamos a desarrollar, uno de los principales criterios que usaba era el del rendimiento de las mismas, así como sus capacidades de configuración HA (high availability o alta disponibilidad).

1 0
0 82

Preguntas frecuentes de InterSystems

Se pueden configurar páginas de error individuales para los siguientes mensajes de error/respuestas del Web Gateway:

  • Error del servidor
  • Servidor ocupado
  • Servidor no disponible
  • Tiempo límite de espera del servidor
  • Conexión cerrada

Los ajustes se realizan en la pantalla Administración del Portal de Gestión ([Administración] > [Configuración] > [Gestión del Web Gateway] > [Configuración] > [Parámetros predeterminados]).

1 0
0 65
         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 42
Artículo
· 28 nov, 2023 Lectura de 1 min
Cómo crear Objetos y Matrices JSON mediante SQL

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.

1 0
0 77

La invención y popularización de LLMs (Large Language Models) como GPT-4 de OpenAI ha desencadenado una ola de soluciones innovadoras que permiten aprovechar grandes volúmenes de datos no estructurados, que eran prácticamente imposibles de procesar manualmente hasta hace poco. Estas aplicaciones pueden incluir la recuperación de datos (echad un vistazo al curso sobre ML301 de Don Woodlock, con una excelente introducción a la Generación Aumentada de Recuperación), el análisis de sentimientos, e incluso agentes de IA totalmente autónomos, por nombrar sólo algunos ejemplos!

En este artículo, quiero demostrar cómo la funcionalidad de Python Embebido de IRIS puede ser utilizada para interactuar directamente con la librería Python de OpenAI, a través de la creación de una sencilla aplicación de etiquetado de datos que asignará automáticamente palabras clave a los registros que metamos en una tabla de IRIS. Estas palabras clave pueden después ser usadas para buscar y categorizar los datos, así como para analítica de datos. Utilizaré reseñas de productos realizadas por clientes como ejemplo de caso de uso.

1 0
0 78

Tenemos un conjunto de datos bastante apetecible con recetas escritas por múltiples usuarios de Reddit, sin embargo, la mayor parte de la información está en texto libre en forma de título y descripción de un mensaje. Vamos a averiguar cómo podemos, de forma muy sencilla, cargar los datos, extraer algunas características y analizarlos empleando funcionalidades de LLM (Large Language Model) de OpenAI desde Python Embebido y el framework Langchain.

0 0
0 79
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 90

¡Hola, amigos!

A menudo, cuando desarrollamos soluciones comerciales, existe la necesidad de desplegar soluciones sin código fuente, por ejemplo, para preservar la propiedad intelectual.

Una de las formas de conseguirlo es utilizar InterSystems Package Manager.

Aquí he pedido a Midjourney que pinte una propiedad intelectual de software:

¿Cómo se puede lograr esto con IPM?

De hecho, es muy sencillo; basta con añadir la cláusula Deploy="true" en el elemento Resource del manifiesto module.xml. Ver Documentación.

He decidido pasaros el ejemplo más simple posible para ilustrar cómo funciona y también para daros una plantilla de entorno de desarrollo que os permita empezar a construir y desplegar vuestros propios módulos sin código fuente. ¡Allá vamos!

2 0
0 60

¡Hola a tod@s, programadores deseosos de aprender!

Hace poco, un desarrollador que está empezando a utilizar la tecnología de InterSystems me preguntó cómo podía aprender en la Comunidad de Desarrolladores, para mejorar sus conocimientos de programación.

Y me pareció una muy buena pregunta. A la que podía responder con varias opciones. Por eso decidí escribir este artículo, esperando que sea de utilidad no solo para ese desarrollador, sino para otros muchos más.

Así que la pregunta era... ¿Cómo aprender sobre Intersystems IRIS e IRIS for Health en la Comunidad de Desarrolladores?

0 0
0 148

¡Hola a tod@s!

En este artículo voy a hablar sobre los Globals, esas espadas mágicas para almacenar datos, que han estado con nosotros desde hace tiempo, pero no mucha gente las utiliza de forma eficiente o realmente conoce esta súper herramienta.

Si se utilizan globals para realizar las tareas en donde realmente brillan, los resultados pueden ser sorprendentes, ya sea en términos de un mayor rendimiento o en una simplificación drástica de la solución en general (1, 2).

Globals ofrecen una forma especial de almacenar y procesar datos, la cual es completamente diferente de las tablas SQL. Se introdujeron por primera vez en 1966 con el lenguaje de programación M(UMPS), donde inicialmente se utilizaron en las bases de datos médicas. Todavía se usan de la misma manera, pero también fueron adoptados por otras industrias donde la confiabilidad y el alto rendimiento son la máxima prioridad (como en las finanzas, las operaciones comerciales, etc.)

1 0
1 215
Artículo
· 20 ene, 2020 Lectura de 9 min
Puesta en funcionamiento de IRIS usando Docker

¡Hola Comunidad!

Este breve documento describe los pasos para iniciar IRIS community edition usando Docker en MAC. Para quienes sean nuevos con Docker, primero se explica cómo instalar Docker y ejecutar algunos comandos básicos necesarios para poner en funcionamiento IRIS community edition. Los usuarios con más experiencia en Docker pueden saltarse esa parte.

0 0
0 355
Artículo
· 1 jul, 2020 Lectura de 7 min
GraphQL para las plataformas de datos de InterSystems

GraphQL es un lenguaje estándar para declarar estructuras y métodos de acceso a datos, que sirve como una capa de middleware entre el cliente y el servidor. Si nunca has oído hablar de GraphQL, aquí puedes encontrar algunos recursos útiles: aquí, aquí y aquí.

En este artículo, explicaré cómo puedes usar GraphQL en tus proyectos basados en las tecnologías de InterSystems.

1 0
0 268
Artículo
· 15 feb, 2021 Lectura de 1 min
Analiza tu código abierto de forma gratuita

Ya hace algunos meses que publicamos cómo realizar un análisis automatizado de los proyectos en Github en vuestro propio servidor de análisis de código.

Ahora ofrecemos la posibilidad de realizar el análisis automatizado de forma totalmente gratuita para los proyecto de código abierto que residen en Github. Si tienes un proyecto en Github, lo único que tienes que hacer es crear el archivo ".github/workflows/objectscript-quality.yml" con el siguiente contenido:

0 0
0 107
Artículo
· 7 sep, 2021 Lectura de 3 min
ObjectScript sobre ODBC
Este es un ejemplo de código que funciona en IRIS 2020.1 y en Caché 2018.1.3 
No se mantendrá sincronizado con las nuevas versiones.  
Y NO cuenta con el servicio de soporte de InterSystems.
De vez en cuando, puedes encontrarte una situación en la que, por diferentes razones, ODBC es la única opción para acceder a un sistema remoto. Lo cual es suficiente mientras necesites examinar o cambiar tablas. Pero no puedes ejecutar directamente algunos comandos o cambiar algunos globals.
0 0
0 119

¡Hola desarrolladores!

A menudo me preguntan cómo instalar IRIS, cómo conectarse a IRIS desde el IDE, cómo configurar el entono, compilar, depurar, mantener el repositorio...

Os muestro aquí posiblemente el camino más corto para configurar todo el entorno y empezar a desarrollar con ObjectScript en InterSystems IRIS.

Prerrequisitos

Asegúrate de tener Git, Docker y VSCode instalados.

Instala las extensiones de Docker y ObjectScript en VSCode.

Inicia sesión o crea una cuenta en Github.

¡Vamos allá!

0 0
0 354

Palabras clave PyODBC, unixODBC, IRIS, IntegratedML, Jupyter Notebook, Python 3

Propósito

Hace unos meses traté el tema de la "conexión con JDBC desde Python a la base de datos de IRIS", y desde entonces utilicé ese artículo con más frecuencia que mi propia nota oculta en mi PC. Por eso, traigo aquí otra nota de 5 minutos sobre cómo hacer una "conexión con JDBC desde Python a la base de datos de IRIS". ODBC y PyODBC parecen bastante fáciles de configurar en un cliente de Windows, sin embargo, siempre me atasco un poco en la configuración de un cliente unixODBC y PyODBC en un servidor de estilo Linux/Unix. ¿Existe un enfoque tan sencillo y consistente como se supone que debe ser para hacer que el trabajo de instalación de PyODBC/unixODBC funcione en un cliente linux estándar sin ninguna instalación de IRIS, contra un servidor IRIS remoto?

0 0
0 400
Artículo
· 19 ago, 2021 Lectura de 2 min
Persistencia atípica
Este es el ejemplo de un código que funciona en Caché 2018.1.3 e IRIS 2020.2 
No se mantendrá sincronizado con las nuevas versiones 
¡Además NO cuenta con el servicio de Soporte de InterSystems!

Durante mi búsqueda de un snapshot de un objeto persistente, conocí una característica que me gustaría compartir, ya que podría ser útil en algunas situaciones especiales. Mi objetivo era tener una imagen del antes y el después durante las pruebas unitarias.

0 0
0 85
Artículo
· 7 oct, 2021 Lectura de 2 min
Cómo obtener Upstream en GitHub

¡Hola desarrolladores!

Con frecuencia, cuando colaboramos con el repositorio de alguien en GitHub, seguimos el siguiente ciclo:
1. Fork: crear nuestra bifurcación del repositorio
2. Clone: clonar una copia local de nuestro repositorio bifurcado
3. Realizar nuestros cambios y guardarlos con un Commit en nuestra copia local
4. Push: publicar nuestros cambios al repositorio clonado de GitHub
5. Hacer Pull-Request para solicitar incorporar nuestros cambios desde nuestro fork — bifurcación — al repositorio original
6. Y si todo va bien se hará un Merge — fusión o incorporación — con nuestros cambios en el repositorio original

¡Todo esto es genial y funciona bien!

Y si queremos realizar una segunda colaboración justo después de llevar a cabo un Merge , es necesario que primero realicemos un Fetch upstream en nuestro repositorio clonado para que tengamos disponibles los cambios actualizados que incorporamos al repositorio original a través del Pull Request.

Los más frikies de git lo hacen muy fácilmente, pero muchos terminamos simplemente por eliminar nuestro primer fork y crear otro nuevo.

1 0
0 201
Artículo
· 5 ene, 2022 Lectura de 1 min
Python Gateway. Parte II: Instalación

Esta serie de artículos describe el uso del Python Gateway para InterSystems. Ejecuta el código de Python y mucho más desde InterSystems IRIS. Este proyecto te trae toda la potencia de Python directamente a tu entorno InterSystems IRIS:

  • Ejecuta cualquier código de Python
  • Transfiere datos de forma transparente desde InterSystems IRIS a Python
  • Crea procesos empresariales de interoperabilidad inteligentes, con el Adaptador de interoperabilidad de Python
  • Guarda, examina, modifica y restaura el contexto de Python desde InterSystems IRIS

0 0
0 190

A veces es necesario ejecutar comandos desde la consola del sistema operativo del servidor, en el que se localiza tu programa ObjectScript, para lanzar programas, servicios de sistema operativo, programar tareas cron... entre otras actividades. Para ello, el lenguaje tiene una función llamada $ZF(-100). Se usa así:

0 0
0 125

Este artículo es una continuación de esta publicación.

En ese artículo, analizamos el desarrollo de business processes, que forman parte de los componentes necesarios para la integración del sistema y sirven como coordinadores de la producción.

En este artículo mostraremos la creación de un business service, que es la ventana de entrada de información para la producción.

0 0
0 135

A veces es necesario transferir o migrar datos y esquemas de datos de Postgres a IRIS. Actualmente hay varias opciones para hacerlo, pero las dos más populares son DBeaver y SQLGateway. Ésta última es descrita por Robert Cemper en este excelente artículo: DB Migration using SQLgateway (Migración de base de datos usando SQLgateway).

Yo describiré en este artículo cómo realizar la migración utilizando DBeaver:

1 0
0 670

La aplicación Carbon Footprint Counter utiliza el GHG Protocol para medir las emisiones de carbono en las empresas. El Protocolo de Gases de Efecto Invernadero (GHG Protocol) establece marcos estandarizados globales integrales para medir y gestionar las emisiones de gases de efecto invernadero (GHG) de las operaciones del sector público y privado, las cadenas de valor y las acciones de mitigación.

Sobre la base de una asociación de 20 años entre el Instituto de Recursos Mundiales (WRI) y el Consejo Empresarial Mundial para el Desarrollo Sostenible (WBCSD), el GHG Protocol trabaja con gobiernos, asociaciones industriales, ONGs, empresas y otras organizaciones. (fuente: https://ghgprotocol.org/about-us).

La aplicación Carbon Footprint Counter utiliza InterSystems IRIS para implementar APIs REST y la base de datos SQL para administrar el inventario de emisiones de carbono en las empresas. La interfaz es Angular 12 con el framework PrimeNG (líder de código abierto para Angular).

0 0
0 172
Artículo
· 16 ene, 2023 Lectura de 4 min
Cómo serializar objetos Python en globals

Motivación

Empecé en este proyecto pensando en cómo permitir que el código Python trabaje de forma natural con el almacenamiento escalable y el eficiente mecanismo de recuperación de datos ofrecido por los globals de IRIS, a través de Python Embebido.

Mi idea inicial era crear algo como un diccionario de implementación de Python usando globals, pero pronto me di cuenta de que antes debía ocuparme de la abstracción de objetos.

0 0
0 99