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

Anuncio Esther Sanchez · sep 29, 2022

¡Hola desarrolladores!

Os invitamos a un nuevo webinar en español: "Despliegues en Kubernetes con Alta Disponibilidad", el jueves 20 de octubre, a las 4:00 PM (CEST).

  

El webinar está dirigido a desarrolladores y técnicos DevOps que quieran aprender a automatizar de forma sencilla despliegues de tecnología InterSystems utilizando Kubernetes.

2
1 13781
Anuncio Esther Sanchez · nov 8, 2022

¡Hola desarrolladores!

Os invitamos a un nuevo webinar en español: "Analítica de datos en FHIR. Del paciente a la población", el jueves 17 de noviembre, a las 3:00 PM (CET).

El webinar se retransmitirá en directo desde el Congreso "Iberia Summit" que InterSystems celebrará en Valencia la semana que viene.

 

1
0 10157
Artículo Jose-Tomas Salvador · mar 31, 2020 6m read

Esta vez quiero hablar de algo que no es específico de InterSystems IRIS, pero que creo que es importante si quieres trabajar con Docker y tu máquina de trabajo es un PC o portátil con Windows 10 Pro o Enterprise.

Como probablemente sabes la tecnología de contenedores viene básicamente del mundo Linux y, a día de hoy, es en los hosts que corren Linux donde pueden mostrar su máximo potencial. Los que usamos Windows vemos que tanto Microsoft como Docker han hecho grandes esfuerzos estos últimos años y nos permiten correr contenedores Linux en nuestro sistema Windows de una manera muy sencilla... pero no está soportado para entornos productivos y, aquí viene el gran problema, no es fiable si queremos mantener persistencia de datos fuera del contenedor, en el sistema host,...  debido principalmente a las importantes diferencias entre los sistema de archivos de Windows y Linux. Al final el propio Docker for Windows utiliza una pequeña máquina Linux virtual (MobiLinux) sobre la que realmente se levantan los contenedores.... lo hace de forma transparente para el usuario de windows... y de hecho funciona muy bien hasta que, como digo, quieren hacer que tus bases de datos sobrevivan más allá de la vida del contenedor...

En fin,... que me enrollo,... el caso es que muchas veces, para evitar problemas y simplificar, lo que se precisa es de un sistema Linux completo... y, si nuestra máquina es Windows, la única forma de tenerlo es vía una máquina virtual. Al menos hasta que salga WSL2 en Windows 10 en unos meses, pero eso es otra historia.

En este artículo te voy a contar, paso a paso, como instalar un entorno en el que puedas trabajar con contenedores Docker sobre un Ubuntu en tu servidor Windows. Vamós allá...

3
0 8351
Artículo Ricardo Paiva · mar 11, 2021 6m read

Quería escribirlo como comentario al artículo de @Evgeny.Shvarov. Pero resultó demasiado largo, así que decidí publicarlo por separado.

Imagen que resulta de Docker cuando se limpian todas las imágenes

Me gustaría añadir una pequeña aclaración sobre cómo utiliza Docker el espacio en disco y como limpiarlo. Yo uso macOS, por lo tanto todo lo que explico aplica principalmente a macOS, pero los comandos de Docker se adaptan a cualquier plataforma.

1
0 4901
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 4749
Artículo Dani Fibla · sep 14, 2021 5m read

Spring Boot es el framework de Java más utilizado para crear APIs REST y microservicios. Se puede utilizar para implementar sitios webs o webs ejecutables o aplicaciones de escritorio independientes, donde la aplicación y otras dependencias se empaquetan juntas. Springboot permite realizar muchas funciones, como:

Nota: para saber más sobre SpringBoot, consulta el sitio oficial: https://spring.

0
0 3877
Artículo Eduardo Anglada · sep 24, 2021 2m read

Ejecuto la mayoría de mis revisiones con Docker Desktop en Windows 10. Según las recomendaciones, limpio Docker y los repositorios descargados después de las pruebas:
Los repositorios son sencillos, pero Docker se resiste un poco a liberar el espacio consumido en el disco. Los pasos que ejecuté inicialmente son:

  • eliminar los contenedores pendientes  docker rm -f container . . .
  • eliminar las imágenes descargadas   docker rmi image  . . .
  • limpiar cachés y redes  docker system prune

Pero el espacio que consumió mi disco no se redujo.

