Artículo Ricardo Paiva · 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: #Despliegue #DevOps #Mejores prácticas #InterSystems IRIS Open Exchange app 1 1 0 169
Artículo Ricardo Paiva · 10 dic, 2021 Lectura de 4 min Recomendaciones para almacenar grandes conjuntos de datos Me gustaría compartir algunas funciones de almacenamiento que también existen en Caché y que son prácticamente desconocidas y en su mayoría no se utilizan. Por supuesto, están disponibles en IRIS y son más relevantes con arquitecturas de almacenamiento extensas y distribuidas. #Globals #Modelo de datos de objetos #Rendimiento #Tablas relacionales #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS BI (DeepSee) #InterSystems IRIS for Health 0 0 0 169
Artículo Ricardo Paiva · 3 dic, 2021 Lectura de 2 min Tablas y clases semi-persistentes Si defines una tabla/clase persistente, el compilador de clases genera una definición de almacenamiento adecuada. Otra opción es definir un mapeo SQL para un almacenamiento global que ya existe. Esto ya se explicó estupendamente en otra serie de artículos: El arte del mapeo de globales para Clases 1 de 3 #Code Snippet #Globals #Mapeo #Modelo de datos de objetos #ObjectScript #SQL #Caché #Ensemble #InterSystems IRIS 0 0 0 208
Artículo Ricardo Paiva · 29 nov, 2021 Lectura de 14 min Cómo transferir archivos a través de REST para almacenar en una propiedad. Parte 2 En la primera parte de esta serie de artículos, hablamos sobre cómo leer un fragmento "grande" de datos del contenido sin procesar de un método HTTP POST y guardarlo en una base de datos como una propiedad de flujo de una clase. Ahora veremos cómo guardar esos datos y metadatos en formato JSON. Desafortunadamente, Advanced REST Client no permite configurar objetos JSON con datos binarios como valor de una clave (o quizá simplemente no he descubierto cómo hacerlo), así que decidí escribir un cliente simple en ObjectScript para enviar datos al servidor. Creé una nueva clase llamada RestTransfer.Client y le añadí los parámetros Server = "localhost" y Port = 52773 para describir mi servidor web. Y creé un método de clases GetLink en el que creo una nueva instancia de la clase %Net.HttpRequest y establezco sus propiedades con los parámetros mencionados anteriormente. #API REST #InterSystems IRIS Open Exchange app 0 0 0 1K
Artículo Ricardo Paiva · 18 nov, 2021 Lectura de 2 min Descripción de la aplicación fhir-integratedml-example Hablando con mi amigo @Renato Banzai, especialista en Machine Learning, me expuso uno de los mayores retos a los que se enfrentan actualmente las empresas: la implementación del Machine Learning (ML) y la Inteligencia Artificial (IA) en entornos reales. Intersystems IRIS ofrece IntegratedML. IntegratedML es una excelente herramienta para practicar, probar y realizar implementaciones de modelos de ML e IA. #DTL #FHIR #IntegratedML #Machine Learning (ML) #HealthShare #InterSystems IRIS for Health Open Exchange app 0 0 0 93
Artículo Ricardo Paiva · 12 nov, 2021 Lectura de 21 min Curso de formación sobre Ensemble / Interoperabilidad Este curso de formación está dirigido a todas las personas interesadas en conocer el framework de Interoperabilidad de IRIS. Utilizaremos Docker y VSCode. GitHub: https://github.com/grongierisc/formation-template 1. Formación en Ensemble/Interoperabilidad El objetivo de esta formación es aprender el framework de interoperabilidad de InterSystems, y en particular el uso de: * Producciones * Mensajes * Business Operations * Adaptadores * Business Processes * Business Services * Operaciones y servicios REST #Docker #Framework #Interoperabilidad #Principiante #Caché #Ensemble #InterSystems IRIS Open Exchange app 1 0 0 283
Artículo Ricardo Paiva · 4 nov, 2021 Lectura de 5 min Pruebas unitarias y Cobertura de pruebas en ObjectScript Package Manager En este artículo describiré los procesos para ejecutar pruebas unitarias mediante ObjectScript Package Manager (consulta https://openexchange.intersystems.com/package/ObjectScript-Package-Manager-2), incluyendo el cálculo de la Cobertura de pruebas (mediante https://openexchange.intersystems.com/package/Test-Coverage-Tool). #Integración continua #InterSystems Package Manager (IPM) #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 115
Artículo Ricardo Paiva · 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: Documentación obsoleta, Documentación no interactiva y difícil de consultar, Diseño poco amigable y que no se adhiere a HTML, Imposibilidad de personalizar el diseño de los documentos, Imposibilidad de tener documentación en HTML 5 online y offline. 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: #Entorno de desarrollo #Documentación Open Exchange app 0 0 0 273
Artículo Ricardo Paiva · 22 oct, 2021 Lectura de 3 min Mi experiencia trabajando con FHIR Hola Comunidad, Quiero compartir mi experiencia creando el portal iris-fhir con FHIR. Decidí dar un paso adelante y participar en el concurso IRIS for Health FHIR, pero nunca antes había trabajado con FHIR. Después del webinar para el lanzamiento del concurso sobre FHIR , en el que nos explicaron de forma general cómo funciona IRIS for Health con FHIR, comencé a buscar en la documentación de FHIR para crear mi proyecto de Registro de pacientes. En la página web de HL7 FHIR (versión 4), encontré un "mapa de recursos": #FHIR #InterSystems IRIS for Health Open Exchange app 0 0 0 341
Artículo Ricardo Paiva · 30 sep, 2021 Lectura de 5 min Cómo usar InterSystems API Manager para equilibrar la carga de una API InterSystems API Manager (IAM) es una nueva función de InterSystems IRIS que permite monitorizar, controlar y dirigir el tráfico hacia y desde las APIs web dentro de su infraestructura de TI. Si te perdiste el anuncio de su lanzamiento, puedes leerlo aquí. También puedes consultar este otro artículo. En esta publicación, utilizaremos InterSystems API Manager para balancear la carga de una API. En nuestro caso, tenemos 2 instancias de InterSystems IRIS con /api/atelier API REST que queremos publicar para nuestros clientes. Hay muchas razones diferentes por las que podríamos querer hacer eso, como: Equilibrio de carga para distribuir la carga de trabajo entre los servidores Implementación azul-verde: tenemos dos servidores, uno "prod", otro "dev" y es posible que queramos cambiar entre ellos Implementación de Canary: podríamos publicar la nueva versión solo en un servidor y mover el 1% de los clientes allí Configuración de alta disponibilidad etc. #API #API REST #InterSystems API Manager (IAM) #SOAP #InterSystems IRIS 0 0 0 157
Artículo Ricardo Paiva · 23 sep, 2021 Lectura de 4 min Aprovecha al máximo InterSystems SAM - Cómo implementar tu propio administrador de alertas InterSystems SAM es una gran herramienta para monitorizar tus clústeres de InterSystems IRIS e InterSystems IRIS For Health en instalaciones físicas o en un entorno de nube. En este artículo se describe cómo puedes implementar un administrador de alertas personalizado. Actualmente esta es una función no documentada y muy probablemente desconocida de InterSystems SAM. Con futuras versiones probablemente será más fácil aprovechar este útil concepto. #Mejores prácticas #System Alerting and Monitoring (SAM) #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 190
Artículo Ricardo Paiva · 16 sep, 2021 Lectura de 3 min Base de datos documental (DocDB) - Ejemplos de llamadas API REST - Colección Postman Como ayuda para aquellos que quieren utilizar las funciones de la Base de datos documental (DocDB) dentro de InterSystems IRIS, y específicamente la API REST que proporciona, reuní una Colección Postman que ofrece muestras para varias llamadas básicas. Por ejemplo: #API REST #Modelo de datos #Modelo de datos documental (NoSQL) #Multimodelo #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 0 0 0 291
Artículo Ricardo Paiva · 9 sep, 2021 Lectura de 3 min [InterSystems IRIS por primera vez] Interoperabilidad: Aprendamos cómo funciona 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. #Interoperabilidad #Principiante #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 422
Artículo Ricardo Paiva · 3 sep, 2021 Lectura de 3 min Cómo crear el Portal de Documentación para InterSystems IRIS 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. #Entorno de desarrollo #InterSystems IRIS Open Exchange app 0 0 0 138
Artículo Ricardo Paiva · 26 ago, 2021 Lectura de 2 min Cómo programar tareas con una sola línea usando iris-cron-task ¡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. #Herramientas #ObjectScript #InterSystems IRIS Open Exchange app 0 0 0 119
Artículo Ricardo Paiva · 19 ago, 2021 Lectura de 2 min Persistencia atípica 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. #Consejos y trucos #Globals #Herramientas #Modelo de datos #ObjectScript #Prueba #Caché #InterSystems IRIS 0 0 0 98
Artículo Ricardo Paiva · 11 ago, 2021 Lectura de 3 min Cómo aprovechar al máximo $Query Me encontré con un interesante caso de uso de ObjectScript con una solución general que quería compartir. Caso de uso: Tengo una matriz JSON (específicamente, en mi caso, una matriz de problemas de Jira) que quiero agregar en algunos campos, por ejemplo: categoría, prioridad y tipo de problema. Después quiero combinar los agregados en una lista simple con el total de cada uno de los grupos. Por supuesto, para la agregación, tiene sentido utilizar una matriz local en el formulario: #Code Snippet #Mejores prácticas #ObjectScript #Caché #InterSystems IRIS 3 1 0 177
Artículo Ricardo Paiva · 29 jul, 2021 Lectura de 2 min Condiciones WHERE estáticas 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. #Code Snippet #Consejos y trucos #ObjectScript #SQL #Tablas relacionales #Caché #Ensemble #InterSystems IRIS 0 0 0 167
Artículo Ricardo Paiva · 22 jul, 2021 Lectura de 3 min Cómo evitar el registro de conexiones superfluas en las interfaces TCP 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: #Operación empresarial #Servicio empresarial #Consejos y trucos #Depuración #HL7 #Interoperabilidad #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 139
Artículo Ricardo Paiva · 16 jul, 2021 Lectura de 7 min Cómo transferir archivos a través de REST para almacenar en una propiedad. Parte 1 Surgió una pregunta en la Comunidad de Desarrolladores de InterSystems sobre la posibilidad de crear una interfaz TWAIN para una aplicación Caché. Hubo varias sugerencias excelentes sobre cómo obtener datos de un dispositivo de imágenes en un cliente web a un servidor y después almacenar estos datos en una base de datos. #API REST #InterSystems IRIS Open Exchange app 0 0 0 4.5K