Artículo
· 6 sep, 2021 Lectura de 2 min
InterSystems ObjectScript 101++

Desde hace ya algunos años he echado en falta poder ofrecer, a todos los que se interesan por ObjectScript, un tutorial más o menos completo de iniciación a ObjectScript. Algo que pueda ayudar más y facilitarles las cosas a esos nuevos desarrolladores que se acercan a nuestra tecnología... algo intermedio, a medio camino entre el típico "Hola Mundo", que no te permite ir mucho más allá, y el "Curso Avanzado de Programación", que te resulta imposible por carecer de tiempo o medios.

Si existiese algo que de verdad sirviera no sólo como introducción al ecosistema, sino cómo empujón y punto de partida para empezar a hacer cosas de verdad en ObjectScript y avanzar por ti mismo... ¿no sería estupendo?

8 3
0 505

¡Hola Comunidad!

Creo que hoy en día todo el mundo guarda el código fuente de sus proyectos en repositorios como Github, GitLab, bitbucket, etc. Lo mismo sucede con proyectos de InterSystems IRIS, se pueden ver algunos ejemplos en Open Exchange.

¿Qué hacemos cada vez que empezamos o continuamos nuestro trabajo con un repositorio en particular con la plataforma de datos InterSystems?

3 1
1 887

¡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 131

Os voy a mostrar cómo podéis montaros en vuestra máquina, muy rápidamente, un cluster de nodos InterSystems IRIS en sharding. En este artículo no es mi objetivo hablar del sharding en detalle, ni definir una arquitectura de despliegue para un caso real, sino enseñaros como podéis montar de forma rápida, en vuestro equipo, un cluster de instancias de IRIS en sharding con el que poder jugar y hacer pruebas. Si estáis interesados en indagar más sobre el sharding en IRIS, podéis echar un vistazo a la documentación pinchando aquí.

Vaya por delante que la tecnología sharding de IRIS nos va a permitir 2 cosas de inicio:

  • Definir, cargar y consultar tablas fragmentadas o shards, cuyos datos serán distribuidos transparentemente entre los nodos del cluster
  • Definir tablas federadas, que ofrecen una vista global y compuesta de datos pertenecientes a tablas distintas y que, fisicamente, están almacenadas en distintos nodos distribuidos.

Así que , lo dicho, dejamos para otros artículos el tema de jugar con shards o con tablas federadas, y nos centramos ahora en el paso previo, esto es, en montar el cluster de nodos en sharding.

2 2
0 52

Hola desarrolladores:

Al observar la avalancha de herramientas de desarrollo impulsadas por IA y al estilo vibe coding que han estado apareciendo últimamente casi cada mes, con funciones cada vez más emocionantes, me preguntaba si sería posible aprovecharlas con InterSystems IRIS. Al menos para construir un frontend. Y la respuesta es: ¡sí! Al menos con el enfoque que seguí en este ejemplo.

Aquí tenéis mi receta para crear la interfaz de usuario mediante prompts frente al backend de InterSystems IRIS:

  1. Tened una API REST en el lado de IRIS, que refleje una especificación Open API (swagger).
  2. Generad la interfaz de usuario con cualquier herramienta de vibe coding (por ejemplo, Lovable) y apuntad la interfaz al endpoint de la API REST.
  3. ¡Y listo!

Aquí tenéis el resultado de mi propio experimento: una interfaz 100 % generada por prompts frente a la API REST de IRIS, que permite listar, crear, actualizar y eliminar entradas de una clase persistente (Open Exchange, código del frontend, vídeo).

¿Cómo es la receta en detalle?

2 0
0 23
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 145

Estaba buscando la forma mas simple de conectar desde el visual studio code a mi instancia local por el terminal sin tener que ir cambiando de ventana.

Soy consciente de que esto tambien se puede conseguir por telnet pero me parece complicar la cosa para conectarme a mi local.

La solución mas sencilla me ha parecido navegar a la carpeta /bin de la instalación (o añadirla al PATH), y ejecutar .\csession.exe NOMBREDEINSTANCIA.

2 0
0 268
Artículo
· 15 jul, 2020 Lectura de 4 min
Historia del proyecto isc-tar

¡Hola desarrolladores!

Aquí podéis ver el anuncio del proyecto isc-tar de @Dmitriy Maslennikov. En ocasiones, la historia de porque se ha llegado a un resultado es igual o más interesante que el resultado: cómo se construyó, cómo funciona y qué sucede en torno al proyecto. Esta es la historia:

  • Cómo desarrollar este proyecto
  • Cómo probarlo
  • Cómo lanzar nuevas versiones para publicar
  • Cómo automatizar todo lo anterior
  • Integración continua

