¡Hola desarrolladores!

Hay una actualización reciente para las imágenes de la comunidad de desarrolladores de InterSystems IRIS e InterSystems IRIS For Health.

Esta versión incluye soporte para variables de entorno.

Actualmente se soportan 3 variables de entorno:

  • IRIS_USERNAME=usuario a crear
  • IRIS_PASSWORD=password del usuario
  • IRIS_NAMESPACE=crear namespace si no existe

Esto es lo que puedes hacer:

Arrancar iris con un usuario y password:

docker run --rm --name iris-sql -d -p 9091:1972 -p 9092:52773  -e IRIS_PASSWORD=demo -e IRIS_USERNAME=demo intersystemsdc/iris-community

2 0
0 94
La Comunidad de desarrolladores de InterSystems es una comunidad de 17,535 desarrolladores increíbles
¡Somos un lugar donde los programadores de InterSystems IRIS aprenden y comparten, se mantienen actualizados, crecen juntos y se divierten!
Artículo
· 11 jul, 2023 Lectura de 5 min
Conectando a Salesforce REST API

¡Hola Comunidad!

Seguramente habéis tod@s escuchado algo sobre Salesforce – la empresa y su software. En este articulo nos dedicaremos a la conectividad al software de CRM – Salesforce CRM. De una manera muy genérica, Salesforce CRM tiene la capacidad de administrar las interacciones con los clientes de una organización a través de varios métodos, como llamadas telefónicas, consultas por correo electrónico, comunidades, medios y redes sociales. Se dice que Salesforce maneja todas las relaciones con los clientes - centrándose en los procesos de ventas, soporte y marketing. Este servicio/software está disponible en la nube.

Qué bueno sería que pudiésemos conectarnos a Salesforce desde nuestro entorno InterSystems IRIS o cualquier otro producto de InterSystems.

2 0
0 126

¡Hola Comunidad!

El 2º Maratón de Ideas de InterSystems ha terminado. Se han publicado 29 brillantes ideas dedicadas al tema del concurso:

💡 Cómo desplegar soluciones de forma rápida, segura y sostenible con InterSystems IRIS

¡Muchísimas gracias a todos los que habéis participado con ideas y/o contribuido con votos y comentarios!

Ya podemos anunciar los ganadores...

2 0
0 49

Como bien sabréis los que seguís habitualmente las publicaciones de nuestra Comunidad, disponemos de una aplicación desarrollada con Angular e IRIS que nos permite obtener estimaciones sobre los resultados de Primera y Segunda División del fútbol español llamada QuinielaML. Pues bien, ¡pongámosla a prueba!

Estos son los partidos que entran en la Quiniela de la 7ª jornada:

Veamos las estimaciones para Primera División de nuestra aplicación:

2 1
0 123

¡Hola Comunidad!

Sabemos que a veces buscáis personas con conocimientos en la tecnología de InterSystems. Por eso hemos preparado este breve tutorial sobre cómo publicar anuncios de empleo en la Comunidad, para que atraigáis a los mejores trabajadores!

En primer lugar, tenéis que crear una nueva publicación y elegir el tipo: Anuncio

Después, debajo de la descripción, en el campo "Grupo", tenéis que añadir la etiqueta "Oferta de empleo".

2 0
0 37
Artículo
· 13 mayo, 2019 Lectura de 1 min
Cómo mejorar las búsquedas dentro de la comunidad

Hola Comunidad !

Ya tenemos un montón de buenos artículos en la comunidad. Incluso buenas preguntas con mejores respuestas (mira las estadísticas). Gracias por tu contribución!

A veces merece la pena usar la búsqueda para encontrar una respuesta o una buena práctica o una publicación que recuerdas que se publicó pero no consigues encontrar.

2 0
0 77
Artículo
· 1 jul, 2019 Lectura de 16 min
Dominando JDBC con SQL Gateway

Como todos sabemos, IRIS Database / Caché es un motor de base de datos que efectúa muchas tareas dentro de sí misma. Sin embargo, ¿qué puede hacer cuando necesita tener acceso a una base de datos externa? Una opción es utilizar el SQL Gateway en Caché mediante un conector JDBC. En este artículo, mi objetivo es responder las siguientes preguntas con el fin de ayudarle a que se familiarice con la tecnología y que resuelva algunos de los más problemas comunes.

2 0
1 671
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 508

Hola a todos,

Tenemos un proceso que está a la escucha de un servicio FTP para recoger unos ficheros CSV y procesarlos. El proceso funciona correctamente y cuando termina vacia el directorio a la espera que entre algún otro fichero.

Desde hace tiempo estamos recibiendo el siguiente mensaje de error:

2 3
0 208

Iris-python-template

Proyecto de plantilla con varios códigos Python para ser utilizados con InterSystems IRIS Community Edition con contenedor.

Contenido:

  • Bloc de notas
    • Kernel de Python Embebido
    • Kernel de ObjectScript
    • Kernel de Vanilla Python
  • Python Embebido
    • Ejemplo de código
    • Demostración de Flask
  • API nativas de Python de IRIS
    • Ejemplo de código

Diagrama

2 0
1 240

Ya podemos anunciar los ganadores del Concurso de Herramientas para Desarrolladores de InterSystems!

Pero en primer lugar, me gustaría dar las GRACIAS a todos los participantes, que han presentado 21 aplicaciones maravillosas 🔥

Estamos muy contentos de saber que este tema es tan importante para vosotros.

