#InterSystems IRIS

4 Seguidores · 1.4K Publicaciones

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.

Artículo Mario Sanchez Macias · mayo 13, 2021 9m read

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.

1
0 361
Artículo Kurro Lopez · ago 31, 2021 2m read

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:

  • Crear una macro que genere las secuencias de código requeridas
  • Crear un comando extendido para realizar la acción.
0
0 182
Artículo Ricardo Paiva · ago 26, 2021 2m read

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

0
0 139
Artículo Ricardo Paiva · ago 19, 2021 2m read
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.

0
0 128
Pregunta Marta Ventura-Costa · ago 4, 2021

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.

1
0 280
Artículo Alberto Fuentes · ago 13, 2021 4m read

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.

0
0 346
Artículo Eduardo Anglada · ago 12, 2021 3m read
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.

0
0 186
Artículo Nancy Martínez · ago 11, 2021 5m read

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.

  1. Sigue las instrucciones del artículo https://es.community.intersystems.com/post/intersystems-iris-y-odata para exponer tus datos de IRIS como servicios Odata de REST.
  2. Para consumir datos de InterSystems IRIS desde SAP utilizando OData, sigue estos pasos (créditos de los siguientes pasos a este tutorial: https://sapyard.
0
0 229
Artículo Dani Fibla · ago 9, 2021 3m read

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

0
0 555
Artículo Ricardo Paiva · jul 29, 2021 2m read

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.

0
0 182
Artículo Ricardo Paiva · jul 22, 2021 3m read

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:

0
0 170
InterSystems Official Mario Sanchez Macias · jul 22, 2021

InterSystems ha corregido un defecto que puede ocasionar resultados incorrectos en consultas SQL. Este defecto afecta a:

  • Todas las versiones principales y versiones de mantenimiento de InterSystems IRIS e InterSystems IRIS for Health, desde 2019.1.0

Un bloque de SQL puede encontrarse con el defecto sólo si se cumplen las siguientes condiciones:

  • El bloque contiene una condición GROUP BY pero no incluye ningún agregado, como COUNT(*).
  • La condición SELECT incluye un campo que no está en la condición GROUP BY*, y el bloque contiene una condición WHERE en ese campo.
  • Los resultados del bloque de SQL se pueden determinar totalmente desde un índice único, y ese índice empieza con el campo en la condición GROUP BY del bloque.
0
0 107
Artículo Alberto Fuentes · mayo 24, 2019 18m read

Al igual que con Pattern Matching, se pueden utilizar Expresiones Regulares para 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.

3
1 1097
Anuncio Esther Sanchez · jul 20, 2021

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

Continuando con ObjectScript

0
0 108
Anuncio Esther Sanchez · jul 12, 2021

¡Hola desarrolladores!

Os invitamos a un nuevo webinar en español: "Continuando con ObjectScript - Persistencia e Integración", el lunes 19 de julio, a las 4:00 PM (CEST).

 

En este webinar continuaremos introduciendo ObjectScript, el lenguaje de programación de InterSystems. Trabajaremos con Clases Persistentes y comenzaremos a trabajar con Producciones para integrar sistemas.

Es un webinar dirigido a programadores que empiezan a utilizar ObjectScript y también a aquellos que quieren revisar conceptos.

2
0 183
Artículo Mario Sanchez Macias · jul 19, 2021 17m read

Siguiendo la serie de artículos de mi compañero Murray vamos a centrarnos en el artículo donde analizamos la CPU.

Un cliente me pidió que le aconsejara sobre el siguiente escenario: sus servidores de producción se están acercando al final de su vida útil y es el momento de actualizar el hardware. También están pensando en consolidar los servidores por medio de la virtualización y quieren ajustar la capacidad, ya sea con servidores de hardware dedicado o virtualizados.

Hoy analizaremos la CPU. En artículos posteriores explicaré el enfoque para dimensionar correctamente otros "grupos alimenticios de hardware": la memoria y las Entradas/Salidas.

0
0 240
Artículo Ricardo Paiva · jul 16, 2021 7m read

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.

Sin embargo, para implementar cualquiera de estas sugerencias, se debe poder transferir datos desde un cliente web a un servidor de base de datos y almacenar los datos recibidos en una propiedad de clase (o una celda de tabla, como fue el caso en la pregunta).

0
0 4748
Artículo Eduardo Anglada · jul 15, 2021 5m read

¡Hola a todos!

Todos los días la universidad Johns Hopkins publica nuevos datos sobre el estado de la pandemia del coronavirus COVID-19.

Creé un sencillo panel de control con InterSystems IRIS Analytics usando InterSystems IRIS Community Edition en Docker, implementado en Kubernetes GCP, para mostrar los datos clave sobre el avance de la enfermedad.

Este panel de control es un ejemplo de como la información en formato CSV podría ser analizada con IRIS Analytics e implementada en Kubernetes GCP, con la forma de InterSystems IRIS Community Edition.

0
0 128