Así que buscando en Google, encontré un método muy útil para reducir el consumo en disco de Docker. Y me gustaría compartir esta experiencia con vosotros.

2
0 2796
Artículo Dmitrii Kuznetsov · sep 19, 2022 17m read

Una sesión simultánea en IRIS: SQL, Objects, REST y GraphQL  

Kazimir Malevich, "Deportistas" (1932)

"¡Pues claro que no lo entiende! ¿Cómo puede una persona que siempre ha viajado en un carruaje tirado por caballos entender los sentimientos e impresiones del viajero expres o del piloto de aviones?"
Kazimir Malevich (1916)

Introducción

Ya hemos abordado el tema de por qué la representación de objetos/clases es superior a la de SQL para implementar modelos de áreas temáticas. Y esas conclusiones y hechos son tan ciertos ahora como lo han sido siempre. Entonces, ¿por qué deberíamos dar un paso atrás y hablar sobre las tecnologías que arrastran las abstracciones de vuelta al nivel global, donde habían estado en la era pre-objetos y pre-clases? ¿Por qué debemos fomentar el uso de "código espagueti", que provoca errores que son difíciles de rastrear y se basa en las habilidades de desarrolladores virtuosos? 

Hay varios argumentos a favor de la transmisión de datos por medio de APIs basadas en SQL/REST/GraphQL en lugar de representarlos como clases/objetos:

0
0 2573
Anuncio Esther Sanchez · mar 11, 2022

¡Hola desarrolladores!

Os invitamos a un nuevo webinar en español: "Explorando las nuevas funcionalidades de IRIS: Python Embebido", el miércoles 30 de marzo, a las 4:00 PM (CEST).

 

El webinar está dirigido a cualquier desarrollador Python o científico de datos.

Durante el webinar, descubriremos la potencia de Python, el nuevo lenguaje de programación añadido a IRIS. Python es un lenguaje en auge, cuya popularidad aumenta año tras año y que ya cuenta con más de un millón y medio de programadores en el mundo y con miles de librerías a su disposición.

2
0 1970
Artículo Alberto Fuentes · sep 25, 2019 4m read

¡Hola a tod@s!

K-Medias es uno de los algoritmos de aprendizaje no supervisado más simples para resolver el problema de agrupamiento. Este problema consiste en formar grupos de objetos con características similares. Por ejemplo, si tenemos una imagen de una pelota roja sobre césped verde, K-Medias separará los pixels de la imagen en dos grupos (clusters): un grupo con los pixels que forman la pelota, y otro grupo con los pixels del césped.

Repasaremos un artículo publicado por Niyaz Khafizov en el que implementaremos un ejemplo donde cargaremos un conjunto de datos en IRIS y ejecutaremos el algoritmo K-Medias utilizando Apache Zeppelin con el conector Spark. Utilizaremos InterSystems IRIS, Apache Zeppelin 0.8.0 y python.

0
0 1687
Artículo Ricardo Paiva · feb 6, 2020 15m read

Este artículo, y los dos siguientes de la serie, se conciben como una guía para los usuarios, los desarrolladores o para los administradores de sistemas que necesiten trabajar con la estructura de OAuth 2.0 (conocido también por simplicidad como OAUTH) en aplicaciones que estén basadas en los productos de InterSystems.

0
0 1640
Artículo Alberto Fuentes · mayo 14, 2019 3m read

Hola a todos, me gustaría compartir una guía rápida publicada en el Developer Community sobre cómo conectar Apache Spark +  Apache Zeppelin con InterSystems IRIS. 

Introducción

Apache Spark es un framework opensource para computación en cluster. Proporciona una interfaz para desarrollar sobre clusters incluyendo paralelismo y tolerancia a fallos. Por ello es muy utilizado en Big Data.

Apache Zeppelin es un bloc de notas, que cuenta con una excelente interfaz de usuario para trabajar con diversos tipos análisis y machine learning.

1
0 1564
Artículo Ricardo Paiva · dic 6, 2019 12m read

¡Hola Comunidad!

La mayor parte de las comunicaciones servidor-cliente en la web se basan en una estructura de solicitud y respuesta. El cliente envía una solicitud al servidor y el servidor responde a esta solicitud. El protocolo WebSocket ofrece un canal bidireccional de comunicación entre un servidor y un cliente, lo que permite a los servidores enviar mensajes a los clientes sin antes haber recibido una solicitud.

