¡Hola desarrolladores!
El concurso de programación sobre Analítica ha terminado. ¡Muchas gracias a todos los que habéis participado!
Ya podemos anunciar los ganadores...
Un fuerte aplauso para estos desarrolladores y sus aplicaciones:
InterSystems IRIS es una Plataforma completa de datos.
InterSystems IRIS le proporciona todo lo que necesita para capturar, compartir, comprender y actuar sobre el activo más valioso de su organización, sus datos.
Dado que es una plataforma completa, InterSystems IRIS elimina la necesidad de integrar varias tecnologías de desarrollo. Las aplicaciones necesitan una menor cantidad de código, menos recursos del sistema y poco mantenimiento.
¡Hola desarrolladores!
El concurso de programación sobre Analítica ha terminado. ¡Muchas gracias a todos los que habéis participado!
Ya podemos anunciar los ganadores...
Un fuerte aplauso para estos desarrolladores y sus aplicaciones:
Este artículo es una continuación de esta publicación.
El objetivo de este artículo es explicar cómo funciona el menú de interoperabilidad para la integración del sistema.
La parte izquierda de la figura representa la ventana para aceptar información enviada desde sistemas externos.
Hay varias maneras de recibir información, como monitorizar el directorio especificado a intervalos regulares para leer archivos, consultar periódicamente la base de datos, esperar a que se introduzcan datos, o llamar directamente y que se pasen desde aplicaciones en otros sistemas.
¡Hola desarrolladores!
Hoy os traemos un breve tutorial, grabado por @David Reche, y disponible en el canal de YouTube de la Comunidad de Desarrolladores en español: Cómo arrancar un contenedor de InterSystems IRIS en Docker.
Es el primer vídeo de una serie de tutoriales grabados por David, en los que explica los primeros pasos para empezar a trabajar con InterSystems IRIS Community Edition. Iremos publicando los tutoriales durante los próximos días.
⏯ Tutorial 1: Cómo arrancar un contenedor de InterSystems IRIS en Docker
¡Esperamos que os resulte útil! ![]()
.png)
Como arquitecto de software, es un reto diseñar una arquitectura corporativa que cumpla con los requisitos actuales de los negocios. Hay que conseguir el nivel 5 de la imagen anterior.
Con InterSystems IRIS es posible. Con un solo producto, tienes SQL + NoSQL + ESB + BI + Open Analytics + Modelos analíticos virtuales en tiempo real + NLP + AutoML + ML (con Python) y cloud Avanzada + soporte a sharding.
Este es un ejemplo de código que funciona en IRIS 2020.1 y en Caché 2018.1.3
No se mantendrá sincronizado con las nuevas versiones.
Y NO cuenta con el servicio de soporte de InterSystems.El lenguaje ObjectScript de InterSystems IRIS tiene un motor de metadatos muy potente llamado XData. Esta característica permite crear definiciones de metadatos para tus clases, que serán utilizadas por el compilador o por los programas para ampliar las características estándar del lenguaje, basándose en las definiciones XData de su campo de acción.
Un ejemplo es IRIS Publisher, una aplicación de código abierto de la Comunidad, capaz de recopilar todas las definiciones de XData en formato HTML y/o Markdown, y que puede generar un Portal web con todos los documentos de la aplicación, recopilados a partir de estos elementos XData.
Aunque la integridad de las bases de datos Caché e InterSystems IRIS está completamente protegida de las consecuencias de un fallo de sistema, los dispositivos de almacenamiento físico sí que pueden fallar, corrompiendo los datos que almacenan.
Por esa razón, muchos sitios optan por realizar chequeos o verificaciones periódicas de integridad de bases de datos, sobre todo en coordinación con las copias de seguridad, para validar que se pueda confiar en una determinada copia de seguridad en caso de que ocurra algún desastre.
Como sabes, ObjectScript no tiene un comando o función de sistema FOREACH.
Pero tiene un amplio margen para la creatividad.
Pero la tarea es recorrer una matriz global o local y hacer algo PARA CADA elemento.
Hay dos posibles soluciones:
¡Hola desarrolladores!
Algunas veces necesito planificar una tarea por medio de un programa.
Y en el 99% de los casos necesito que algún método de clase sea llamado periódicamente.
Y quiero que la tarea programada comience con una línea. Como un trabajo en crontab.
Decidí incorporar un módulo de este tipo con el módulo iris-cron-task.
Os comento los detalles a continuación.
Este es el ejemplo de un código que funciona en Caché 2018.1.3 e IRIS 2020.2 No se mantendrá sincronizado con las nuevas versiones ¡Además NO cuenta con el servicio de Soporte de InterSystems!
Durante mi búsqueda de un snapshot de un objeto persistente, conocí una característica que me gustaría compartir, ya que podría ser útil en algunas situaciones especiales. Mi objetivo era tener una imagen del antes y el después durante las pruebas unitarias.
¡Hola desarrolladores!
ya está preparado el nuevo concurso de programación de InterSystems:
🏆 Analítica 🏆
Estará activo durante cuatro semanas: del 16 de agosto al 5 de septiembre de 2021
Total en premios: $8,750
Página del concurso: https://contest.intersystems.com