Y ahora, sin más dilación, ya podemos decir eso de: "Y los ganadores son..."

2 2
0 68
Artículo
· 26 jun, 2023 Lectura de 9 min
IrisSAP Connector (Español)

¡Hola Comunidad!

¿Habéis tenido que conectar alguna vez IRIS con un sistema SAP?

Tuve que enfrentarme al reto de conectar InterSystems IRIS con SAP, y una vez más pude comprobar el gran acierto que hizo InterSystems añadiendo la posibilidad de ejecutar código nativamente de Python desde IRIS.

Esto me hizo la integración muy fácil gracias a la librería pyrfc.

Con esta librería, fui capaz de realizar llamadas a RFC's de SAP (Remote Function Call) desde una clase de IRIS y recibir datos de la base de datos de SAP.

2 1
0 144
Artículo
· 17 jul, 2019 Lectura de 12 min
Clases de consulta en InterSystems Caché


Las clases de consulta en InterSystems Caché son una herramienta muy útil que separa las consultas SQL del código Object Script de Caché. Básicamente funciona de la siguiente manera: supongamos que quiere utilizar la misma consulta SQL con distintos argumentos en varios lugares diferentes. En este caso, puede evitar la duplicación del código si declara el contenido de la consulta como una clase de consulta y después llama a esta consulta por su nombre. Este método también es conveniente para las consultas personalizadas, donde el desarrollador define con cuál de las tareas obtendrá la siguiente fila. ¿Esto le parece interesante? Entones, ¡siga leyendo!

1 0
0 692

¡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 504
Artículo
· 25 nov, 2020 Lectura de 17 min
Objetos de proxy remoto mediante despacho dinámico

Este artículo fue creado como efecto secundario de las preparaciones para un conjunto más extendido de artículos sobre la simple, pero útil, implementación de MapReduce en Caché. Estaba buscando una forma relativamente fácil de pasar argumentos a (potencialmente) múltiples objetivos mediante mecanismos de invocación remota. Y tras varios intentos, me di cuenta de que en el ObjectScript de Caché contamos con mecanismos muy potentes que podrían ser de utilidad para esto: dynamix dispatching para métodos y propiedades.

1 0
1 116

Hace poco, tuve que generar una especificación en Swagger a partir de clases persistentes y en serie, así que ahora publico el código (no está completo, aún queda resolver las especificaciones de la aplicación, pero es un comienzo).

El código está disponible aquí.

Supongamos que tenemos estas clases:

1 0
0 242

Este artículo es una continuación de esta publicación.

En ese artículo, expliqué cómo funciona el menú de Interoperabilidad para su integración en el sistema.

En este artículo, me gustaría explicar cómo desarrollar una integración de sistemas utilizando el menú de interoperabilidad.

En primer lugar, ¿qué tipo de proceso quieres crear? Mientras piensas en ello, prepara el siguiente contenido.

1 0
1 228

Durante una actualización a una versión principal (major) es aconsejable recompilar las clases y rutinas de todos tus namespaces (ver Tareas tras la instalación de una versión major).

do $system.OBJ.CompileAllNamespaces("u")
do ##Class(%Routine).CompileAllNamespaces()

Para automatizar esta tarea de administración y mantener un registro de cualquier error, os muestro un ejemplo de una clase para importar y compilar en el namespace USER, que puedes usar después de cada actualización: admin.utils.cls

1 1
0 130

¡Hola Comunidad!

@Joan Pérez publicó una reseña en la que comentó que no está muy claro qué aplicaciones están disponibles para InterSystems Package Manager. ¡Gracias por tu pregunta, Joan! De hecho, la respuesta merece una publicación.

Existen al menos dos formas de conocer las aplicaciones con ZPM:

1. Ejecutar el comando find en zpm:

1 0
1 77

En la primera parte de esta serie de artículos hablamos sobre cómo leer un gran fragmento de datos del cuerpo sin procesar de un método HTTP POST y guardarlo en una base de datos como una propiedad stream de una clase. En la segunda parte comentamos cómo enviar archivos y sus nombres envueltos en un formato JSON.

Ahora analizaremos más de cerca la idea de enviar al servidor grandes archivos por partes. Para ello, podemos utilizar varios enfoques. En este artículo se analiza el uso del encabezado Transfer-Encoding para indicar una transferencia fragmentada. La especificación HTTP/1.1 introdujo el encabezado Transfer-Encoding, y la sección 4.1 RFC 7230 lo describió, pero está ausente en la especificación HTTP/2.

1 0
0 98
Artículo
· 22 nov, 2022 Lectura de 6 min
Linked Tables + Analítica

Caso de Uso: tenemos acceso a datos remotos; vía JDBC o vía ODBC desde IRIS, y queremos presentar la información en un Dashboard, pero no deseamos o no podemos migrar dicha información a IRIS.

Alternativa: Tomamos ventaja de la conexión al origen de Datos, usamos "Linked Tables" de IRIS, luego podemos realizar el análisis a estos datos y presentarlos finalmente en un Dashboard.

Para este ejemplo vamos a realizarlo en este escenario:

1 0
1 94

Hemos visto como instalar nuestro EMPI en modo standalone y, parafraseando a Fray Luis de León, como decíamos ayer, procederemos a exponer como realizar una configuración básica, sin demasiadas pretensiones, de nuestro EMPI.

Primeramente deberemos realizar la configuración básica inicial, y para ello deberemos acceder a la opción del menú de Configuración de nuestro Registry.

1 0
0 120