En la última publicación programamos recogidas de métricas de rendimiento usando pButtons, a lo largo de 24 horas. En esta publicación, analizaremos algunas de esas métricas clave que se están recogiendo y cómo se relacionan con el hardware del sistema subyacente. También empezaremos a explorar la relación entre las métricas de Caché (o de cualquiera de las plataformas de datos de InterSystems) y las métricas del sistema. Veremos también cómo usar estas métricas para entender el pulso diario de tu sistema y diagnosticar problemas de rendimiento.

0 0
0 135

Este es el primer artículo de una serie que se sumerge en herramientas de visualización y análisis de datos de series temporales. Obviamente, estamos más interesados en analizar los datos relacionados con el rendimiento que podemos recopilar de la familia de productos Caché. Sin embargo, como veremos más adelante, no estamos limitados a eso. Por ahora estamos explorando Python y las bibliotecas/herramientas disponibles dentro de ese ecosistema.

0 0
0 248
Artículo
· 22 jul, 2020 Lectura de 8 min
El arte de mapear Globals para Clases (5 de 3)

Ejemplos de Mapeos

Obviamente, si tienes un cuatro artículo en la trilogía, debes apostar por las ganancias económicas y escribir el quinto, ¡así que aquí está!

Nota: Hace muchos años, Dan Shusman me dijo que el mapeo de globals es una forma de arte. No existe una manera correcta o incorrecta de hacerlo. El modo en que interpretes los datos te llevará al tipo de mapeo que realizas. Como siempre, existe más de una forma de llegar a la respuesta final. Según vayas revisando mis ejemplos, verás que hay algunos en los que se mapean el mismo tipo de datos, pero de distintas maneras.

0 0
0 147
Artículo
· 17 jul, 2020 Lectura de 13 min
Programación especial con InterSystems

¡Hola desarrolladores!

Apuesto a que no todos los que estáis familiarizados con InterSystems Caché conocéis las extensiones de Studio para trabajar con el código fuente. De hecho, podéis usar Studio para crear vuestro propio tipo de código fuente, compilarlo en código de objeto e interpretable (INT) y a veces hasta añadir soporte para finalización de código. Es decir, teóricamente podéis hacer que Studio acepte cualquier lenguaje de programación a ejecutar por el DBMS (Sistema de Administración de Bases de Datos), así como Caché ObjectScript. En este artículo, os mostraré un ejemplo sencillo de cómo escribir programas en Caché Studio usando un lenguaje similar a JavaScript. Si os interesa, seguid leyendo.

0 0
0 223

¡Hola a tod@s!

El Portal de Administración del Sistema Caché incluye una potente herramienta de consultas en SQL basada en la web, aunque para algunas aplicaciones lo más conveniente es utilizar un cliente dedicado SQL que esté instalado en la PC del usuario.

SQuirreL SQL es un conocido cliente SQL de código abierto construido en Java, que utiliza JDBC para conectarse a un DBMS. Como tal, podemos configurar SQuirreL para que se conecte a Caché usando el controlador JDBC en Caché.

1 2
0 1.8K
Artículo
· 7 jul, 2020 Lectura de 6 min
Ejecución remota de código para InterSystems Caché

Introducción

Si gestionas múltiples instancias de Caché en varios servidores, puede que quieras ejecutar código arbitrario de una instancia de Caché en otra. Los administradores de sistemas y especialistas de soporte técnico también podrían querer ejecutar un código arbitrario en servidores Caché remotos. Para satisfacer estas necesidades, he desarrollado una herramienta especial llamada RCE.

En este artículo, analizaremos cuáles son las formas más comunes de resolver tareas similares y cómo RCE (Remote Code Execution) puede ser útil.

0 0
0 337

Transforma fácilmente un archivo CSV en una vista previa de DeepSee: la plataforma de inteligencia de negocios de InterSystems.

Puedes encontrar AnalyzeThis en InterSystems Open Exchange. Utiliza el enlace de descarga para ir a GitHub y comienza a instalar el proyecto. Sigue las instrucciones de la sección Installation del README de GitHub.

0 0
0 97

¡Hola desarrolladores de ObjectScript!

How to Protect Your Belongings from Pests While Moving - Delicate ...

InterSystems ObjectScript es probablemente el mejor lenguaje del mundo para trabajar con globals - y es un lenguaje interpretado.

Sí, tiene un compilador. Pero incluso el compilador puede dejar escapar y compilar algunas líneas en ObjectScript que después generen error en tiempo de ejecución.

Hay algunas técnicas para evitarlo tales como los tests unitarios, guías de programación y, por supuesto, ¡tu experiencia programando! ;)

Aquí quiero presentarte otra alternativa más para que puedas reducir el número de errores de ejecución de tu ObjectScript y reforzar la aplicación de tus guías de programación - se trata de la herramienta de Calidad de ObjectScript desarrollada por Lite Solutions, un partner de InterSystems.

