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 635
La Comunidad de desarrolladores de InterSystems es una comunidad de 17,719 desarrolladores increíbles
¡Somos un lugar donde los programadores de InterSystems IRIS aprenden y comparten, se mantienen actualizados, crecen juntos y se divierten!
Pregunta
· 15 nov, 2019
Servicio REST con Oracle SQL

Hola, recientemente comencé a programar servicios utilizando IRIS. y su bd Cache.

Debo realizar un servicio utilizando IRIS, pero con una conexión a oracle SQL.

Logré la conexión vía SQLGateway

Al momento de tener el procedimiento no me funciona dentro de iris

1 4
0 632

¡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 629
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 627

En Studio, podías abrir una clase directamente usando su nombre, sin tener que recorrer completamente el árbol de paquetes con un montón de clics hasta llegar a la clase deseada.

Con Ctrl + O o (File -> Open) podías escribir el nombre de la clase de forma sencilla, por ejemplo:

Pulsabas Enter y voilà!, la clase se abría.

¿Cómo se logra esto en VSCode?

1 0
0 623
Artículo
· 26 sep, 2021 Lectura de 8 min
¡Luchemos contra las máquinas!

https://media.giphy.com/media/Nxu57gIbNuYOQ/giphy.gif

Calma, calma, no estoy promoviendo una guerra contra las máquinas como en las películas de ciencia ficción, para evitar la dominación mundial de Ultron o Skynet.
Todavía no, todavía no 🤔

Os invito a retar a las máquinas a través de la creación de un juego muy sencillo usando ObjectScript con Python embebido.

1 1
0 577

Tengo una clase que parsea un XML para extraer toda la información. En este XML hay un atributo que tiene saltos de línea:

<record date="2021-08-11T14:25:21" entity="TEXTO"><OBSERVACIONES o="" n="Esto es un texto de prueba:
1. Contiene información importante
2. Es útil para el usuario
3. Sigue siendo una prueba"/></record>

Usando %XML.TextReader puedo acceder a toda la información del XML, pero esos saltos de línea se pierden. Esto es lo que obtengo:

0 2
0 572
Pregunta
· 11 mayo, 2020
Evolucion de MUMPS

Acabo de darme de alta en la Comunidad.

Soy, lo que hoy se denomina un Dinosaurio, en el ámbito de la llamada informática.

Hace ya años pasé a la jubilación, conservo una versión de Cache 5.2, (y una versión MSM V4), en la que conservo y añado los programas que se me ocurren para uso privado.

0 6
0 571
Artículo
· 30 mar, 2020 Lectura de 6 min
Depuración web

¡Hola Comunidad!

En este artículo hablaré sobre las pruebas y la depuración de las aplicaciones web de Caché (principalmente REST) con herramientas externas. La segunda parte trata sobre las herramientas de Caché.

Usted escribió el código del lado del servidor y quiere probarlo con un cliente, o ya tiene una aplicación web pero no funciona. Aquí es donde entra la depuración. En este artículo abarcaré desde las herramientas más fáciles de utilizar (el navegador), hasta las más completas (el analizador de paquetes), pero primero conversemos un poco sobre los errores más comunes y cómo pueden resolverse.

0 1
0 565

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 562
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 547

La interoperabilidad en la asistencia sanitaria es esencial para mejorar la atención a los pacientes, reducir los costes de los proveedores de atención médica y ofrecer una imagen más precisa a los proveedores. Pero con tantos sistemas diferentes, los datos se presentan en diferentes formatos. Se han creado muchos estándares para tratar de resolver este problema, incluyendo HL7v2, HL7v3 y CDA, pero cada una tiene sus limitaciones.

0 0
1 539

¡Hola a tod@s!

Hoy anunciamos el lanzamiento de un Área de Descargas para Desarrolladores, con las versiones completas de InterSystems IRIS Community Edition e InterSystems IRIS for Health Community Edition. Están disponibles de forma gratuita para su uso en el desarrollo de aplicaciones. Cualquiera puede usar este área, tan solo debe registrarse, no es necesario ser cliente.

0 0
0 522

Introducción

En algunos de mis artículos he hablado de tipos entre IRIS y Python, y está claro que no es tan fácil acceder a objetos de un lado a otro.

Afortunadamente, el trabajo ya se ha hecho, con la creación de SQLAlchemy-iris, que hace mucho más fácil para Python acceder a los objetos de IRIS, y voy a mostraros cómo funciona.

0 0
0 521

¡Hola a tod@s!