0
0 1547
Artículo Jose-Tomas Salvador · abr 20, 2021 9m read

Palabras clave: Python, JDBC, SQL, IRIS, Jupyter Notebook, Pandas, Numpy y aprendizaje automático 

Hoy me he encontrado con este artículo de Zphong Li, que publicó en Enero de 2020 pero que creo que es muy interesante y aún útil a día de hoy. Así que. para los que estéis haciendo vuestros primeros pinitos en Machine Learning con InterSystems IRIS, Python y Jupyter.

0
0 1524
Artículo Yuri Marx · feb 23, 2022 1m read

TOGAF son las siglas de The Open Group Architecture Framework (Esquema de Arquitectura del Open Group). Ofrece un enfoque para planificar, diseñar, implementar, desplegar y controlar proyectos de AE (Arquitectura Empresarial). En otras palabras, ofrece un marco de alto nivel para el desarrollo de software empresarial.

TOGAF ayuda a organizar el proceso de desarrollo a través de un enfoque sistemático dirigido a reducir los errores, mantener los plazos, mantenerse dentro del presupuesto y alinear la TI con las unidades de negocio para producir resultados de calidad.

0
0 1516
Artículo Heloisa Paiva · abr 18, 2023 2m read

Introducción

En algunos de mis artículos he hablado de tipos entre IRIS y Python, y está claro que no es tan fácil acceder a objetos de un lado a otro. 

Afortunadamente, el trabajo ya se ha hecho, con la creación de SQLAlchemy-iris, que hace mucho más fácil para Python acceder a los objetos de IRIS, y voy a mostraros cómo funciona.

¡Gracias, @Dmitry Maslennikov!
 

Instalación

Para instalarlo, simplemente abre tu terminal con acceso de administrador y escribe

pip install sqlalchemy-iris

y eso también instalará los pre-requisitos para ti, si fuera necesario.

0
0 1459
Artículo Jose-Tomas Salvador · jun 14, 2022 17m read

Introducción

Este artículo pretende dar una introducción a qué es gRPC y mostrar un ejemplo de cómo jugar con el Hola Mundo oficial utilizando IRIS Embedded Python.

En este repositorio puedes encontrar todo el código expuesto aquí.

gRPC

El gRPC (gRPC remote procedure call) es un estilo de API arquitectural basada en el protocolo RPC. El proyecto fue creado por Google en 2015 y está licenciado bajo Apache 2.0. Actualmente el proyecto es soportado por la Cloud Native Computing Foundation (CNCF).

0
1 1398
Artículo Mathew Lambert · mayo 7, 2020 4m read

¡Hola Comunidad!

Hace un par de días, un cliente me comunicó su intención de mejorar su aplicación legacy existente, que usa Servicios Web SOAP, por lo que comparte la misma autorización con su nueva API de aplicación basada en REST. Como su nueva aplicación usa OAuth2, el desafío estaba claro: cómo pasar un token de acceso con una solicitud SOAP al servidor.

Tras Googlear un poco, descubrí que una de las formas posibles de hacer esto era agregar un elemento de encabezado adicional al SOAP envelope y luego asegurarse de que la implementación del Webservice haga lo necesario para validar el token de acceso.

0
0 1374
Pregunta David E Nelson · oct 7, 2021

¡Hola!

En Atelier, puedo hacer clic en File --> New --> Class File; en File --> New --> Custom File, etc. para lanzar distintos wizards y plantillas que me ayudan a crear de forma rápida clases DeepSee KPI, manifiestos %Installer, Web Services, etc. Por supuesto, también están disponibles en Studio.

¿Hay algo similar en VSCode? Si es así, ¿dónde? He mirado en varios vídeos y en la documentación, pero no he encontrado nada.

¡Gracias!

David

4
0 1176
Artículo Bernardo Linarez · jul 9, 2019 24m read

¡Hola a tod@s!

La tarea de administrar documentos de Office (documentos docx, tablas xlsx y presentaciones pptx), es bastante complicada. En este artículo se ofrece una manera para analizar, crear y editar documentos usando únicamente XSLT y ZIP.

¿Por qué? docx es el formato más popular para documentos, por lo que la habilidad para generar y analizar este formato siempre puede ser de utilidad.

0
0 1156
Artículo Ricardo Paiva · nov 29, 2021 14m read

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. 

