Artículo
· 22 feb, 2023 Lectura de 2 min
Devolver valores con Python

Por qué he decidido escribir esto

En 2022, publiqué un artículo sobre Python Embebido para principiantes. En ese artículo me preguntaron cómo devolver valores con Python. Respondí a la pregunta y, además, me ha parecido interesante escribir un pequeño artículo sobre el tema. Así también espero llegar a más gente con esta publicación.

1 0
0 277
Artículo
· 16 jun, 2020 Lectura de 9 min
Logging usando macros en InterSystems Caché

En mi anterior artículo, revisamos los posibles casos de uso para macros, así que pasemos ahora a un ejemplo más completo de usabilidad de macros. En este artículo diseñaremos y crearemos un sistema de registro.

Sistema de registro

El sistema de registro es una herramienta útil para monitorear el trabajo de una aplicación que ahorra mucho tiempo durante la depuración y el monitoreo. Nuestro sistema constaría de dos partes:

  • Clase de almacenamiento (para registros de anotaciones)
  • Conjunto de macros que agregan automáticamente un nuevo registro al registro

2 1
0 181

Estimados miembros de la Comunidad.

Una problemática muy común en muchos usuario es el uso de una base de datos externa como entrada de datos a una producción de IRIS. Como ya sabréis tenemos dos métodos de conexión directas a bases de datos externas desde IRIS, la primera es mediante ODBC y la segunda es recurriendo a una conexión vía JDBC.

En nuestro ejemplo procederemos a realizar una conexión mediante JDBC y para ello montaremos un pequeño proyecto en Docker para que podáis jugar con ello cuanto queráis.

2 0
0 210
Artículo
· 17 feb, 2023 Lectura de 2 min
Lleva tus pruebas unitarias al siguiente nivel

¡Hola Comunidad

Es el momento de llevar vuestras pruebas unitarias al siguiente nivel, con la nueva funcionalidad iris-TripleSlash!

Simplemente añade una descripción a la clase, con etiquetas especiales como:

  • beforeAll
  • beforeOne
  • afterAll
  • afterOne

TripleSlash lo convertirá en:

  • OnBeforeAllTests
  • OnBeforeOneTest
  • OnAfterAllTests
  • OnAfterOneTest

¡Y eso no es todo! La nueva abreviatura punto doble permite llamar métodos fácilmente y simplificar el código, por ejemplo:

1 0
0 63
Artículo
· 16 feb, 2023 Lectura de 6 min
Columnar Storage en 2022.3

Como recordaréis, en el Global Summit de 2022 y en el webinar de lanzamiento de la versión 2022.2, presentamos una nueva e interesante funcionalidad para incluir en las soluciones analíticas de InterSystems IRIS. Columnar Storage introduce una forma alternativa de almacenar los datos de las tablas SQL, que ofrece un aumento significativo en la velocidad de las consultas analíticas. Lanzada por primera vez como funcionalidad experimental en 2022.2, la última versión de prueba en 2022.3 incluye numerosas actualizaciones que pensamos merecen una publicación aquí.

1 0
0 81

cAdvisor (abreviatura de contenedor Advisor) analiza y muestra el uso de recursos y los datos de rendimiento desde los contenedores en ejecución. cAdvisor ya viene preparado para publicar métricas en formato Prometheus.

https://prometheus.io/docs/guides/cadvisor/

Prometheus está integrado en SAM. Esto permite aprovechar las métricas de cAdvisor y mostrarlas a través de Prometheus y Grafana.

0 1
0 271
Artículo
· 9 feb, 2023 Lectura de 4 min
iris-tripleslash - ¡Toquemos juntos!

Hola a todos,

Aquí estamos de nuevo. Nuevo año, nuevo concurso, nuevo proyecto, viejos motivos.

¡Triple Slash ya está en casa!

https://giphy.com/embed/9DcCadyT2FwSvoJJjr
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

https://giphy.com/embed/3o6nV6E62JKoPRQLcc
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

