¡Hola Comunidad!

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
  • El flujo de Git (proceso de desarrollo)
  • La instalación de GitLab
  • Flujo de trabajo con GitLab
  • Entrega continua
  • Instalación y configuración de GitLab
  • Integración Continua/Entrega Continua (IC/DC) de GitLab

1 0
0 1K

¡Hola a tod@s!

En esta segunda publicación sobre los principios básicos de los contenedores, echaremos un vistazo a los contenedores basados en imágenes.

Un contenedor basado en imágenes es simplemente la representación binaria de un contenedor.

Un contenedor en ejecución o simplemente un contenedor es el estado de ejecución relacionado con el contenedor basado en imágenes.

1 0
0 775

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 624
Artículo
· 14 nov, 2019 Lectura de 15 min
Despliegue de aplicaciones con %Installer
¡Hola Comunidad!

Suponga que desarrolló su propia aplicación con la tecnología de InterSystems y ahora quiere realizar varias implementaciones en sus distintos clientes. Durante el proceso de desarrollo usted escribió una guía de instalación detallada para aplicarla, ya que no solo necesita importar clases, también configurar el entorno de acuerdo a sus necesidades.

Para atender esta tarea específica, InterSystems creó una herramienta especial llamada %Installer. Siga con la lectura para saber cómo utilizarla.

0 0
0 380

Esta publicación es la traducción de un artículo que publicó mi compañero Murray hace un tiempo. Durante mi trabajo en soporte la he recomendado muchas veces, pues lo que aquí se explica es bastante común y los ejemplos que se dan pueden ayudar a muchos de vosotros.

0 0
0 347

¡Hola a tod@s!

En esta serie de artículos me gustaría presentar y discutir varios enfoques posibles para desarrollar software mediante las tecnologías de InterSystems y GitLab. Abordaré temas como:

0 0
0 204
Artículo
· 11 feb, 2022 Lectura de 4 min
Migración de Ensemble a IRIS for Health

Hasta hace no mucho, todos los entornos con los que trabajábamos eran Ensemble 2017.2. Pero recientemente hemos migrado todos los entornos a la versión 2021.1 de IRIS for Health. Ha sido un camino complicado, pero tras analizarlo detenidamente, encontramos la forma de conseguirlo.

Contamos con un servidor de desarrollo y dos servidores en producción en mirroring, en modo Failover. Tenemos más de 40 Namespaces dando servicio, unos con integraciones HL7, otros con servicios Soap, servicios Rest, procesado de archivos... un poco de todo. Necesitábamos estar seguros de que la migración a IRIS no iba a suponer un problema y sobre todo, evitar a toda costa un corte de servicio. Así que lo primero que teníamos que hacer era establecer un plan.

5 0
0 197

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 192
Artículo
· 14 ene, 2022 Lectura de 6 min
Configuración del entorno con config-api

Hola desarrolladores,

Escribir un script para el despliegue de una aplicación puede ser muy interesante para garantizar un despliegue rápido sin olvidarse de nada.
config-api es una biblioteca para ayudar a los desarrolladores a escribir scripts de configuración basados en un documento JSON.

Características implementadas:

1 1
0 158

AWS ha liberado oficialmente su segunda generación de procesadores Graviton2 basados en ARM y asociados al tipo de instancia Amazon EC2 M6g, que presume de ser hasta un 40% mejor en precio-rendimiento sobre la actual generación de instancias M5 basadas en Xeon.

Hace pocos meses, Inthhis nos llevó a suportar arquitecturas ARM64 por primera vez.

¡Ahora puedes probar InterSystems IRIS e InterSystems IRIS for Health sobre instancias Amazon EC2 M6g basadas en Graviton2 accesibles a través del AWS Marketplace!

0 0
0 176

Este artículo describe un diseño arquitectónico de complejidad intermedia para DeepSee. Al igual que en el ejemplo anterior, esta implementación incluye bases de datos separadas para almacenar la información, la implementación y la configuración de DeepSee. También presenta dos nuevas bases de datos: la primera para almacenar los globals necesarios para la sincronización, la segunda para almacenar tablas de hechos e índices.

