#Caché

5 Seguidores · 377 Publicaciones

  

InterSystems Caché es un multi-modelo de DBMS y la aplicación server. See más detalles aquí.

Documentación.

Descargar Evaluación de Caché.

Artículo Mathew Lambert · mayo 19, 2020 2m read

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 152
Artículo Mathew Lambert · mayo 18, 2020 2m read

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 184
Artículo Kurro Lopez · mayo 17, 2020 7m read

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.

0
0 349
Artículo Kurro Lopez · oct 8, 2019 4m read

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:

https://generadordni.es/

Cálculo de letra de un número DNI

2
0 380
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 1367
Pregunta Mathew Lambert · abr 28, 2020

He estado leyendo la guía de documentación para 2018.1 sobre los planes de consultas congeladas varias veces en los últimos días ( enlace ) y hay una respuesta que no encuentro directamente.

Mi forma de actualización on premise es:

  • Actualizar la versión de HealthShare
  • Descongelar todos los planes de consulta de mi namespace
  • Purgado de todas las queries
  • Sobreescribo la base de datos que contiene la lógica (tanto la lógica antigua como la nueva contienen consultas estáticas compiladas con la versión HS de destino y consultas dinámicas)
1
0 138
Artículo Andrei Luiz Nenevê · abr 27, 2020 1m read

Hola a todos,

Creé un Generador Identicon inspirado en el Fabio GonçalvesCaptcha Validator.

Este ejemplo se puede usar para crear Identicons para usuarios de aplicaciones, por ejemplo, puede ser útil para usar en aplicaciones Zen Mojo, generando una imagen de identificador basada en el nombre del usuario, por ejemplo, pero también se puede usar en otros tipos de aplicaciones (Zen, CSP, etc.).

Ejemplos:

Primero:

Generará esto:

 

es este:

Generará esto:

Ver mi proyecto en Github: https://github.com/AndreiLN/Ikon

Atentamente,

Andrei L. Nenevê

0
0 196
Pregunta Kurro Lopez · abr 17, 2020

Hola a todos,

