Artículo
· 19 sep, 2022 Lectura de 17 min
Cuatro APIs de base de datos

Una sesión simultánea en IRIS: SQL, Objects, REST y GraphQL

Kazimir Malevich, "Deportistas" (1932)

"¡Pues claro que no lo entiende! ¿Cómo puede una persona que siempre ha viajado en un carruaje tirado por caballos entender los sentimientos e impresiones del viajero expres o del piloto de aviones?"

Kazimir Malevich (1916)

Introducción

Ya hemos abordado el tema de por qué la representación de objetos/clases es superior a la de SQL para implementar modelos de áreas temáticas. Y esas conclusiones y hechos son tan ciertos ahora como lo han sido siempre. Entonces, ¿por qué deberíamos dar un paso atrás y hablar sobre las tecnologías que arrastran las abstracciones de vuelta al nivel global, donde habían estado en la era pre-objetos y pre-clases? ¿Por qué debemos fomentar el uso de "código espagueti", que provoca errores que son difíciles de rastrear y se basa en las habilidades de desarrolladores virtuosos?

Hay varios argumentos a favor de la transmisión de datos por medio de APIs basadas en SQL/REST/GraphQL en lugar de representarlos como clases/objetos:

3 0
0 1.5K

¡Hola Comunidad!

Esta publicación es una introducción a mi aplicación iris-python-apps, disponible en Open Exchange y creada usando Embedded Python y Python Flask Web Framework. La aplicación muestra algunas de las funcionalidades de Python, como la ciencia de datos, el trazado de datos, la visualización de datos y la generación de códigos QR.

image

Características

  • Cuadro de mando de IRIS de arranque responsive

  • Vista de los detalles del cuadro de mando junto con el registro de eventos de interoperabilidad y los mensajes

  • Uso del trazado de Python desde IRIS

  • Uso de Jupyter Notebook

  • Introducción a la ciencia de datos, trazado de datos y visualización de datos

  • Generación de código QR desde Python

1 0
1 938

TOGAF son las siglas de The Open Group Architecture Framework (Esquema de Arquitectura del Open Group). Ofrece un enfoque para planificar, diseñar, implementar, desplegar y controlar proyectos de AE (Arquitectura Empresarial). En otras palabras, ofrece un marco de alto nivel para el desarrollo de software empresarial.

0 0
0 866
Artículo
· 26 jul, 2022 Lectura de 10 min
Conversión de zona horaria usando Python Embebido

La fecha y la hora son factores importantes en nuestra vida. Porque todas las aplicaciones son interesantes según la fecha y la hora. Pero el mundo está dividido en múltiples zonas horarias. Si nuestro producto se lanza al mundo, para mantener el historial de eventos, debemos convertir todas las horas a nuestra hora local o UTC (Tiempo Universal Coordinado). Por lo que sé, muchos lenguajes de programación conocidos de C#, JavaScript, Java, etc., ofrecían la librería para convertir la fecha y la hora, es decir, con un nombre de zona horaria podemos convertir sin conocer la diferencia horaria.

La base de datos TZ no existe en los productos de InterSystems. En el pasado, escribí la función en C# (C# tiene una librería para esto) y la usé dentro de InterSystems como una clase contenedora.

Pero ahora, IRIS comenzó a ser compatible con Python Embebido. Por eso, podemos usar la conversión de zona horaria de Python en InterSystems fácilmente.

0 0
0 699
Artículo
· 23 ago, 2022 Lectura de 3 min
Generar y validar código CAPTCHA

Supongamos que has desarrollado tu propia aplicación web con las tecnologías de InterSystems y ahora quieres realizar una validación de Captcha en el lado del cliente para saber si el usuario es humano o no y hacerla más segura. Existen algunos frameworks modernos para abordar el problema de Captcha, pero la mayoría de ellos necesita acceso a Internet para generar códigos y, a veces, son complejos de implementar. Toma esto como un ejemplo básico, teniendo en cuenta que el reconocimiento de imágenes se ha vuelto demasiado bueno.

0 0
0 618

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 612
Artículo
· 25 feb, 2022 Lectura de 6 min
Enviando mensajes a Kafka

Hola!

Llevaba un tiempo queriendo dedicarle un rato para implementar alguna DLL o algo que pudiese usar desde Caché y al final he sacado un huequillo, si te interesa poder producir mensajes que se envíen a Kafka de una manera rápida estás en el lugar adecuado ;-)

Antes de daros la chapa con lo que vamos a ver os hago un resumen para que decidáis si os puede interesar leer el artículo.

En este artículo nos vamos a centrar "solo" en la parte de producir mensajes y enviarlos a Kafka:

22 0
0 605
Artículo
· 7 feb, 2022 Lectura de 1 min
Devolver un fichero para descargar en tu API REST