Más detalles a continuación.

1 0
0 128

¡Hola desarrolladores!

El desarrollo de una aplicación web Full-Stack en JavaScript con Caché requiere que juntes los bloques correctos para construirla. En la primera parte de este artículo, creamos una aplicación básica para desarrollar el frontal de usuario (front-end) en React. En esta segunda parte, mostraré cómo elegir la tecnología más adecuada para desarrollar la parte servidora (back-end) de tu aplicación. Verás que Caché te permite utilizar diferentes enfoques para vincular tu front-end con tu servidor de Caché, dependiendo de las necesidades de tu aplicación. También configuraremos un back-end mediante Node.js/QEWD y CSP/REST. En la siguiente parte, vamos a mejorar nuestra aplicación básica web y la conectaremos a Caché usando estas tecnologías.

0 0
0 1.7K

¡Hola desarrolladores!

¿Os habéis encontrado con la necesidad de crear una base de datos, un namespace o una aplicación web de manera programática?
Quiero compartir con vosotros un fragmento de código ObjectScript que permite crear una base de datos, un namespace y una aplicación web para InterSystems IRIS.

0 0
0 324
Artículo
· 26 mar, 2020 Lectura de 14 min
Conoce tus índices

Este es el primero de dos artículos sobre los índices SQL.

Parte 1 - Conoce tus índices

¿Qué es un índice?

Recuerda la última vez que fuiste a una biblioteca. Normalmente, los libros están ordenados por temática (y luego autor y título) y cada repisa tiene un cartel en el extremo con un código que describe la temática de los libros. Si necesitaras libros de un cierto tema, en lugar de caminar por cada pasillo y leer la descripción en la parte interior de cada libro, podrías dirigirte directamente al estante cuyo cartel describa la temática que buscas y elegir tus libros de allí. Sin esos carteles, el proceso de encontrar los libros que quieres, habría sido muy lento.

Un índice SQL tiene la misma función general: mejorar el rendimiento, al ofrecer una referencia rápida del valor de los campos para cada fila de una tabla.

Configurar índices es uno de los pasos más importantes a la hora de preparar tus clases para un rendimiento óptimo de SQL.

0 1
1 285
Artículo
· 11 jun, 2020 Lectura de 4 min
Resumen sobre el alcance de las variables locales

Este es un resumen de un tema que aparece en varios lugares de la documentación en línea, sobre todo como observaciones, pero nunca como un capítulo dedicado.

Érase una vez... No, no es un cuento para niños.
En los comienzos de Caché (y antes), tenías tu partición para ejecutar tu código. Parte de esa partición era un espacio con todas tus variables locales bien ordenadas según %,A,..Z,a,...z

3 1
0 164
Artículo
· 10 jun, 2020 Lectura de 2 min
Sincronizar datos con el DSTIME

¡Hola Comunidad!

Para la sincronización de datos dentro de Caché/IRIS, existen varias formas de sincronizar objetos y tablas. A nivel de la base de datos se puede usar Shadowing o Mirroring

Esto funciona perfectamente, y si solo necesitas sincronizar una parte de tus datos, puedes partir tus datos en conjuntos más pequeños usando Global mapping. O, si necesitas sincronización bidireccional a nivel de clase/tabla, puedes usar la herramienta Object Synchronization.

El único límite de todos estos métodos es que sólo funcionan desde Caché/IRIS hacia Caché/IRIS. Si quieres sincronizar tus datos a alguna base de datos externa, necesitas alguna otra solución.

0 0
0 164

Introducción

Un requisito frecuente en muchas aplicaciones es registrar en una base de datos los cambios que se realizan en los datos- qué datos se modificaron, quién los modificó y cuándo (control de cambios). Hay muchos artículos relacionados con el tema y existen diferentes métodos sobre cómo hacer esto en Caché.

0 1
0 262
Artículo
· 15 mayo, 2020 Lectura de 9 min
Gestión de índices

¡Hola desarrollador!

Si has leído la parte 1 de este artículo, ya tienes una buena idea del tipo de índices que necesitas para tus clases y cómo definirlos. Lo siguiente es saber cómo gestionarlos.

Plan de consultas

(RECUERDA: Al igual que cualquier modificación en una clase, añadir índices en un sistema en producción conlleva riesgos: si los usuarios están actualizando o accediendo a datos mientras se rellena un índice, podrían obtener resultados vacíos o incorrectos a sus consultas, o incluso dañar los índices que se están formando. Ten en cuenta que hay pasos adicionales para definir y usar índices en un sistema en producción. Estos pasos se analizarán en esta sección, y se detallan en nuestra documentación).

0 1
0 186
Artículo
· 22 mayo, 2020 Lectura de 9 min
MonCaché - Caché como parte de MongoDB

¡Hola desarrollador!

En este articulo repasaremos una publicación original de Maks Atygaev sobre la Implementación de una API de MongoDB, basada en InterSystems Caché - MonCaché.