Tengo una clase que ha estado funcionando hasta ahora :(

La clase extiende la clase EnsLib.RecordMap.Service.FTPService y agrega información para cada fila.

Ahora, cuando guarda el objeto, genera el siguiente error

ERROR #5803: Error al asignar un bloqueo exclusivo

He visto la otra pregunta en la comunidad y he tratado de desbloquear

do## clase (mi.clase).% UnlockExtent(0,1)
pero no funciona
 
¿Alguna idea?
 
Un saludo
3
0 248
Artículo Javier Lorenzo Mesa · abr 20, 2020 5m read

¡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 actualmentees 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 4977
Artículo Mathew Lambert · abr 16, 2020 10m read

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

Resumen

Mi objetivo con este artículo es mostrar cómo usar TDD con %UnitTest. Mostraré mi flujo de trabajo y explicaré cómo usar cosFaker, un proyecto de @Henry Pereira Pereira, usando Caché y que hace poco lo subió a OpenExchange.

Así que... ¡preparaos que allá vamos!

¿Qué es TDD?

0
0 284
Artículo Mathew Lambert · mar 20, 2020 2m read

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.

0
0 129
Pregunta Jorge Jerez · mar 10, 2020

Hola

Estoy trabajando con un equipo de desarrolladores que quieren dar el salto a InterSystems 2019.4, actualmente utilizan Object Script para sus desarrollos, y no utilizan ningún tipo de sistema de control de versiones. 

Yo desconozco como funciona todo este entorno, por lo que he creído que sería buena idea solicitar ayuda en la comunidad, ya que parece bastante activa, y así asegurarnos de seguir buenas prácticas. 

14
0 425
Artículo Kurro Lopez · mar 16, 2020 5m read

En el primer artículo empecé a analizar RESTForms - REST API para tus clases persistentes y hablamos sobre las características básicas. Ahora, me gustaría hablar sobre las características avanzadas, principalmente las capacidades de consultas:

  • Consultas básicas
  • Consultar argumentos
  • Consultas personalizadas

Consultas

Las consultas pueden obtener segmentos de datos, criterios en criterios arbitrarios. Hay dos tipos de consulta en RESTForms:

  • Las consultas básicas funcionan para todas las clases RESTForms una vez definidas y solo difieren en la lista de campos
  • Las consultas personalizadas solo funcionan para las clases en las que están especificadas y disponibles, pero el desarrollador tiene acceso completo al texto de la consulta
0
0 440
Artículo Javier Lorenzo Mesa · mar 11, 2020 6m read

¡Hola a tod@s!

El desarrollo completo en JavaScript (Full-Stack) permite crear aplicaciones de última generación con Caché. En cualquiera de las aplicaciones (web) que se desarrollan hoy en día, hay que tomar muchas decisiones estructurales y debemos saber cuales son las decisiones correctas. Con el conector Node.js disponible para Caché, se puede crear un potente servidor de aplicaciones, que permitirá utilizar la última tecnología de JavaScript y marcos de aplicaciones (frameworks) tanto del lado del cliente como del servidor.

Con todas estas nuevas tecnologías, lo más importante es integrarlas de la manera más eficiente posible y que permitan generar una experiencia de desarrollo muy productiva. Este artículo pretende introducirte paso a paso en la tecnología Node.js.

0
0 722
Artículo Joel Espinoza · feb 27, 2020 15m read

Hola Comunidad:

Esta publicación está dedicada a la tarea de supervisar una instancia de Caché usando SNMP. Algunos usuarios de Caché probablemente ya lo hacen de una u otra forma. Hace ya mucho que el paquete de Caché estándar soporta la supervisión por SNMP, pero no todos los parámetros necesarios vienen "listos para usar". Por ejemplo, sería bueno poder supervisar el número de sesiones CSP, obtener información detallada sobre el uso de la licencia, KPI particulares del sistema en uso, etc. Después de leer este artículo, sabrás cómo agregar tus parámetros a la supervisión de Caché mediante SNMP.

4
0 2386
Artículo Mathew Lambert · mar 6, 2020 3m read

¡Hola Comunidad!

Esta publicación es para presentarles uno de los primeros proyectos en COS de @Henry Pereira . Lo creó cuando empezó a aprender el lenguaje y lo sigue mejorando hasta hoy.

El CosFaker (aquí en Github) es una biblioteca de COS pura, para generar datos falsos.

cosFaker vs Utils de populación

¿Por qué usar cosFaker si Caché tiene la utilidad de popular datos?

1
1 164
Pregunta Yunier Gonzalez · mar 4, 2020

Hola comunidad. Tengo la siguiente duda. Necesito saber si es posible ejecutar desde dentro de mi clase Una consulta CURL o poder ejecutar una URL. Me explico:

Necesito consumir cierta información que esta alojada en Firebase de una aplicación móvil. La idea es ir cada cierto tiempo a buscar esa información. Dejo un link para que se pueda entender mejor el servicio que necesito consumir.

Desde ya muchas Gracias!!!!

PD: en la etiqueta puse API REST porque no encontre la palabra CURL

3
0 311
Artículo Mathew Lambert · mar 4, 2020 5m read
¡Hola Comunidad!
Esta es una explicación acerca de:
  • por qué es importante obtener el $zv (el POR QUÉ),
  • qué significan los componentes de $zv (el QUE),
  • y cómo recopilar $zv (el CÓMO). 

(La guía definitiva sobre $zv para la galaxia ISC en palabras sencillas y entendibles).

0
0 271
InterSystems Official David Reche · mar 2, 2020

Desde marzo de 2020, Microsoft planea lanzar una serie de actualizaciones de seguridad que harán que los servidores Active Directory (AD) de Windows rechacen vínculos de canales no cifrados. Para más detalles de los cambios en Active Directory, pueden consultar el aviso de seguridad de Microsoft: ADV190023.

0
0 197
Artículo Daniel Aguilar · feb 24, 2020 6m read

El tema del rendimiento de los bucles for/while en Caché ObjectScript surgió recientemente en una discusión, y me gustaría compartir algunas ideas/prácticas recomendadas con el resto de la comunidad. Aunque este es un tema básico por sí mismo, es útil conocer con cuales se obtiene un mayor rendimiento.

En resumen, las opciones más rápidas son los bucles que se iteran por $ListBuild, las listas que se forman con $ListNext o sobre un conjunto local mediante $Order.

Por ejemplo, consideraremos iterar un bucle por cada elemento de una cadena delimitada por comas.

1
0 386
Artículo Mathew Lambert · feb 21, 2020 1m read

Estaba buscando la forma mas simple de conectar desde el visual studio code a mi instancia local por el terminal sin tener que ir cambiando de ventana.

Soy consciente de que esto tambien se puede conseguir por telnet pero me parece complicar la cosa para conectarme a mi local.

La solución mas sencilla me ha parecido navegar a la carpeta /bin de la instalación (o añadirla al PATH), y ejecutar .\csession.exe NOMBREDEINSTANCIA.

De hecho si tienes añadidas instancias remotas como conexiones, también se puede acceder a ellas.

Eso es todo!

0
0 287
Pregunta Javier Sanchis · feb 13, 2020

Hola a todos, 

He estado leyendo algún post en la comunidad pero no he conseguido llegar a una conclusión. Os expongo mi cuestión.

Tengo un código caché, y siguiendo esta guía https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?… pero no llego a entender como poder ejecutar esto desde jenkins por ejemplo, sin tener que utilizar la consola, y con ello automatizar el proceso. Es decir, si fuera posible hacerlo, que pasos debería seguir.

muchas gracias

3
0 205
InterSystems Official David Reche · feb 12, 2020

*** Actualización 11/2/20 2:15pm ***

*** La versión 2017.2.1 NO está afectada ***

InterSystems ha corregido un defecto que puede ocasionar que el CSP Gateway envíe una respuesta al cliente web incorrecto. Este defecto no está presente en el Web Gateway.

El CSP Gateway se distribuye como componente de una instalación en red y también en monopuesto. Ambas distribuciones están afectadas por el problema. El CSP Gateway instalado con el servidor web Apache para el Portal de Administración también es vulnerable. Las versiones afectadas del CSP Gateway están asociadas con Caché o Ensemble:

0
0 149
Pregunta Mathew Lambert · feb 12, 2020

Recientemente me encontré con un HS Caché que no arranca informando que la Collation 30 no está disponible, pero no he encontrado una manera fácil de saber qué colación es 30.

Ejecutando el siguiente comando devuelve las Collations de la locale actual, pero no de todas ellas

Set Rset = ##class(%ResultSet).%New("%Library.Collate:CollationList")

d Rset.Execute()

While (Rset.Next()) {zw Rset.Number_": "_Rset.Name}

Gracias

1
0 181
Artículo Estevan Martinez · feb 11, 2020 7m read

Esta publicación es el resultado directo de trabajar con un cliente de InterSystems que acudió a mí con el siguiente problema:

SELECT COUNT(*) FROM MyCustomTable

Esto tarda 0.005 segundos, con 2300 filas en total.  Sin embargo:

SELECT * FROM MyCustomTable
0
0 189
Artículo Kurro Lopez · feb 10, 2020 8m read

En este artículo me gustaría presentar el proyecto RESTForms: back-end genérico REST API para aplicaciones web modernas.

La idea detrás del proyecto es simple: después de escribir varias API REST, me di cuenta de que, en general, la API REST consta de dos partes:

  • Trabajar con clases persistentes.
  • Lógica de negocio personalizada

Y, si bien tendrá que escribir su propia lógica de negocio personalizada, RESTForms proporciona todo lo relacionado con el trabajo con clases persistentes desde el primer momento.
Casos de uso

  • Ya tiene un modelo de datos en Caché y desea exponer parte (o toda) de la información en forma de API REST
  • Está desarrollando una nueva aplicación Caché y desea proporcionar una API REST
0
0 440