Si tu API REST necesita retornar un fichero para que el cliente lo descargue, puedes utilizar lo siguiente (extraído de la pregunta https://community.intersystems.com/post/download-file-rest y sus respuestas):

Set %response.ContentType = "image/jpeg"
Do %response.SetHeader("Content-Disposition","attachment;filename=""test.jpg""")
Set %response.NoCharSetConvert=1
Set %response.Headers("Access-Control-Allow-Origin")="*"

 

Set stream=##class(%Stream.FileBinary).%New()
Set sc=stream.LinkToFile("/opt/irisbuild/output/test.jpg")
Do stream.OutputToDevice()

 

Set tSC=$$$OK
0 0
0 532

Python se ha convertido en el lenguaje de programación más utilizado del mundo (fuente: https://www.tiobe.com/tiobe-index/) y SQL sigue siendo el líder como lenguaje para las bases de datos. ¿No sería genial que Python y SQL trabajaran juntos para ofrecer nuevas funcionalidades que SQL por sí mismo no puede? Después de todo, Python tiene más de 380.000 librerías publicadas (fuente: https://pypi.org/) con funciones muy interesantes para ampliar las consultas SQL dentro de Python.

En este artículo detallo cómo crear nuevos Procedimientos Almacenados de SQL en la base de datos de InterSystems IRIS usando Embedded Python.

2 1
1 462
Artículo
· 23 sep, 2022 Lectura de 4 min
IRIS y Python en la práctica - ¡con ejemplos!

En este artículo vas a encontrar un sencillo programa con Python en un entorno IRIS y otro sencillo programa con ObjectScript en un entorno Python. Además, me gustaría compartir algunos de los errores que tuve cuando empecé la implementación de estos códigos.

Python en entorno IRIS

Supongamos, por ejemplo, que estás en un entorno IRIS y quieres resolver un problema que crees más fácil o más eficiente de resolver en Python.

Puedes simplemente cambiar el entorno: crea tu método como cualquier otro, y al final del nombre y sus especificaciones, añade [ Language = python ]:

0 1
0 447
Artículo
· 11 feb, 2022 Lectura de 5 min
Cómo convertirse en un señor del tiempo - El nacimiento

El tiempo dirá, siempre lo hace.

El Doctor.

No es una tarea facil dominar fechas y horas, siempre es un problema y a veces confuso en cualquier lenguaje de programación, vamos a aclarar y a poner unos cuantos tips para que esta tarea sea lo mas sencilla posible.

Súbete a la TARDIS que te voy a convertir en un Señor del tiempo

Tardis

24 0
0 389
Artículo
· 14 dic, 2022 Lectura de 2 min
Cómo subir y descargar archivos a través de HTTP

En este artículo, mostraré cómo subir y descargar archivos vía http desde los productos de InterSystems.

A menudo desde la comunidad surgen preguntas sobre como trabajar con archivos a través de http y normalmente os emplazamos a revisar el proyecto FileServer, que muestra la subida/descarga de archivos. Pero me gustaría hablar un poco más de cómo podemos enviar y recibir archivos desde los productos de InterSystems.

0 1
0 315

He desarrollado una aplicación para importar de forma dinámica 12 conjuntos de datos junto con 43 tablas usando el comando LOAD DATA, que carga los datos de una fuente a una tabla SQL de IRIS.

Lista de los conjuntos de datos

0 0
0 307

En este artículo, crearemos una configuración de IRIS con alta disponibilidad utilizando implementaciones en Kubernetes con almacenamiento persistente distribuido en vez del "tradicional" par de mirror de IRIS. Esta implementación sería capaz de tolerar fallos relacionados con la infraestructura, por ejemplo, fallos en los nodos, en el almacenamiento y en la Zona de Disponibilidad. El enfoque descrito reduce en gran medida la complejidad de la implementación, a costa de un Tiempo Objetivo de Recuperación (RTO, Recovery Time Objective) ligeramente mayor.

0 1
0 287

Hace poco he empezado a utilizar más Docker Desktop en mi equipo con Windows 11, sobre todo junto con la extensión Remote - Containers de VS Code y el repositorio iris-python-template de @Guillaume Rongier

A veces el contenedor se inicia sin problemas, pero otras veces falla y reporta que no puede usar un puerto.

Al final, localicé el problema. Aparentemente, el servicio Windows NAT Driver utiliza un OS facility para reservar un gran rango de puertos.

0 0
0 283
Artículo
· 8 jun, 2022 Lectura de 4 min
Cómo hacer que Github ejecute tus pruebas unitarias

Hola desarrolladores!

Este es otro artículo para simplificar la vida de los desarrolladores. Hablamos de hacer que GitHub ejecute tus pruebas unitarias (unittest) con cada push que hagas a tu repositorio simplemente añadiendo un fichero. Gratis :). En GitHub Cloud. Suena genial, ¿no?

Es factible, y además muy sencillo. El mérito es para @Dmitry Maslennikov (y su repo), el gestor de paquetes ZPM y las GitHub Actions. Vamos a ver cómo funciona todo en conjunto.

Something for Nothing by Robert Sheckley - YouTube

0 0
0 264
Artículo
· 23 jun, 2022 Lectura de 7 min
Conector Power BI para InterSystems IRIS. Parte I

En un mundo en constante cambio, las empresas deben innovar para ser competitivas. Esto asegura que tomarán decisiones con agilidad y seguridad, aspirando a obtener buenos resultados con mayor exactitud.

Las herramientas de Business Intelligence (BI) ayudan a las compañías a tomar decisiones inteligentes en vez de confiar en la "prueba y error". Estas decisiones inteligentes pueden ser la diferencia entre el éxito y el fracaso en el mercado.

Microsoft Power BI es una de las herramientas de Business Intelligence líderes. Con unos pocos clics, Power BI permite a los gerentes y analistas explorar los datos de la compañía. Esto es importante porque cuando es fácil accceder y visualizar los datos, es más probable que se usen para tomar decisiones.


2 1
1 262

¡Hola desarrolladores! Quería compartir hoy un ejemplo muy interesante por parte de Tani Frankel. Se trata de una aplicación sencilla sobre la utilidad SystemPerfomance.

Repasando nuestra documentación sobre la rutina de monitorización ^SystemPerformance (conocida como ^pButtons en versiones anteriores a IRIS), un cliente me dijo «Entiendo todo esto pero ojalá fuese más simple, más sencillo para definir perfiles y gestionarlos, etc.».

Entonces pensé que sería interesante como ejercicio facilitar una pequeña interfaz para hacer esas tareas más sencillas.

El primer paso era envolver en una API basada en clases la rutina actual de ^SystemPerformance.

0 1
0 252

Iris-python-template

Proyecto de plantilla con varios códigos Python para ser utilizados con InterSystems IRIS Community Edition con contenedor.

Contenido:

  • Bloc de notas
    • Kernel de Python Embebido
    • Kernel de ObjectScript
    • Kernel de Vanilla Python
  • Python Embebido
    • Ejemplo de código
    • Demostración de Flask
  • API nativas de Python de IRIS
    • Ejemplo de código

Diagrama

2 0
1 240

¡Hola a todos!

En una reciente actualización de MessageViewer @Henrique Dias y yo propusimos una nueva manera de visualizar mensajes en IRIS Interoperability. En esa actualización, intentamos dar a los usuarios una visualización basada en un diagrama de secuencia UML. Tenéis más information en el artículo anterior.

Para conseguir los complicados cálculos geométricos necesarios para realizar ese diagrama, usamos mermaid, una extraordinaria librería JavaScript open source. Y lo que me gustaría compartir con vosotros en este artículo es cómo utilizar esa librería. Me centraré solo en el diagrama de secuencia, pero estad seguros de que la librería permite hacer mucho más.

Mermaid utiliza una sintaxis inspirada en Markdown para definir los diagramas. Es super intuitivo, por eso es mejor mostraros un ejemplo en lugar de escribir un montón de texto aburrido:

0 0
0 234

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

En ese artículo revisamos cómo crear y definir mensajes que se utilizan para enviar y recibir datos entre componentes.

En este artículo, explicaré cómo crear una business operation a partir de los métodos para crear componentes.

Revisaremos rápidamente el código al referirnos a la muestra.。

0 2
0 231

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

En ese artículo, expliqué cómo funciona el menú de Interoperabilidad para su integración en el sistema.

En este artículo, me gustaría explicar cómo desarrollar una integración de sistemas utilizando el menú de interoperabilidad.

En primer lugar, ¿qué tipo de proceso quieres crear? Mientras piensas en ello, prepara el siguiente contenido.

1 0
1 230

¡Hola comunidad!

Esta publicación es una introducción a mi aplicación iris-fhir-client en Open Exchange.

Usando Python embebido y con la ayuda de la librería fhirpy, iris-fhir-client puede conectarse a cualquier servidor FHIR abierto.
Obten información de recursos por terminal y mediante el uso de la aplicación web CSP.

0 0
0 220

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

En ese artículo revisamos los contenidos de la producción. Ejecutamos el código de muestra y revisamos el contenido de los mensajes que fluyen en la producción en la página de Visual Trace.

En este artículo revisaremos el concepto y la definición de los mensajes que se utilizan para enviar y recibir datos entre componentes desde el contenido de desarrollo necesario para la integración del sistema.

0 0
0 201