Os hablaré de todo eso.

1 0
0 129

¡Hola, compañeros desarrolladores en InterSystems IRIS!

A menudo me preguntan, especialmente en relación con los bonus técnicos que incentivamos en cada concurso de Open Exchange, por qué siempre damos bonus por Docker, IPM y por aprobar ObjectScript Quality.

En realidad, es muy fácil de responder.

7 Life Hacks Guaranteed To Make Your Life Easier - everymum

1 0
0 46

¡Hola desarrolladores!

Cuando desarrollas con ObjectScript Package Manager, un aspecto crucial es la versión del paquete, que situamos en el fichero module.xml. Cuando añadimos cambios al paquete y estamos listos para publicar una nueva versión del paquete en el registro, también necesitamos aumentar el número de versión. Esto está claro, pero es un poco molesto, y a menudo podemos olvidarnos de hacerlo.

Este breve artículo os ayudará a automatizar ese proceso.

Probot logo

1 0
0 221

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 943

¡Hola colegas!

A menudo, durante el desarrollo de una aplicación frontend o cualquier otro tipo de comunicación vs API REST, vale la pena tener una Swagger UI - una interfaz de usuario de prueba para la API REST que sigue la especificación Open API 2.0. Por lo general es de gran ayuda, ya que permite, todo en uno, hacer pruebas manuales rápidas vs API REST, con sus respuestas y todos los datos.

Recientemente he introducido el soporte Swagger en la plantilla InterSystems IRIS FHIR para la API FHIR R4:

¿Cómo hacerlo funcionar?

1 0
1 33

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 125

Esta vez quiero hablar de algo que no es específico de InterSystems IRIS, pero que creo que es importante si quieres trabajar con Docker y tu máquina de trabajo es un PC o portátil con Windows 10 Pro o Enterprise.

Como probablemente sabes la tecnología de contenedores viene básicamente del mundo Linux y, a día de hoy, es en los hosts que corren Linux donde pueden mostrar su máximo potencial. Los que usamos Windows vemos que tanto Microsoft como Docker han hecho grandes esfuerzos estos últimos años y nos permiten correr contenedores Linux en nuestro sistema Windows de una manera muy sencilla... pero no está soportado para entornos productivos y, aquí viene el gran problema, no es fiable si queremos mantener persistencia de datos fuera del contenedor, en el sistema host,... debido principalmente a las importantes diferencias entre los sistema de archivos de Windows y Linux. Al final el propio Docker for Windows utiliza una pequeña máquina Linux virtual (MobiLinux) sobre la que realmente se levantan los contenedores.... lo hace de forma transparente para el usuario de windows... y de hecho funciona muy bien hasta que, como digo, quieren hacer que tus bases de datos sobrevivan más allá de la vida del contenedor...

En fin,... que me enrollo,... el caso es que muchas veces, para evitar problemas y simplificar, lo que se precisa es de un sistema Linux completo... y, si nuestra máquina es Windows, la única forma de tenerlo es vía una máquina virtual. Al menos hasta que salga WSL2 en Windows 10 en unos meses, pero eso es otra historia.

En este artículo te voy a contar, paso a paso, como instalar un entorno en el que puedas trabajar con contenedores Docker sobre un Ubuntu en tu servidor Windows. Vamós allá...

1 3
0 8.2K
Artículo
· 28 oct, 2021 Lectura de 2 min
Generadores de documentación estática

¡Hola comunidad!

En el pasado, la documentación técnica del código fuente y de los productos de software se generaba en archivos chm, pdf y generadores de documentación de los propios lenguajes de programación. Este enfoque antiguo tenía las siguientes limitaciones:

  1. Documentación obsoleta,
  2. Documentación no interactiva y difícil de consultar,
  3. Diseño poco amigable y que no se adhiere a HTML,
  4. Imposibilidad de personalizar el diseño de los documentos,
  5. Imposibilidad de tener documentación en HTML 5 online y offline.
  6. Falta de soporte a Markdown.

Hoy en día, existen varias soluciones de generación de documentación que producen Portales de Documentación Web muy atractivos, interactivos y con opciones estáticas y dinámicas, con soporte total para HTML 5 y más recientemente Markdown.

Consulta la tabla con las opciones de código abierto más populares:

0 0
0 282
Artículo
· 24 jul, 2020 Lectura de 2 min
Herramienta de compresión tar en ObjectScript

¡Hola desarrolladores!

Estoy seguro de que la mayoría de vosotros ya conoceis la posibilidad de usar GZIP en los productos de InterSystems. Pero el problema es que GZIP trabaja con un único archivo o flujo de datos, y no admite carpetas. Al trabajar con sistemas Unix, es posible solucionarlo con la herramienta de compresión tar, incluida en cada sistema Linux de forma predeterminada. Pero ¿qué hacer si debemos trabajar también en Windows, que no lo incluye?

Me alegra poder enseñaros el nuevo proyecto, isc-tar, que os ayudará a no preocuparos del sistema operativo y os permitirá gestionar los archivos tar en cualquier sitio.

0 0
0 106
Artículo
· 9 dic, 2021 Lectura de 7 min
Codespaces de GitHub con IRIS

¡Hola a todos! Comparto hoy con vosotros un artículo muy interesante de Dmitry Maslennikov acerca de una nueva funcionalidad de GitHub llamada GitHub Codespaces. Permite ejecutar VSCode en el navegador, con casi la misma potencia con la que se ejecutaría de forma local en tu equipo, pero con la potencia de la nube, por lo que podrás elegir el tipo de equipo con hasta 32 núcleos de CPU y 64 GB de RAM.

Parece impresionante, ¿verdad? Pero, ¿cómo nos podría ayudar a trabajar con proyectos realizados con InterSystems IRIS? Vamos a ver cómo configurarlo.

0 1
0 235

Una solución de control de versiones eficaz permite a las organizaciones gestionar bases de código complejas, facilitar una colaboración sin fisuras dentro de los equipos de desarrollo y agilizar los procesos de despliegue.

0 0
0 69
Artículo
· 29 dic, 2021 Lectura de 1 min
VSCode-ObjectScript en GitHub

No hace mucho GitHub introdujo una nueva funcionalidad que permite ejecutar muy rápidamente VSCode en el navegador para cualquier repositorio alojado allí. Haz clic en la tecla . en cualquier repositorio o pull-request, o intercambia .com con .dev en la URL, para ir directamente a un entorno VS Code en tu navegador.

github dev

Este VSCode es una versión light de la versión de escritorio, pero funciona totalmente en el navegador. Debido a esto, están limitadas las extensiones permitidas para trabajar así.

Aquí podemos utilizar la flamante nueva versión 1.2.1 de la extensión VSCode-ObjectScript , que ahora puede ser ejecutada en modo Navegador.

0 1
0 221
Artículo
· 23 dic, 2020 Lectura de 1 min
Cómo analizar el tiempo que dedicas a programar

¡Hola Comunidad!

Yo utilizo un excelente servicio para recoger el tiempo que dedico a programar. Es el WakaTime: https://wakatime.com/.

Este servicio se integra con la mayoría de los IDEs, incluyendo VSCode, y recoge el tiempo dedicado por proyecto, lenguaje, IDE... y estadísticas de código general. Mira mis últimos 7 días:

Esta información me ayuda a organizarme y equilibrar mis objetivos por proyecto.

0 0
0 347

Para aquellos a los que, en un momento dado, necesitan probar cómo va eso del ECP para escalabilidad horizontal (cómputo y/o concurrencia de usuarios y procesos), pero les da pereza o no tienen tiempo de montar el entorno, configurar los nodos, etc..., acabo de publicar en Open Exchange la aplicación/ejemplo OPNEx-ECP Deployment .

0 0
0 217
Artículo
· 1 oct, 2024 Lectura de 2 min
El mismo terminal de siempre pero en web

Hemos tenido Webterminal disponible durante bastante tiempo, pero era limitado, no todas las funciones funcionaban allí. No había soporte para shell ni para la última funcionalidad de soporte integrado de Python. Hay algunos problemas con las herramientas que requieren el modo de programador. La autenticación básica no es tan práctica como una simple página de inicio de sesión, donde podríais tener opciones para agregar vuestra propia página de login, en caso de que deseaseis cambiar la forma de iniciar sesión en la aplicación, como por ejemplo usando SSO (inicio de sesión único).

Con el terminal Iris original, envuelto en un formulario web y utilizando xterm.js, una de las herramientas más usadas en el mundo web, como en VSCode, junto con algo de magia de Python, que ayudó con la comunicación interprocesos tty, podemos llevar el terminal a la web con todas sus capacidades.

iTerm

0 0
0 76