https://giphy.com/embed/zdg7ZNmbk9ZD2
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

0 2
0 71
Artículo
· 5 feb, 2023 Lectura de 2 min
COS Url Shortener - Acortador de URL's

Hola Comunidad!

Quiero compartir con vosotros mi primera aplicación del Open Exchange.

Es una herramienta para hacernos los desarrollos mas fáciles. Es un microservicio con IRIS en un docker que nos ayuda en los desarrollos de campañas de SMS, Mail y en los links para las tiendas de nuestras apps brindándonos un acortador de Url's.

Es muy fácil de usar.

Simplemente clona este repo:

https://github.com/daniel-aguilar-garcia/cos-url-shortener.git

1 2
0 160
Artículo
· 8 feb, 2023 Lectura de 3 min
Leyendo archivos Excel usando Python Embedded

Python Embedded es una gran herramienta considerando la simpleza y gran cantidad de librerías disponibles, así como una gran comunidad de desarrolladores con toneladas de ejemplos y documentación.

En el siguiente ejemplo les presento una solución para un problema común utilizando Python y ObjectScript.

Un caso de uso muy común es recuperar data desde planillas excel y poblar un objeto persistente en nuestro modelo en IRIS.

para esto utilizaremos pandas, una popular librería Python que nos permite trabajar con DataFrames

1 0
0 178
Artículo
· 4 feb, 2023 Lectura de 2 min
Cómo desplegar tu producción de la forma más sencilla

Por lo general, si desea implementar una solución, debe agregar los elementos, configurar sus tablas de búsqueda y la configuración predeterminada manualmente.
Está bien si tiene todos los permisos y privilegios para realizar estas acciones. Si desea implementar en el servidor de producción de un cliente y no tiene los permisos, debe indicar en un documento TODOS los pasos que debe realizar el administrador de implementación.

1 2
0 89

Hola Desarrolladores!