Tengo esta clase definida:
Class Services.IS.Data.Pe Extends (%RegisteredObject, %JSON.Adaptor)
{
Property codigo As %String;
Property descripcion As %String;
Property ListaP As list Of P;
ClassMethod LoadPeCap(Param1 As %String, Param2 As %String) As %JSON.Adaptor
{
Set rs = ##class(%SQL.Statement).%ExecDirect(,"SELECT PRF_c as PRF_c,PRF_des as PRF_des FROM Esquema.tabla where PRF_c ="_Param1_" or PRF_c="_Param2)
Set pts ={"pts":[]}
While rs.%Next() {
Set pec ={
"PRF_c": (rs.%Get("PRF_c")),
"PRF_des": (rs.

InterSystems IRIS ofrece la posibilidad de crear interfaces REST con el enfoque spec-first, esto es, partiendo de las especificaciones de la API.
Puedes echarle un vistazo a este artículo para más información al respecto : https://es.community.intersystems.com/post/cómo-desarrollar-una-api-rest-con-un-enfoque-spec-first.
Algo muy práctico que tiene este enfoque y la propia OpenAPI, es la definición de los objetos que se van a intercambiar.
El comando do ^%REST crea las rutas y los métodos asociados, pero sin embargo no crea las definiciones de los objetos.
Este es un ejemplo de código que funciona en IRIS 2020.1 y en Caché 2018.1.3
No se mantendrá sincronizado con las nuevas versiones.
Y NO cuenta con el servicio de soporte de InterSystems.
En la mayoría de los casos, un global que se utiliza como almacenamiento predeterminado tiene solo 1 nivel de subíndice que representa el IDKEY.
Para un índice de globals podemos ver 2 o más niveles de subíndices.
Las matrices, las relaciones de herencia padre hijo o las clases persistentes que extienden una clase base, son ejemplos en los que vemos más niveles. Aunque todos estos globals son bastante uniformes.
En elartículo anterior, vimos una forma de crear un operador personalizado que administra el estado de la instancia de IRIS. Esta vez, vamos a echar un vistazo a un operador listo para usar - el Operador InterSystems Kubernetes (IKO).La documentación oficial nos ayudará a recorrer los pasos de la implementación.
SAP ofrece un amplio soporte de OData en todos sus productos. Así que OData puede ser una excelente opción para intercambiar datos entre SAP e InterSystems IRIS.
¡Hola desarrolladores!
A veces, cuando desarrollamos una maqueta o una Prueba de Concepto (PoC), necesitamos una interfaz sencilla que proporcione datos en IRIS en JSON contra consultas SQL.
Y recientemente contribuí con un sencillo módulo que hace exactamente eso:
acepta una sentencia SQL y devuelve JSON.
¿Cómo se instala? Solo llama:
zpm "install sql-rest"
Si lo instalas en un namespace X, configurará un endpoint /sql en tu sistema, que aceptará solicitudes POST con una sentencia SQL y te devolverá el resultado para los datos disponibles en el namespace X.
Hola comunidad,
Este es otro artículo sobre cómo realizar acciones que puede realizar en el portal web pero mediante código.
Hoy .... Agregar un valor de configuración por defecto por código
Hola a todos:
De forma temporal, la documentación online de InterSystems IRIS se encuentra disponible aquí.
Hola comunidad,
Esto es otro artículo de como realizar acciones que puedes hacer desde el porta de gestión pero via código.
Hoy.... Añadir un business item en tu producción por código.
Hola comunidad,
Voy a publicar varios artículos de como realizar acciones que puedes hacer desde el web portal, pero por código.
Hoy.... Web Applications por código
¡Hola Comunidad!
Os traemos un nuevo vídeo con subtítulos en español, ya disponible en el canal de YouTube de la Comunidad de Desarrolladores de InterSystems en español:
En SQL, la condición más frecuente WHERE se relaciona principalmente con el contenido de las filas en las que trabajas.
Por lo tanto, debe calcularse y verificarse para cada fila a la que accedas.
Distinto es el caso (y por eso la llamé ESTÁTICA) de una condición WHERE independiente de las filas a las que accedes.
Además de IntelliJ IDEA, ahora es posible configurar SublimeText3 para compilar código con él. Solo necesitarás el servidor de idiomas que hice.

¡Hola Comunidad!
El concurso de programación sobre Inteligencia Artificial ha terminado. ¡Muchas gracias a todos los que habéis participado!
Ya podemos anunciar los ganadores...
Un fuerte aplauso para estos desarrolladores y sus aplicaciones:
Posiblemente te hayas encontrado con esto y no supiste cómo evitarlo; o tal vez ni siquiera te diste cuenta...
Pero cuando se tienen componentes empresariales de la Producción de Interoperabilidad TCP (por ejemplo, un business service HL7), probablemente tienes (dependiendo de tu configuración de StayConnected) muchas entradas en el Registro de Eventos (Event log) de tipo Info. Cada entrada registraría una conexión o desconexión.
Por ejemplo:
InterSystems ha corregido un defecto que puede ocasionar resultados incorrectos en consultas SQL. Este defecto afecta a:
Un bloque de SQL puede encontrarse con el defecto sólo si se cumplen las siguientes condiciones:
Os presento el soporte de InterSystems IRIS en IntelliJ IDEA. Este plugin añade soporte de Syntax Highlighting para ObjectScript, así como la auto importación y la compilación en el servidor después de guardar un archivo modificado. Utiliza LanguageServer escrito en Rust, donde se añadió la capacidad de importar y compilar código.
.png)
Al igual que con Pattern Matching, se pueden utilizar Expresiones Regularespara identificar patrones en textos en ObjectScript, sólo que con una potencia mucho mayor.
En este artículo se proporciona una breve introducción sobre las Expresiones Regulares y lo que puede hacerse con ellas en ObjectScript. La información que se proporciona aquí se basa en varias fuentes, entre las que destaca el libro “Mastering Regular Expressions” (Dominando las expresiones regulares) escrito por Jeffrey Friedl y, por supuesto, la documentación online de la plataforma.
¡Hola Comunidad!
Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!
David Reche es uno de los cracks de InterSystems. Así que, si queréis seguir aprendiendo ObjectScript... ¡no os perdáis el vídeo!