0 0
0 165
Artículo
· 24 mayo, 2021 Lectura de 4 min
Cómo acceder a IRIS desde Rust

Qué te parece si te digo que muy pronto te podrás conectar a IRIS desde la aplicación escrita en Rust...

¿Qué es Rust?

Rust es un lenguaje de programación multiparadigma diseñado teniendo en cuenta el rendimiento, la seguridad y especialmente que la concurrencia sea segura. Rust es sintácticamente similar a C++, pero puede garantizar la seguridad de la memoria mediante el uso de un verificador de préstamos para validar las referencias. Rust logra la seguridad de la memoria sin emplear un recolector de basura, y el conteo de referencias es opcional. (c) Wikipedia.

Es el lenguaje más valorado durante los últimos cinco años en la encuesta de Stack Overflow 2020.

0 0
0 164
Artículo
· 5 abr, 2022 Lectura de 5 min
Cómo gestionar la configuración del contenedor

Si estás implementando más de un entorno/región/nube/cliente, inevitablemente te encontrarás con el problema de la gestión de la configuración.

Aunque todas (o solo varias de) tus implementaciones pueden compartir el mismo código fuente, algunas partes, como la configuración (ajustes, contraseñas) son diferentes de una implementación a otra y se deben gestionar de alguna manera.

En este artículo, intentaré ofrecer varios consejos sobre ese tema. Y comentaré principalmente las implementaciones de los contenedores.

0 0
0 153
Artículo
· 24 dic, 2021 Lectura de 4 min
Probar los paquetes que desarrollamos con ZPM

¡Hola desarrolladores!

Como sabéis, es muy fácil publicar un paquete en el repositorio de la Comunidad de Desarrolladores.

Pero, ¿cómo se puede probar antes de publicarlo? ¿Cómo se puede garantizar que todo lo que se introdujo en module.xml funciona correctamente?

¡Seguid leyendo las instrucciones que os detallo a continuación!

0 0
0 153
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 98

¡Hola desarrolladores!

Solo quiero compartir con vosotros mi conocimiento, es decir, experiencia en algo que os puede hacer ahorrar unas cuantas horas algún día.

Si estás creando una REST API con IRIS que contiene más de un nivel de "/", por ejemplo: '/patients/all', no te olvides de añadir el parámetro 'recurse=1' en tu script de despliegue en %Installer. Si no, todas las entradas de nivel secundario y de mayor profundidad no funcionarán. Y todas las entradas de nivel primario funcionarán.

/patients

- funcionará, pero

/patients/all

- no funcionará.

Este es un ejemplo de sección CSPApplication que arregla el problema y que puede que quieras usar en tu clase %Installer:

    <CSPApplication Url="${CSPAPP}"
      Recurse="1"
      Directory="${CSPAPPDIR}"
      Grant="${RESOURCE},%SQL"
      AuthenticationMethods="96"
      />

0 0
0 134
Artículo
· 22 nov, 2022 Lectura de 7 min
IAM & IRIS / IRIS Health desde un mismo archivo YML

Disclosure Statement: Sugerencias para relalizar pruebas en ambientes usados para demostraciones o desarrollos, no en ambientes productivos.

Caso de uso: teniendo IAM, lo ejecutamos desde un archivo YML, y necesitamos que se conecte a una Instancia IRIS en seguida, pero IRIS tiene deshabilitado el usuario IAM y la aplicación IAM.

0 0
1 127

Este artículo describe un diseño arquitectónico más flexible para DeepSee. Al igual que en el ejemplo anterior, esta implementación incluye bases de datos separadas para almacenar la memoria caché, la implementación y la configuración de DeepSee y la sincronización de los globals. Este ejemplo introduce una nueva base de datos para almacenar los índices de DeepSee. Redefiniremos los mapeos globales para que los índices de DeepSee no se mapeeen junto con las tablas de hechos y dimensiones.

0 0
1 116

¡Hola desarrolladores!

A veces necesitamos publicar la imagen Docker de la solución InterSystems IRIS en la que estamos trabajando. Existen diferentes posibilidades, por ejemplo:

  1. Usar la imagen en un cluster de Kubernetes.
  2. Que un compañero ejecute la imagen desde un repositorio público sin tener que generarla.