0
0 1119
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
Artículo David Reche · jul 1, 2019 6m read

Hola a todos,

En este artículo voy a hacer un paso a paso desde cero para la creación de una simple API REST mediante Node/Express conectada a una instancia de InterSystems IRIS.

No voy a adentrarme en mucho detalle acerca de cómo trabajar con cualquiera de las tecnologías que menciono en el tutorial, pero dejaré enlaces a documentación adicional por si quieres aprender más. El objetivo es proporcionar una guía práctica de cómo configurar y conectar un backend node.js a InterSystems IRIS.

0
1 1052
Artículo Muhammad Waseem · jul 26, 2022 10m read

La fecha y la hora son factores importantes en nuestra vida. Porque todas las aplicaciones son interesantes según la fecha y la hora. Pero el mundo está dividido en múltiples zonas horarias. Si nuestro producto se lanza al mundo, para mantener el historial de eventos, debemos convertir todas las horas a nuestra hora local o UTC (Tiempo Universal Coordinado). Por lo que sé, muchos lenguajes de programación conocidos de C#, JavaScript, Java, etc., ofrecían la librería para convertir la fecha y la hora, es decir, con un nombre de zona horaria podemos convertir sin conocer la diferencia horaria.

La base de datos TZ no existe en los productos de InterSystems. En el pasado, escribí la función en C# (C# tiene una librería para esto) y la usé dentro de InterSystems como una clase contenedora.

Pero ahora, IRIS comenzó a ser compatible con Python Embebido. Por eso, podemos usar la conversión de zona horaria de Python en InterSystems fácilmente.

0
0 1024
Artículo Alberto Fuentes · mayo 19, 2021 1m read

En Studio, podías abrir una clase directamente usando su nombre, sin tener que recorrer completamente el árbol de paquetes con un montón de clics hasta llegar a la clase deseada.

Con Ctrl + O o (File -> Open) podías escribir el nombre de la clase de forma sencilla, por ejemplo:

Pulsabas Enter y voilà!, la clase se abría.

¿Cómo se logra esto en VSCode?

0
0 1011
Artículo Alberto Fuentes · mayo 25, 2021 12m read

En este artículo, me gustaría hablar sobre el enfoque spec-first para el desarrollo de una API REST.

Mientras que el desarrollo tradicional code-first de una API REST es así:

  • Escribir el código
  • Habilitarlo en REST
  • Documentarlo (como una API REST)

Spec-first sigue los mismos pasos, pero a la inversa. Comenzamos con una especificación, — que también actúa como documentación — , generamos el código base de la aplicación REST a partir de ella, y finalmente escribimos la lógica de negocio concreta que nos haga falta.

Esto ofrece varias ventajas:

1
0 1003
Artículo Jose-Tomas Salvador · mayo 30, 2019 2m read

¿Qué pasaría si pudieras serializar/deserializar objetos en cualquier formato: JSON, XML, CSV,...; siguiendo diferentes criterios, exportar/importar unas propiedades y no otras, transformar valores de una u otra forma antes de exportarlos/importarlos,... y todo ello sin tener que cambiar la definición de la clase? ¿No sería genial si pudieras hacer todo eso?

Bueno, quizás sea un objetivo demasiado ambicioso para cumplirlo al 100% pero, al explorar esta idea, desarrollé muchas clases que pensé que sería bueno compartir. Si deseas probar, cambiar, modificar o mejorar el código, o simplemente echarle un vistazo, puedes hacerlo aquí. También encontrarás una explicación más detallada (consulta Readme.md)

Debes tener presente que esto es una prueba de concepto y la realicé durante mis ratos libres, por lo tanto, seguramente no es lo suficientemente robusta o puede mejorarse... pero, solo estaba jugando!....ok, podría haber esperado al lanzamiento del nuevo JSON Adaptor que seguro resuelve muchos escenarios de una manera más limpia, pero... mientras llegaba... :-) ...
2
0 1003
Artículo Ricardo Paiva · jul 14, 2022 6m read

A veces es necesario transferir o migrar datos y esquemas de datos de Postgres a IRIS. Actualmente hay varias opciones para hacerlo, pero las dos más populares son DBeaver y SQLGateway. Ésta última es descrita por Robert Cemper en este excelente artículo: DB Migration using SQLgateway (Migración de base de datos usando SQLgateway).

0
0 977