https://habrastorage.org/files/26f/995/320/26f995320d4a4d5fbe44c8ba3b3fe24d.png

Descargo de responsabilidad: En este artículo se muestra la opinión personal del autor y no tiene ninguna relación con opinión oficial de InterSystems.

Idea

La idea del proyecto es implementar las características básicas de la API en MongoDB (v2.4.9) , con la finalidad de buscar, guardar, actualizar y eliminar documentos de una manera que permita el uso de InterSystems Caché, en lugar de MongoDB, sin cambiar el código del lado del cliente.

0 0
0 346
Artículo
· 19 mayo, 2020 Lectura de 2 min
Cliente para WebSockets basado en CSP

Los WebSockets, como tecnología de comunicación, están ganando una importancia cada vez mayor.
En el namespace SAMPLES puedes encontrar un buen ejemplo para ejecutar un WebSocket Server.
También hay un útil ejemplo para un Browser Client, pero sigue estando en el navegador.

La cuestión es:
¿Cómo consumir la salida de un WebSocket Server en tu aplicación?

0 0
0 113
Artículo
· 18 mayo, 2020 Lectura de 2 min
Cliente para WebSockets basado en Node.js

Los WebSockets, como tecnología de comunicación, están ganando una importancia cada vez mayor.
En el namespace SAMPLES puedes encontrar un buen ejemplo para ejecutar un WebSocket Server.
También hay un ejemplo útil para un Browser Client en el cual JavaScript hace la mayor parte del trabajo.

La cuestión es:
¿Cómo consumir la salida de un WebSocket Server en tu aplicación?

0 0
0 135
Artículo
· 17 mayo, 2020 Lectura de 7 min
Macros en InterSystems Caché

En este artículo me gustaría contarle acerca de las macros en InterSystems Caché. Una macro es un nombre simbólico que se reemplaza con un conjunto de instrucciones durante la compilación. Una macro puede "desplegarse" en varios conjuntos de instrucciones cada vez que se llama, dependiendo de los parámetros que se le pasen y los escenarios activados. Esto puede ser tanto código estático como el resultado de la ejecución de ObjectScript. Echemos un vistazo a cómo puede usarlos en su aplicación.

2 0
0 282
Artículo
· 8 oct, 2019 Lectura de 4 min
Funciones útiles para DNI

Hola a todos:

En este artículo quiero compartir unas funciones con vosotros, que espero os sean útiles en algún momento.

Definiciones

DNI: Documento Nacional de Identidad. Se compone de diferentes series de números y letras, que acreditan la identidad y los datos personales del titular, así como la nacionalidad española. Ejemplo: 94494452X

NIE: Número de Identificación Extranjero: Es un código para extranjeros en España.

Si necesitas generar ejemplos, puedes generar ejemplos de DNI o NIE en el siguiente enlace:

2 2
0 294
Artículo
· 7 mayo, 2020 Lectura de 4 min
Uso de OAuth2 con Servicios Web SOAP

¡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
0 1.2K

¡Hola Comunidad!

El desarrollo de una aplicación web Full-Stack en JavaScript con Caché requiere que se junten los bloques correctos para construirla. Anteriormente, describí cuáles son los pasos básicos para instalar y conectar Node.js con Caché y hacer que sus potentes capacidades como base de datos multimodelo estén disponibles para utilizarse con Node.js. Se puede usar Caché como una base de datos NoSQL, de documentos (¡con acceso único al nivel de la clave!), SQL y base de datos orientada a objetos con Node.js. Cuando desarrolles aplicaciones en JavaScript, verás lo potente que es esta combinación y cómo hace que Caché encaje perfectamente con Node.js.

En la primera parte de esta serie de artículos, mostraré cómo comenzar con el framework React, uno de los entornos más populares y que actualmente es una potente alternativa de librería para el desarrollo front-end. En los siguientes artículos aprenderemos cómo conectar una aplicación web básica con un back-end de Caché.

0 0
0 4.7K

¡Hola Comunidad!

Descubrí el Desarrollo Basado en Pruebas (TDD) hace casi 9 años y me enamoré del concepto inmediatamente.

Hoy se ha vuelto muy popular pero, desafortunadamente, muchas empresas no lo usan. Es más, muchos desarrolladores, sobre todo principiantes, ni siquiera saben exactamente qué es ni como usarlo.

2 0
0 237
Artículo
· 20 mar, 2020 Lectura de 2 min
SPOOL - El dispositivo olvidado

Hola a tod@s,

En recientes conversaciones, respuestas y comentarios, la redirección IO (con el famoso código) se veía como la solución indiscutible. Sin duda, es una solución potente y no solo permite registrar la salida, sino también hacer captura de teclas en la entrada.

Pero creo que para simplemente generar un registro (log), supone un sobretrabajo. Si solo necesitas obtener un texto o descargar sus variables u objetos, entonces SPOOL debería ser suficiente.

1 0
0 90