La mejor solución es subir la imagen al Registro Hub de Docker o al Registro de Github.

En este breve artículo, propongo una forma de hacerlo automáticamente cada vez que subas (usando git push) cambios a tu repositorio GitHub.

0 0
0 107
Artículo
· 2 abr, 2024 Lectura de 8 min
Introducción a Kubernetes

En este artículo, cubriremos los siguientes temas:

  • ¿Qué es Kubernetes?
  • Componentes principales de Kubernetes (K8)


¿Qué es Kubernetes?

Kubernetes es un marco de orquestación de contenedores de código abierto desarrollado por Google. En esencia, controla la velocidad de los contenedores y ayuda a gestionar aplicaciones formadas de varios contenedores. Además, le permite operarlos en diferentes entornos, por ejemplo, máquinas físicas, máquinas virtuales, entornos de nube o incluso entornos de implementación híbridos.

0 0
0 104

¡Hola desarrolladores!

A menudo, tenemos que implementar algunos datos junto con código de aplicación.

Y para los desarrolladores de InterSystems IRIS, la pregunta podría ser: "¿Cómo puedo desplegar los datos que tengo en globals?"

InterSystems IRIS Globals Model QuickStart | InterSystems

En este artículo, os propongo uno de los métodos - desplegar los datos de los globals utilizando el ZPM package manager.

0 0
0 104

¡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 101
Artículo
· 11 oct, 2023 Lectura de 12 min
ECP con Docker

¡Hola Comunidad!

Este es el tercer artículo de la serie sobre arranque de instancias de IRIS con Docker. En esta publicación nos centraremos en el Enterprise Caché Protocol (ECP) o Protocolo de Caché Empresarial.

De manera muy simplificada, ECP permite configurar algunas instancias de IRIS como servidores de aplicaciones y otras como servidores de datos. Encontraréis más información técnica detallada en la documentación oficial.

El objetivo de este artículo es describir:

0 0
0 101
Artículo
· 16 nov, 2023 Lectura de 3 min
Cómo ocultar el programa fuente

Preguntas frecuentes de InterSystems

Para rutinas (*.mac)

Se puede ocultar el código fuente exportando/importando solo el *.obj que se genera después de compilar el programa fuente.

El ejemplo de ejecución de comandos especifica EX1Sample.obj y EX2Sample.obj, que se generan al compilar EX1Sample.mac y EX2Sample.mac, como destinos de exportación y los exporta al segundo archivo de argumentos.

Después de pasarlo a otro namespace, se usa el archivo XML exportado para realizar la importación.

0 0
0 95

¡Hola desarrolladores!

Otra forma de empezar a utilizar InterSystems Objectscript Package Manager es descargar las imágenes pre-construidas de InterSystems IRIS Community Edition o IRIS for Health Community Edition.

Estas imágenes de IRIS están desplegadas en DockerHub y puedes ejecutarlas directamente con este comando:

docker run --rm -p 52773:52773 --init --name my-iris -d intersystemsdc/iris-community:2021.1.0.215.0-zpm

A continuación, puedes lanzar una sesión de terminal de esta forma:

0 0
0 95

¡Hola Comunidad!

Compartimos con vosotros un nuevo vídeo con subtítulos en español, que explica los pasos necesarios para actualizar InterSystems IRIS, InterSystems IRIS for Health o HealthShare Health Connect desde una versión que utiliza un servidor web privado de InterSystems a una versión que utiliza un servidor web estándar de la industria, independiente de la instancia.

El vídeo muestra el proceso usando InterSystems IRIS en un entorno Ubuntu. Se puede seguir el mismo proceso para los otros productos, y en cualquier sistema operativo basado en Linux o Unix.

En el ejemplo, se tienen tres instancias de InterSystems IRIS en funcionamiento: mirror1 y mirror2, que son dos instancias en réplica síncrona (failover o sync mirror) y 1 instancia de réplica asíncrona (async mirror).

¡Esperamos que os resulte útil!

Cómo migrar una configuración mirror fuera del Servidor Web Privado en Linux o Unix

https://www.youtube.com/embed/Tvv7W_kM0CQ?cc_load_policy=1
[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]

2 0
1 72