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 66
Artículo
· 19 jul, 2023 Lectura de 1 min
Qué es el SSO de InterSystems y cómo se utiliza

¡Hola Comunidad!

Probablemente habéis visto la abreviatura SSO en diferentes sitios web de InterSystems: la Comunidad, el Portal de Formación, Global Masters, etc. Significa Single Sign-On (Inscripción Única), es decir, que necesitáis un único nombre de usuario y contraseña para acceder a todos los recursos del Ecosistema para el Desarrollador de InterSystems.

0 0
0 67

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 48
Artículo
· 24 ene, 2024 Lectura de 2 min
Cómo obtener JSON de SQL

¿Sabíais que se pueden obtener datos JSON directamente de las tablas SQL?

Dejadme que os presente dos útiles funciones de SQL, que se utilizan para recuperar datos JSON de consultas SQL - JSON_ARRAY y JSON_OBJECT.

Podéis usar esas funciones en la sentencia SELECT con otros tipos de elementos de selección, y se pueden especificar en otras ubicaciones en las que se puede utilizar una función SQL, como en una condición WHERE.

0 1
1 200

Jornada atípica de la Quiniela esta semana, al no haber partidos de Primera División la Quiniela se forma con los de Segunda e internacionales:

La estimación para los partidos de Segunda será la siguiente:

Vaya...sólo victorias locales...algo me huele raro.

Veamos que nos dice para los partidos internacionales:

0 0
0 126
Artículo
· 19 jun, 2019 Lectura de 8 min
El arte de mapear Globals para Clases (2 de 3)

¿Alguno de ustedes desea traer de vuelta una antigua aplicación en MUMPS? Siga estos pasos para mapear sus globales ya establecidos para clases y mostrar todos esos hermosos datos en Objects y SQL

En este ejemplo se estudiarán 4 o 5 cosas diferentes más allá de lo que se cubrió en la Parte 1

Todo lo que falta por hacer después de esto, es el ejemplo del mapeo de padres e hijos, entonces irá por buen camino.

0 0
0 181

¡Hola a tod@s!

Este artículo es la continuación de mi artículo anterior, donde expliqué cómo es la estructura de una base de datos en Caché. En ese artículo describí los tipos de bloques, las conexiones que existen entre ellos y su relación con los globales. Como el artículo era completamente teórico, realicé un proyecto que ayuda a visualizar el árbol de bloques, y en este artículo explicaré su funcionamiento muy detalladamente.

0 0
0 642

Todo el mundo tiene un entorno para realizar pruebas.

Algunas personas tienen la suerte de tener un entorno totalmente separado para Producción.

-- Anónimo

.

En esta serie de artículos, me gustaría presentar y discutir varios métodos posibles para el desarrollo de software, con las tecnologías de InterSystems y GitLab. Trataré temas como:

  • Git 101
  • Git flow (development process)
  • Instalación de GitLab
  • Flujo de trabajo de GitLab
  • GitLab CI/CD (Integración Continua/Entrega Continua)
  • CI/CD (Integración Continua/Entrega Continua) con contenedores

En esta primera parte se abordará la piedra angular del desarrollo de software moderno - el sistema de control de las versiones de Git y varios flujos de Git.

0 0
0 568

¡Hola Comunidad!

Solo por diversión, creé un script de bash que genera archivos csv a partir de un archivo exportado %GOGEN.
(%GOGEN es la herramienta para exportar globales para Cache 5.xx)

Al principio creí que sería muy simple con bash, pero...
- si se quiere tener un encabezado en el archivo csv
- si se exportan con GOGEN más globales juntos, no solo uno
- si se desea un archivo csv para cada global/índice que tiene el global...

0 0
0 2K

A continuación veremos cómo mostrar una lista de métricas de ejemplo disponibles a través del servicio /api/monitor.

En el artículo anterior, echamos un vistazo al servicio que expone las métricas de IRIS en formato Prometheus. Veamos cómo configurar y ejecutar IRIS preview release 2019.4 en un contenedor y listar las métricas disponibles.

0 0
0 186

Nota (junio de 2019): han cambiado muchas cosas para obtener los detalles más recientes, haz clic aquí
Nota (septiembre de 2018): ha habido grandes cambios desde que esta publicación apareció por primera vez; sugiero que utilices la versión del contenedor en Docker dado que el proyecto y la información para que se ejecute como un contenedor sigue publicada en GitHub, en el mismo lugar, para que puedas descargarlo, ejecutarlo y modificarlo, si lo necesitas.