El desarrollo completo en JavaScript (Full-Stack) permite crear aplicaciones de última generación con Caché. En cualquiera de las aplicaciones (web) que se desarrollan hoy en día, hay que tomar muchas decisiones estructurales y debemos saber cuales son las decisiones correctas. Con el conector Node.js disponible para Caché, se puede crear un potente servidor de aplicaciones, que permitirá utilizar la última tecnología de JavaScript y marcos de aplicaciones (frameworks) tanto del lado del cliente como del servidor.

Con todas estas nuevas tecnologías, lo más importante es integrarlas de la manera más eficiente posible y que permitan generar una experiencia de desarrollo muy productiva. Este artículo pretende introducirte paso a paso en la tecnología Node.js.

1 0
0 513
Artículo
· 23 jul, 2019 Lectura de 5 min
Clases, tablas y globals - ¿Cómo funcionan?

¡Hola a tod@s!

Cuando hablo con alguien de perfil técnico por primera vez acerca de InterSystems IRIS, siempre comienzo hablando de que en el centro de todo InterSystems IRIS es una Base de Datos Multimodelo. En mi opinión, esta es la mayor ventaja (desde la visión de Sistemas de Bases de Datos), ya que:

  • ¿Quieres obtener un resumen o partes específicas de tus datos? Usa SQL!
  • ¿Necesitas trabajar de forma intensiva con un registro? Usa Objetos!
  • ¿Quieres establecer un valor y conoces la clave? Piensalo de nuevo. Usa globals!

Y en todos los casos, el dato está almacenado de forma única. ¡Tú eliges la manera en la que quieres acceder al mismo!!

De un primer vistazo es una bonita historia - corta, concisa y con un mensaje; pero cuando se empieza a trabajar con InterSystems IRIS, comienzan a surgir preguntas: ¿Cómo están relacionados las clases, las tablas y los globals? ¿Qué son cada uno para el otro? ¿Cómo se almacenan realmente los datos?

En este artículo voy a tratar de responder estas preguntas y explicar qué está pasando realmente.

2 3
0 511
Artículo
· 18 jun, 2019 Lectura de 14 min
API RESTful

¡Hola Comunidad!

Les dejo una guía para principiantes sobre todo lo que necesitan saber del diseño y la documentación de la Interfaz de programación para aplicaciones (API) RESTful. Mediante este ejemplo aprenderán algunos de los patrones más comunes de la API RESTful.

¡Espero que les sea útil!

1 0
0 505

Introducción

InterSystems IRIS 2020.1 incluye PEX (Production EXtension Framework), para facilitar el desarrollo de producciones de Interoperabilidad de IRIS con componentes escritos en Java o .NET.

Gracias a PEX, un desarrollador de integraciones con conocimientos Java o .NET puede beneficiarse de la potencia, escalabilidad y robustez del framework de Interoperabilidad de InterSystems IRIS, y ser productivo en muy poco tiempo.

0 1
0 480

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 477
Artículo
· 27 ago, 2019 Lectura de 11 min
Presentación de InterSystems API Manager

¡Hola a tod@s!

Como posiblemente haya oído, acabamos de presentar InterSystems API Manager (IAM); una nueva característica de InterSystems IRIS Data Platform™, que permite monitorizar, controlar y gobernar el trafico desde y hacia APIs basadas en web, dentro de su infraestructura de TI. En caso de que se lo haya perdido, aquí está el enlace al anuncio.

En este artículo, mostraré como habilitar IAM y resaltar algunas de las muchas capacidades a las que IAM permite sacar provecho.

0 0
0 463

¡Hola a todos!

Hoy instalaremos Jupyter Notebook y vamos a conectarlo con Apache Spark e InterSystems IRIS.

Nota: Los siguientes procedimientos los hice en Ubuntu 18.04 y Python 3.6.5.

Introducción

Si estás buscando un bloc de notas que sea reconocido, difundido ampliamente y muy popular entre los usuarios de Python, en lugar de utilizar Apache Zeppelin, deberías elegir Jupyter notebook. Jupyter notebook es una excelente y muy poderosa herramienta para la "ciencia de datos", que cuenta con una comunidad muy grande, además de muchas funciones y software adicional. Jupyter notebook permite crear y compartir documentos que contienen código en tiempo real, ecuaciones, visualizaciones y texto narrativo. Sus aplicaciones incluyen la limpieza y transformación de los datos, simulaciones numéricas, modelamiento estadístico, visualización de datos, machine learning y muchas funciones más. Y lo más importante, existe una gran comunidad que ayuda a resolver los problemas que surjan.

0 1
0 461
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 460