"objectscript.conn" :{
      "ns": "IRISAPP",
      "active": true,
      "docker-compose": {
        "service": "iris",
        "internalPort": 52773
      }

Quiero compartir con vosotros una estupenda nueva funcionalidad que he descubierto en la nueva versión 0.8 del plugin de VSCode ObjectScript desarrollado por @Dmitry Maslennikov y CaretDev.

La versión viene con un nuevo parámetro de configuración: "docker-compose"; que resuelve el problema con los puertos que necesitas para conectar tu editor VSCode a IRIS. No era muy cómodo si tenías más de un contenedor docker con IRIS corriendo en la misma máquina. Ahora ¡esto está resuelto!

Veamos como funciona ahora...

0 1
0 175
Artículo
· 28 jul, 2022 Lectura de 3 min
Consejos y trucos del nuevo comando LOAD DATA

Estos días he estado trabajando con la excelente y nueva funcionalidad: LOAD DATA. Con este artículo me gustaría compartir mis primeras experiencias con todos. Los siguientes puntos no contienen ningún orden ni ningún otro análsis. Son solo cosas que observé al utilizar el comando LOAD DATA. Y se debe tener en cuenta que estos puntos se basan en la versión 2021.2.0.617 de IRIS, que es una versión de prueba.

0 1
0 187

¡Hola Comunidad!

Si alguno de vosotros habéis pasado la Certificación Oficial de InterSystems, podéis tener un elegante tick verde en el avatar de vuestro perfil, así:

Y podéis añadir vuestras certificaciones a vuestro perfil, para que todo el mundo sepa todo lo que sabéis.

Para añadir las certificaciones a vuestro perfil, solo tenéis que seguir estos sencillos pasos:

1️⃣ Ir a vuestro perfil en la Comunidad

2️⃣ Ir al apartado Certificaciones de InterSystems, a la izquierda

3️⃣ Hacer clic en el botón Cargar mis certificaciones

¡Y eso es todo!

0 0
0 69
Artículo
· 30 ene, 2023 Lectura de 3 min
Demo de OCR

OCR DEMO

Esta es una demo de la funcionalidad OCR utilizando la librería pero-ocr de Python.

Utilizaremos la librería en una instancia InterSystems IRIS.

Demo

Este es un ejemplo de los datos de entrada:

input

Y este es el resultado del OCR, donde tenemos la siguiente información:

2 0
1 90
Artículo
· 20 ene, 2023 Lectura de 5 min
Tutorial de IntegratedML

La funcionalidad IntegratedML de InterSystems IRIS se utiliza para obtener predicciones y probabilidades mediante el uso de la técnica AutoML. AutoML es una tecnología de Machine Learning utilizada para seleccionar el mejor algoritmo/modelo de Machine Learning para predecir el estado, los números y los resultados generales basados en los datos pasados (datos utilizados para entrenar el modelo AutoML). No necesitas un científico de datos, porque AutoML probará los algoritmos de Machine Learning más comunes y seleccionará el mejor algoritmo para ti, basado en las características de los datos analizados.

InterSystems IRIS incorpora un motor AutoML, pero también permite utilizar H2O y DataRobot. En este artículo mostraré los pasos para utilizar el motor AutoML de InterSystems.

2 5
0 100

Por qué he decidido escribir esto

Recientemente tuve el reto de crear un método de autenticación seguro para autorizar el acceso a algunos datos, pero desafortunadamente no tenía ninguna experiencia con esas configuraciones de seguridad y sentí que me faltaban algunos conceptos básicos para entender mejor la documentación oficial.

Después de estudiar y lograr entregar las clases que me pidieron hacer, me gustaría compartir un poco de mi nuevo conocimiento, que me ayudó a seguir los temas de la documentación.

Empezando por lo básico: la santísima trinidad de los servidores

Primero, es importante entender de qué estamos hablando exactamente. En general, tenemos datos que pueden ser sensibles, o por cualquier razón necesitan protección. Hay personas (usuarios) que podrán verlos, otras podrán cambiarlos y otras no tendrán ningún tipo de acceso. Para ocuparse de los usuarios, el acceso y los datos, tendremos tres servidores: el del cliente, el de recursos y el de autorización.

0 0
0 122

¡Hola desarrolladores!

Python tiene un ecosistema muy extenso y potente que contiene miles de librerías y paquetes disponibles, especialmente en Data Science.

Por ello, quería hacer un primer intento de usar la funcionalidad Python Embebido para, de forma sencilla, importar una librería de Python llamada datetime, generar datos con un componente timestamp y persistirlo en InterSystems IRIS for Health. También funcionará en InterSystems IRIS.

0 0
0 154

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 491

¡Hola desarrolladores!

Supón que tienes una clase persistente con datos y quieres tener una interfaz de usuario Angular sencilla, para ver los datos y llevar a cabo operaciones CRUD.

En este artículo describíamos cómo desarrollar una interfaz de usuario Angular para InterSystems IRIS utilizando RESTForms2.

A continuación vamos a explicar cómo conseguir una interfaz de usuario Angular sencilla que permita realizar operaciones CRUD y ver automáticamente los datos de tu clase de InterSystems IRIS en menos de 5 minutos.

¡Vamos!

0 1
0 247

Continúo la descripción del trabajo usando el módulo openhl de Python en producción.

Como la versión de IRIS con Python Embebido, aún no ha sido liberada, ya es necesario usarlo en producción ahora. Decidimos hacer una copia de seguridad del servicio para exportar consultas a un archivo xlsx en un servidor aparte, y guardar el resultado de la consulta en un global en una base de datos separada.

0 0
0 65
Artículo
· 18 ene, 2023 Lectura de 1 min
IRIS y Jupyter - La versión sencilla

En la Comunidad de Desarrolladores hay muchos artículos interesantes que muestran cómo utilizar Jupyter e InterSystems IRIS juntos, y os animo a echarles un vistazo - al final de esta publicación tenéis un enlace a los artículos.

Este es otro de esos artículos. La diferencia con los otros está en la sencillez. ¿Solo quieres iniciar un contenedor en el que Jupyter ya está conectado a una instancia de IRIS? ¡Entonces esto es para ti!

Solo con ejecutar docker-compose up ya podrás acceder a un entorno de trabajo con un par de ejemplos.

0 0
0 85

Schematron es un lenguaje de validación basado en reglas para hacer aserciones/afirmaciones sobre la presencia o ausencia de ciertos patrones en documentos XML. Un Schematron se refiere a una colección de una o más reglas que contienen pruebas. Los Schematron están escritos en una forma de XML, lo que los hace relativamente fáciles de inspeccionar, comprender y escribir para todos, incluso los que no son programadores.

0 0
0 252
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 96
Artículo
· 12 ene, 2023 Lectura de 11 min
Cómo depurar el código ObjectScript con VS Code

Visual Studio Code (VS Code) es el editor de códigos más popular del mercado. Fue creado por Microsoft y distribuido como IDE gratuito. VS Code es compatible con docenas de lenguajes de programación, incluido ObjectScript.

Hasta 2018, Atelier (basado en Eclipse), se consideraba una de las principales opciones para desarrollar los productos de InterSystems. Sin embargo, en diciembre de 2018, cuando la Comunidad de Desarrolladores de InterSystems lanzó el soporte para VSCode, una parte relevante de los profesionales de InterSystems comenzaron a utilizar este editor y lo siguen haciendo desde entonces, especialmente los desarrolladores que trabajan con nuevas tecnologías (Docker, Kubernetes, NodeJS, Angular, React, DevOps, Gitlab, etc.).

Algunas de las mejores características de VSCode son las funciones de depuración. Por eso, en este artículo mostraré en detalle cómo depurar un código ObjectScript, incluido el código de clase y el código %CSP.REST.

3 0
0 225

Todos los desarrolladores hemos cometido alguna vez el error de accidentalmente dejar código temporal de depuración en lugar de eliminarlo al finalizar lo que estamos investigando.

Lo interesante de escribir en ObjectScript es que hay una forma de hacer que el código provisional sea realmente provisional y se auto-destruya automáticamente! Incluso puede hacerse de manera que el código no aparezca en tu sistema de control de código fuente, lo que puede ser útil igualmente.

El secreto radica en utilizar el "intermediate code" (.INT), que se genera cuando se compilan clases (.CLS), código de rutina (.MAC) o páginas CSP (.CSP). El código INT se utiliza entonces para crear el código OBJ, que es el que finalmente se ejecuta.

1 1
0 94
Artículo
· 2 ene, 2023 Lectura de 5 min
Plantilla de Python Embebido

¡Hola desarrolladores!

Comparto con vosotros una plantilla de Python Embebido básica, que recomiendo como punto de partida para cualquier proyecto general con InterSystems IRIS que use Python Embebido.

Funcionalidades:

  • Python Embebido configurado;
  • 3 ejemplos con difentes formas de desarrollar con Python Embebido;
  • VSCode configurado;
  • Docker disponible;
  • Demo online disponible;
  • Desarrollo ZPM First disponible.

Vamos a comentar estas funcionalidades.

2 0
0 107
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 dic, 2022 Lectura de 4 min
Unas cuantas cajas y una visión

   

Hace unos meses hablábamos Jose y yo sobre el vídeo Servicios de datos inteligentes (Visión & Demo), realizado por @Amir Samary y, durante la charla, empezamos a preguntarnos qué tipo de características sería bueno incluir en las futuras soluciones de IRIS.

Una de las funcionalidades con las que sería bueno contar es una solución iPaaS para IRIS, como le pregunté a Amir en este comentario.

Estos últimos meses he tenido la oportunidad de trabajar con diferentes proyectos y tecnologías, así como familiarizarme con aplicaciones como Tray.io o Workato, y ahora puedo ver lo increíble que sería tener una solución iPaaS para IRIS.

0 0
0 63