Cuando trabajo con clientes en revisiones de rendimiento, planificaciones de capacidad y resolución de problemas, con frecuencia tengo que descomprimir y revisar las métricas del sistema operativo y de caché desde pButtons. En vez de lidiar con los archivos html para cortar y pegar secciones que serán graficadas en Excel, hace algún tiempo escribí una publicación sobre una herramienta para descomprimir las métricas de pButtons, escrita con el intérprete de unix, perl y los scripts de awk. Si bien este es un valioso ahorro de tiempo, no es la historia completa…

0 0
0 86

Hola a todos! Os comparto hoy un artículo sobre la utilización del procesamiento de lenguaje natural y su combinación con FHIR donde se muestra un chatbot que interactúa con FHIR desarrollado por Renato Banzai.

¿Qué significa PLN?

PLN significa Procesamiento del Lenguaje Natural (NLP en inglés) y es un campo de la Inteligencia Artificial muy complejo que utiliza técnicas para, en pocas palabras, “entender de qué se está hablando”.

0 0
0 147

¡Hola Comunidad!

En este artículo, comparo las características de los principales líderes en Operational Database Management Systems (ODBMS) del cuadrante mágico de Gartner (2019). La lista está clasificada por número de características existentes.

  1. InterSystems IRIS 2020.3 - 58 características (https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls)
  2. Oracle Database 21c - 54 características (https://docs.oracle.com/en/database/oracle/oracle-database/index.html)
  3. Microsoft SQL Server - 45 características (https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15)
  4. AWS Aurora - PostgreSQL - 34 características (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Aurora...)

0 0
0 235
Artículo
· 20 abr, 2021 Lectura de 2 min
Docker - durabilidad ligera

Al trabajar desde casa durante estos "días de coronavirus", me faltan recursos.

  • no tengo ninguna máquina Linux disponible
  • espacio en disco limitado

Además, Docker Desktop (en Windows10) bloqueó de alguna manera los scripts de Durable %SYS como se describe aquí.
Investigando el caso, descubrí que se almacenaban muchos más datos de los que realmente necesitaba.
Así que diseñé mi durabilidad personalizada.

0 0
0 101
Artículo
· 27 mayo, 2021 Lectura de 8 min
IRIS en Astronomía

En este artículo voy a mostrar los resultados de una comparación entre IRIS y Postgress manejando datos Astronómicos.

Introducción

Desde siempre el cielo nocturno nos ha fascinado. Todos hemos soñado con las estrellas y la posibilidad de que haya vida en otros planetas.

0 0
0 145
Artículo
· 15 jul, 2021 Lectura de 5 min
Estadísticas sobre COVID-19 con InterSystems IRIS

¡Hola a todos!

Todos los días la universidad Johns Hopkins publica nuevos datos sobre el estado de la pandemia del coronavirus COVID-19.

Creé un sencillo panel de control con InterSystems IRIS Analytics usando InterSystems IRIS Community Edition en Docker, implementado en Kubernetes GCP, para mostrar los datos clave sobre el avance de la enfermedad.

Este panel de control es un ejemplo de como la información en formato CSV podría ser analizada con IRIS Analytics e implementada en Kubernetes GCP, con la forma de InterSystems IRIS Community Edition.

0 0
0 80

Posiblemente te hayas encontrado con esto y no supiste cómo evitarlo; o tal vez ni siquiera te diste cuenta...

Pero cuando se tienen componentes empresariales de la Producción de Interoperabilidad TCP (por ejemplo, un business service HL7), probablemente tienes (dependiendo de tu configuración de StayConnected) muchas entradas en el Registro de Eventos (Event log) de tipo Info. Cada entrada registraría una conexión o desconexión.

Por ejemplo:

0 0
0 105

InterSystems API Manager (IAM) es una nueva función de InterSystems IRIS que permite monitorizar, controlar y dirigir el tráfico hacia y desde las APIs web dentro de su infraestructura de TI. Si te perdiste el anuncio de su lanzamiento, puedes leerlo aquí. También puedes consultar este otro artículo.

En esta publicación, utilizaremos InterSystems API Manager para balancear la carga de una API.

En nuestro caso, tenemos 2 instancias de InterSystems IRIS con /api/atelier API REST que queremos publicar para nuestros clientes.

Hay muchas razones diferentes por las que podríamos querer hacer eso, como:

  • Equilibrio de carga para distribuir la carga de trabajo entre los servidores
  • Implementación azul-verde: tenemos dos servidores, uno "prod", otro "dev" y es posible que queramos cambiar entre ellos
  • Implementación de Canary: podríamos publicar la nueva versión solo en un servidor y mover el 1% de los clientes allí
  • Configuración de alta disponibilidad
  • etc.
0 0
0 121
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 188

Con el lanzamiento de InterSystems IRIS 2021.2 Preview y la nueva funcionalidad LOAD DATA, los conjuntos de datos se pueden añadir con Objectscript Package Manager (ZPM)

Medical Datasets contiene los siguientes 12 conjuntos de datos. Para tablas de conjuntos de datos y detalles de datos, echa un vistazo a la Demo online, usando SuperUser | SYS

0 0
0 55
Artículo
· 5 jul, 2022 Lectura de 1 min
Ejemplo de código para concatenar arrays JSON

ObjectScript no incluye ningún método por defecto para añadir un array JSON a otro. Este es un fragmento de código que utilizo y que es equivalente al método concat() de JavaScript.

Puedes llamarlo con cualquier número de argumentos para concatenarlos en un nuevo array. Si un argumento es un array dinámico, sus elementos serán añadidos. Si no, el argumento en sí será añadido.

0 0
0 199
Artículo
· 26 sep, 2022 Lectura de 2 min
Cómo depurar Business Operations

A veces necesitamos depurar una Business Operation (BO). El registro y seguimiento (trazas) funcionan, pero a veces quieres trabajar con una BO en tu sesión en el terminal local.

Así es como puedes hacerlo en cualquier sistema operativo.

Windows tiene una estupenda herramienta para depurar Business Operations - en modo Foreground. En ese modo, Windows ejecuta un terminal local con un job para la operación.

0 0
0 91

Esta es la tercera parte de una serie de artículos sobre migración desde las principales bases de datos del mercado a InterSystems IRIS. En esta parte, explicaré los pasos para migrar desde DB2.

Como describí en los anteriores artículos, actualmente hay varias opciones para hacer la migración. Sin embargo, las dos opciones más populares incluyen el uso de DBeaver (https://openexchange.intersystems.com/package/DBeaver) o SQLGateway. Explicaremos la primera opción aquí. La segunda opción fue explicada por @Robert Cemper en un excelente artículo: Migración de base de datos usando SQLgateway.

0 0
0 142
Artículo
· 30 dic, 2022 Lectura de 2 min
Integración de InterSystems con Node-RED

El concepto de desarrollo "low code" es cada vez más importante en todas las industrias. Y todo el que empieza con el desarrollo low code, se acabará encontrando inevitablemente con Node-RED. InterSystems IRIS es reconocido por su interoperabilidad y por eso debería ser accessible a través de Node-RED.

Para aquellos que no habéis oído hablar de Node-RED todavía: Node-RED es una herramienta de desarrollo Low-Code, basada en los llamados "nodos", que se organizan en flujos. Los nodos procesan los mensajes entrantes y los envían al siguiente nodo conectado. Debido a su gran comunidad, Node-RED ofrece una gran variedad de nodos para todo tipo de aplicaciones.

Conocido esto, sería muy útil tener un nodo que pudiera interactuar con InterSystems IRIS, ¿verdad? ¡Y eso es exactamente lo que he hecho!

0 0
0 65
Artículo
· 28 feb, 2023 Lectura de 2 min
DataPipe: un framework para la ingestión de datos

¡Hola a todos!

Comparto con vosotros una herramienta para la ingestión de datos que hemos utilizado en varios proyectos.

DataPipe es un framework de interoperabilidad para la ingestión de datos de forma flexible con InterSystems IRIS. Te permite recibir datos desde el exterior, normalizar y validar la información y finalmente realizar cualquier operación sobre tus datos.

0 0
0 132
Artículo
· 30 mar, 2023 Lectura de 1 min
Parámetro nombrado en SQL con Python

Quick Tips: Total Productive Maintenance

Los parámetros nombrados se pueden conseguir con SQLAlchemy :

from sqlalchemy import create_engine, text,types,engine

_engine = create_engine('iris+emb:///')

with _engine.connect() as conn:
    rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
    print(rs.all())

o con api nativa

from sqlalchemy import create_engine, text,types,engine

# set URL for SQLAlchemy
url = engine.url.URL.create('iris', username='SuperUser', password='SYS', host='localhost', port=33782, database='FHIRSERVER')

_engine = create_engine(url)

with _engine.connect() as conn:
    rs = conn.execute(text("select :some_private_name"), {"some_private_name": 1})
    print(rs.all())

0 0
0 78