Limpiar filtro
9 Publicaciones•0 Seguidores
Anuncio
Esther Sanchez · 9 feb, 2022
¡Hola Comunidad!
Ya podéis reservar vuestras agendas para el mes de junio - Global Summit 2022, la Convención Anual de InterSystems, será presencial este año. Y en Seattle.
Os mantendremos informados sobre la agenda, los ponentes, actividades, etc.
Registraos para recibir todas las novedades del evento >>
4 Publicaciones•1 Seguidores
Artículo
Alberto Fuentes · 22 jun, 2021
En este artículo, ejecutaremos un clúster InterSystems IRIS usando Docker y [archivos CPF combinados](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=RACS_cpf#RACS_cpf_edit_merge) - una nueva característica que permite configurar servidores con facilidad.
> En UNIX® y Linux, puedes modificar el archivo predeterminado iris.cpf utilizando un archivo CPF combinado declarativo. Un archivo combinado es un CPF parcial en el que se establecen los valores deseados que queramos que tenga una instancia al iniciar. La operación de combinación en CPF sólo funciona una vez para cada instancia.
Nuestra arquitectura de clúster es muy sencilla, consistirá en un Nodo 1 (nodo maestro) y dos Nodos de datos ([echa un vistazo a todas las funciones disponibles](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=RACS_ShardRole)). Desafortunadamente, docker-compose no puede desplegar en diferentes servidores (aunque puede desplegar a hosts remotos), por lo que esto es útil para el desarrollo local de modelos de datos que utilicen sharding, pruebas, etc. Para el despliegue en producción de un cluster de estar características, debes utilizar [ICM](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GICM_using) o [IKO](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=AIKO).
## Docker-compose.yml
Comencemos con la configuración de docker-compose:
docker-compose.yml
version: '3.7'
services:
iris1:
image: containers.intersystems.com/intersystems/iris:2020.3.0.221.0
init: true
command: --key /ISC/iris.key
hostname: iris1
environment:
- ISC_DATA_DIRECTORY=/ISC/iris.sys.d/sys1
- ISC_CPF_MERGE_FILE=/ISC/CPF2merge-master-instance.conf
volumes:
- ./:/ISC:delegated
ports:
- 9011:1972
- 9012:52773
iris2:
image: containers.intersystems.com/intersystems/iris:2020.3.0.221.0
command: --key /ISC/iris.key --before 'sleep 60'
init: true
hostname: iris2
environment:
- ISC_DATA_DIRECTORY=/ISC/iris.sys.d/sys2
- ISC_CPF_MERGE_FILE=/ISC/CPF2merge-data-instance.conf
volumes:
- ./:/ISC:delegated
depends_on:
- iris1
ports:
- 9021:1972
- 9022:52773
iris3:
image: containers.intersystems.com/intersystems/iris:2020.3.0.221.0
command: --key /ISC/iris.key --before 'sleep 60'
init: true
hostname: iris3
environment:
- ISC_DATA_DIRECTORY=/ISC/iris.sys.d/sys3
- ISC_CPF_MERGE_FILE=/ISC/CPF2merge-data-instance.conf
volumes:
- ./:/ISC:delegated
depends_on:
- iris1
ports:
- 9031:1972
- 9032:52773
Como puedes ver, estamos ejecutando una imagen intersystems/iris:2020.3.0.221.0, a la que pasamos un fichero de licencia (que debe ser compatible con *sharding*), persiste los datos utilizando la funcionalidad [Durable %SYS](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=ADOCK#ADOCK_iris_durable), y le pasa un [ISC_CPF_MERGE_FILE](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=ADOCK#ADOCK_iris_running) que apunta al archivo CPF que queremos combinar (son diferentes archivos los usados para el Nodo 1 y los nodos de datos).
Además, los nodos de datos se inician con un minuto de retraso dándole tiempo al Nodo 1 para que arranque. Esta es una estimación extremadamente conservadora, con un hardware adecuado el tiempo de inicio es del orden de segundos como máximo.
Revisaremos la configuración de clúster que tiene lugar en los archivos combinados CPF.
## CPF2merge-data-instance.conf
[Startup]
PasswordHash=FBFE8593AEFA510C27FD184738D6E865A441DE98,u4ocm4qh
ShardRole=node1
[config]
MaxServerConn=64
MaxServers=64
globals=0,0,400,0,0,0
errlog=1000
routines=32
gmheap=256000
locksiz=1179648
¿Qué sucede aquí?
En la parte [Startup] habilitamos *sharding* al asignar el rol de Nodo1 a nuestro clúster. Y en `[config]` ampliamos un poco nuestro servidor al permitir más buffers de memoria y conexiones. ¡Eso es todo!
## CPF2merge-data-instance.conf
[Startup]
ShardClusterURL=IRIS://iris1:1972/IRISCLUSTER
ShardRole=DATA
Para los nodos de datos, necesitamos proporcionar la URL del Nodo1 y el rol del nodo.
## Pruébalo
[Revisa el repositorio](https://github.com/intersystems-ru/iris-container-recipes) o ejecuta este código:
git clone https://github.com/intersystems-ru/iris-container-recipes.git
cd iris-container-recipes
cd cluster
// copy iris.key in cluster folder
docker-compose up -d
Después de iniciar el clúster de InterSystems IRIS, puedes acceder a él desde el [navegador](http://localhost:9012/csp/sys/exp/%25CSP.UI.Portal.SQL.Home.zen?%24NAMESPACE=IRISCLUSTER). El usuario/contraseña es: _SYSTEM/SYS.
## Conclusiones
Los [archivos CPF combinados](https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=RACS_cpf#RACS_cpf_edit_merge) son una excelente y sencilla herramienta, que permiten configurar instancias de InterSystems IRIS.
Gracias a @Luca Ravazzolo por proporcionar el código y responder a todas mis preguntas.
Este artículo está etiquetado como "Mejores prácticas" ("Best practices").
Los artículos con la etiqueta "Mejores prácticas" incluyen recomendaciones sobre cómo desarrollar, probar, implementar y administrar mejor las soluciones de InterSystems.
Anuncio
Esther Sanchez · 22 oct, 2021
Virtual Summit 2021, la Convención Anual de InterSystems, ¡está a la vuelta de la esquina! Esperamos que ya os hayáis inscrito todos al evento 😎
Mientras esperáis a que llegue el martes, podéis pasar el rato contestando a esta pregunta:
➡️ Hay un montón de sesiones interesantes a las que asistir, pero... ¿cuál está siendo la más popular? (la que lleva más inscritos hasta ahora).
Responded en la encuesta más abajo y demostrad vuestra intuición tecnológica
El lunes 25 de octubre diremos la respuesta correcta. ¡Estad atentos! Ya lo veis... la sesión más popular del Virtual Summit de este año, la que tiene más personas inscritas es... ¡InterSystems IRIS: What's New and Next!! 👏👏
¡Enhorabuena a los que habéis acertado! ¡Y gracias por participar!
Si queréis ver la ponencia, registraos al Virtual Summit. ¡Aún estáis a tiempo!
Anuncio
Mario Sanchez Macias · 22 jul, 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.
*: tened en cuenta que este uso específico de campos no agrupados en la condición SELECT es una Extensión SQL de InterSystems y no forma parte del estándar SQL.
Al final de este artículo se muestran algunos ejemplos de consultas afectadas y no afectadas.
Como resultado del defecto, la condición WHERE en el listado anterior no se aplica correctamente a los resultados de las consultas. Y, por tanto, la consulta puede devolver filas que no cumplen las condiciones de la consulta.
La correción a este defecto se ha identificado como AK1043 y se incluirá en todas las futuras versiones de los productos, incluyendo InterSystems IRIS e InterSystems IRIS for Health 2020.1.2 y 2021.1.1. También está disponible a través de distribución ad hoc desde el Centro de Soporte Internacional (WRC).
Nota a los clientes de HealthShare
InterSystems ha revisado el problema en la familia de productos HealthShare y no ha encontrado ninguna consulta que cumpla los criterios anteriores. Los clientes de HealthShare que utilizan las funcionalidades de InterSystems IRIS de forma independiente a su instalación de HealthShare, tendrán que revisar su lógica y sus personalizaciones para saber si pueden estar sufriendo este defecto.
Para cualquier pregunta sobre esta alerta, contacta con el Centro de Soporte Internacional (WRC).
Ejemplos
A modo de ejemplo, mostramos el ejemplo de una tabla (test.TestTable) con tres propiedades Integer y un índice en dos de esas propiedades:
Property Int1 As %Integer;
Property Int2 As %Integer;
Property Int3 As %Integer;
Index GroupBy On (Int1, Int2);
Algunos ejemplos de consultas afectadas:
SELECT Int1, Int2 FROM test.TestTable WHERE Int2 > 1 GROUP BY Int1
Esta consulta cumple todas las condiciones señaladas anteriormente. Como resultado del defecto, la consulta también devuelve filas con Int2 <= 1.
SELECT Int1, ID FROM test.TestTable WHERE Int2 <= 1 GROUP BY Int1
Esta consulta también estaría afectada por el defecto porque el campo ID está incluido en cada índice, por lo que la consulta devolvería filas con Int2 > 1.
Algunos ejemplos de consultas no afectadas:
SELECT Int1, Int2 FROM test.TestTable WHERE Int2 > 1
Esta consulta no incluye una claúsula GROUP BY , por tanto, no está afectada.
SELECT Int1, Int2, COUNT(*) FROM test.TestTable WHERE Int2 > 1 GROUP BY Int1
Esta consulta contiene un agregado en la lista de SELECT, por tanto tampoco estaría afectada.
SELECT Int1, Int2 FROM test.TestTable WHERE Int1 > 1 GROUP BY Int1
SELECT Int1, Int2 FROM test.TestTable GROUP BY Int1
Ninguna de estas consultas contiene una condición WHERE sobre un campo que NO está en la claúsula GROUP BY, así que no estarían afectadas.
SELECT Int1, Int2 FROM test.TestTable WHERE Int1 > 1 GROUP BY Int2
El índice compuesto de la tabla no comienza con el campo en la claúsula GROUP BY, así que no está afectada.
SELECT Int1, Int2 FROM test.TestTable WHERE Int2 > 1 AND Int3 > 1 GROUP BY Int1
SELECT Int1, Int3 FROM test.TestTable WHERE Int2 > 1 GROUP BY Int 1
Estas consultas usan el valor Int3, que no está guardado en el índice. Como no pueden ser resueltas usando sólo el índice, no estarían afectadas.
Anuncio
Jose-Tomas Salvador · 3 mar, 2023
InterSystems actualiza periódicamente sus políticas y prácticas de lanzamiento de nuevas versiones software para ajustarse a las necesidades de los clientes.
Ahora estamos cambiando la frecuencia de nuestras versiones de mantenimiento para que sean más predecibles para clientes y partners, y modificaremos algunas otras áreas.En este artículo se resume la frecuencia de lanzamientos de nuestras Plataformas de datos y los cambios recientes en ellas, y se anuncian algunas actualizaciones nuevas.
¿Por qué cambiar?
Nuestros clientes están incorporando las nuevas versiones con mayor rapidez
Nuestros clientes están adoptando más rápidamente las nuevas versiones de sus plataformas (sistemas operativos,...).
Los problemas de seguridad son cada vez más frecuentes, sobre todo en las librerías de terceros
Nuestros clientes nos piden plazos de entrega más predecibles
¿Y qué es lo que no cambia? Recordatorio de nuestra frecuencia de lanzamiento de versiones
Desde 2018 InterSystems ha estado utilizando una cadencia doble de lanzamiento con InterSystems IRIS (aquí podéis leer el anuncio original). Ofrecemos:
Versiones de entrega continua (Continuous Delivery, CD): estas versiones ofrecen acceso rápido a las nuevas funcionalidades y son perfectas para desarrollar e implementar aplicaciones que se actualizan continuamente y pueden aprovechar las nuevas funcionalidades de forma inmediata. A veces se llama tren rápido
Versiones de mantenimiento extendido (Extended Maintenance, EM): estas versiones son menos frecuentes que las de entrega continua (CD), pero ofrecen la estabilidad propia de las versiones de mantenimiento. Son perfectas para grandes aplicaciones empresariales en las que la facilidad para obtener parches en las versiones de mantenimiento es más importante que tener acceso temprano a nuevas funcionalidades. A veces se llama tren lento.
Las versiones EM son fáciles de identificar porque su número de versión es AAAA.1 (por ejemplo 2022.1 o 2023.1). Las versiones CD tendrán un número de versión del tipo AAAA.2, AAAA.3, etc.
Hace un año, evolucionamos nuestra cadencia, añadiendo kits para versiones CD e incluyendo HealthShare Health Connect en estos conjuntos de lanzamientos, junto con InterSystems IRIS e InterSystems IRIS for Health. (Consultad la actualización de febrero de 2022). Las versiones CD siguen teniendo algunas restricciones: no hay actualizaciones de mantenimiento ni de seguridad; no hay conversión in-place desde Caché o Ensemble; y la ruta de actualización de una versión CD se limita a la siguiente versión CD o a la siguiente versión EM.
Los lanzamientos de nuevas funcionalidades (tanto de EM como de CD) pasan por una fase de prueba, en la que los clientes pueden descargar las nuevas versiones y trabajar con ellas para prepararse para la nueva versión. Las versiones de prueba son muy útiles para recibir comentarios y realizar pruebas, para asegurarse de que las aplicaciones funcionan bien con la nueva versión. Desde la versión 2022.2 empezamos a actualizar las versiones de prueba cada dos semanas, siempre los miércoles.
Los comentarios sobre la frecuencia de lanzamientos y estas actualizaciones han sido muy positivos, y hemos sido capaces de gestionar la cadencia de lanzamiento doble, a la que vez mantenemos una calidad extremadamente alta.
Actualizaciones de plataformas
Los clientes están adoptando nuevos sistemas operativos mucho más rápidamente, especialmente en la nube. Por eso hemos cambiado también nuestra frecuencia. En 2022, comenzamos a incorporar el soporte a los nuevos sistemas operativos en las versiones de mantenimiento. La versión 2022.1.1 añadió el soporte a Ubuntu 22.04; la versión 2022.1.2 añadió el soporte a RHEL 9. Este enfoque permite que los clientes puedan adoptar los nuevos sistemas operativos mucho antes.
Los cambios en materia de seguridad son cada vez más frecuentes, sobre todo en las bibliotecas comunes que se incluyen en los paquetes de estos sistemas operativos, como OpenSSL. Con nuestra versión 2022.1 empezamos a utilizar las librerías OpenSSL del sistema operativo, para que los clientes puedan mantenerse actualizados en materia de seguridad mediante el sistema operativo. Esto también significa compilar y empaquetar kits independientes para cada versión principal de un sistema operativo Linux. Limitamos estos a dos versiones principales de la plataforma en cada versión de EM. Si introducimos el soporte a un nuevo sistema operativo en una versión de mantenimiento, no eliminaremos ninguna versión anterior, por lo que podría haber tres conjuntos de kits; esto se reduce a dos con la siguiente versión EM. Por ejemplo, la versión 2022.1.2 tiene tres conjuntos de kits de Red Hat (RHEL 7, RHEL 8 y RHEL 9); la versión 2022.1.3 tendrá los mismos conjuntos de kits, pero la versión 2023.1.0 solo incluirá los kits RHEL 8 y RHEL 9.Como se están acelerando los cambios en las plataformas, queremos dar a los clientes visibilidad sobre lo que está por llegar. Hemos lanzado una serie de publicaciones llamada "Actualización sobre plataformas soportadas", que se publicarán como anuncio en la Comunidad; aquí podéis leer la primera publicación. No dudéis en darnos vuestra opinión y sugerencias sobre el formato, la frecuencia, etc.
Mantenimiento y actualizaciones de seguridad
Seguimos ofreciendo actualizaciones de mantenimiento de InterSystems IRIS durante dos años, así como actualizaciones de mantenimiento de Caché y Ensemble (consultad la Versión mínima soportada). Además de las actualizaciones de mantenimiento, ofrecemos correcciones de seguridad.
A la secuencia de versiones que actualizan una versión de EM, en todos los productos y plataformas asociados, la llamamos stream. Por ejemplo, las versiones 2021.1.0, 2021.1.1, 2021.1.2 son un stream, y las versiones 2022.1.0, 2022.1.1, 2022.1.2 son otro stream diferente. Esto significa que ofrecemos versiones de mantenimiento para tres streams (el de la EM más reciente y el de la anterior EM de InterSystems IRIS, InterSystems IRIS for Health y Health Connect, así como el de Caché y Ensemble, que es su propio y único stream).
A partir de abril de 2023, InterSystems ofrecerá correcciones de seguridad para la versión actual y las de los tres últimos años de InterSystems IRIS, así como para la última versión de mantenimiento de Caché. Esto significa que se proporcionan correcciones de seguridad para dos streams adicionales, más allá de las actualizaciones de mantenimiento (un total de cinco streams). Por ejemplo, en 2024, InterSystems proporcionará correcciones de seguridad para las versiones 2021.1.x, 2022.1.x, 2023.1.x de InterSystems IRIS, así como para la versión 2024.1.x que esté vigente en ese momento; InterSystems también proporcionará correcciones de seguridad para Caché 2018.1.x.
Recientemente mejoramos nuestra política de gestión de vulnerabilidades de seguridad para adaptarnos al mayor volumen de problemas de seguridad que observamos, la mayoría de los cuáles son de severidad media o baja (consultad la Actualización de la Política de Gestión de Vulnerabilidades). Ahora incluimos actualizaciones de seguridad en cada versión. La información sobre problemas con severidad alta y crítica está retenida (para evitar que se proporcione información que se pueda utilizar para aprovecharse de vulnerabilidades de seguridad) hasta que estos problemas se solucionen en todos los streams soportados - en ese momento emitiremos una Alerta de Seguridad con los detalles de las vulnerabilidades que se han resuelto.
Versiones de mantenimiento predecibles
Los clientes nos dicen que aprecian recibir actualizaciones periódicas del software y quieren poder hacer planes en función de cuándo pueden esperarlas. Ahora estamos formalizando nuestro calendario de versiones de mantenimiento, de la siguiente manera:
El stream más reciente de InterSystems IRIS: versión de mantenimiento cada tres meses
El stream anterior de InterSystems IRIS: la versión de mantenimiento cada seis meses
Caché y Ensemble: versión de mantenimiento cada doce meses
El 18 de enero publicamos una versión de mantenimiento para el stream de InterSystems IRIS 2022.1 (consultad el anuncio de la versión 2022.1.2). Tenemos previsto publicar las versiones de mantenimiento del stream de InterSystems IRIS 2021.1, y del stream deCaché y Ensemble 2018.1 el 28 de Febrero.
En 2023, tenemos previsto lanzar una versión de EM (2023.1) y dos versiones de CD (2023.2 y 2023.3). Cuando la versión 2023.1.0 esté disponible de forma general (GA), se convertirá en el stream más reciente de InterSystems IRIS, y la versión 2022.1 se convertirá en el stream anterior.
Eliminación de versiones anteriores del WRC (pero no del ICR)
Debido a que nuestros lanzamientos se han vuelto más frecuentes y publicamos más kits (uno por cada versión principal del SO Linux), el número de versiones disponibles en la página de distribución de software del WRC ha crecido significativamente y se ha vuelto más confuso para algunos clientes. Estamos adoptando una nueva práctica, retirando periódicamente de la página de distribución las versiones más antiguas de cada stream.
Solo estará visible la versión de CD más reciente. Como la versión 2022.3 ya está disponible, eliminaremos las imágenes de la versión 2022.2 a finales de Febrero
Solo estará visible la versión de mantenimiento más reciente por stream - la versión 2022.1.1 se eliminó cuando se publicó la 2022.1.2. Así se evitará el problema de que los clientes instalen por error software con problemas de seguridad conocidos
Las versiones anteriores están disponibles bajo pedido. También sugerimos que los clientes que adopten una única versión para muchos sitios, conserven su propia copia del kit de esa versión. Para garantizar la integridad, todos los kits y contenedores están firmados; los archivos de checksum y los archivos de firma PGP pueden descargarse de la página de distribución del Centro de Soporte Internacional (WRC).
Trabajamos de forma diferente con los contenedores publicados en el Registro de Contenedores de InterSystems (ICR), porque los clientes normalmente utilizan versiones específicas en los pipelines CI/CD. No eliminaremos las imágenes antiguas del ICR hasta que tengan dos años de antigüedad. Recomendamos que los clientes mantengan actualizados sus pipelines CI/CD, y los comentarios que recibimos son que así lo hacen.
Comprometidos con el éxito de nuestros clientes
Todos los cambios que se describen en este artículo se han realizado con la intención de ayudar a que los clientes tengan éxito. Escuchamos las preocupaciones de nuestros clientes sobre los problemas de seguridad, la adopción de plataformas, las actualizaciones de mantenimiento y la frecuencia de los lanzamientos, y cambiamos las cosas basándonos en esos comentarios. Así que no dudéis en poneros en contacto con nosotros para hacernos llegar vuestros comentarios y sugerencias.
Anuncio
Esther Sanchez · 2 sep, 2019
a {color:#2a2e78;}
Para muchos, agosto es un mes de vacaciones y descanso. Pero en la Comunidad de Desarrolladores pasaron muchas cosas... ¿se perdieron algo? ¡Aquí tienen todo de nuevo! Lo más visto, lo más comentado, lo más votado..., revísenlo y no se queden con ganas de aprender más Lo más vistoPresentación de InterSystems API Managerby David Reche 31Atajos de teclado para terminal VSCode e IRISby Nancy Martinez 24Jugando con la Sincronización de Objetosby Jose-Tomas Salvador 24Versión mínima para FHIR R4by Francisco Cadenas 24Lanzamiento de InterSystems API Managerby David Reche 22Ver todos los posts más vistos »Lo más votadoConfigurar un servicio REST en IAM y publicarlo en el Developer Portalby Alberto Fuentes 214 razones para asistir al Global Summit: 13 sesiones sobre contenedores + 1 taller especializadoby Jacquelyn Clermont 1Jugando con la Sincronización de Objetosby Jose-Tomas Salvador 1Ver todos los posts más votados »Lo más comentadoVersión mínima para FHIR R4by Francisco Cadenas 1Atajos de teclado para terminal VSCode e IRISby Nancy Martinez 1Configurar un servicio REST en IAM y publicarlo en el Developer Portalby Alberto Fuentes 1Ver todos los posts más comentados »5 autores a los que seguirFrancisco López 37David Reche 31Alberto Fuentes 30Jose-Tomas Salvador 23Nancy Martinez 16AnunciosInterSystems IRISLanzamiento de InterSystems API Managerby David RecheNuevo vídeo: Presentación de InterSystems API Managerby Esther SanchezOtro¿Qué pasó el mes de julio en la Comunidad de Desarrolladores?by Esther Sanchez14 razones para asistir al Global Summit: 13 sesiones sobre contenedores + 1 taller especializadoby Jacquelyn ClermontYa está disponible el Programa Oficial del Global Summitby Esther SanchezOpen ExchangeNuevo vídeo "Coding Talk": Cómo subir su propia solución, conector o librería InterSystems a Open Exchangeby Esther SanchezArtículosInterSystems IRISObjectScript Class Explorer - Exploración de clases ObjectScript con la notación UMLby Nancy MartinezJugando con la Sincronización de Objetosby Jose-Tomas SalvadorPresentación de InterSystems API Managerby David RecheConfigurar un servicio REST en IAM y publicarlo en el Developer Portalby Alberto FuentesMétodos autogenerados de gran utilidadby Francisco LópezCachéDesarrollar un backend de servicios REST para una aplicación Angular 1.x con Caché - Parte 2by Joel EspinozaEstructura interna de los bloques de bases de datos en Caché (Parte 3)by Milo MartinezExtensiones de lenguajeby Francisco LópezMapas de URL avanzados para RESTby Francisco LópezZZPRINT, una forma práctica de visualizar código desde la línea de comandosby Alberto FuentesConectarse a Caché con SQuirreL SQL, un cliente externo de SQLby Bernardo LinarezPreguntasInterSystems IRISAtajos de teclado para terminal VSCode e IRISby Nancy MartinezDocumentaciónEquivalente de ISCROSSFILtered con MDXby Hamza LAHBABIEnsembleVersión mínima para FHIR R4by Francisco Cadenas
Anuncio
Esther Sanchez · 25 ene, 2022
¡Hola Comunidad!
¿Estáis listos para un nuevo reto? ¡Os invitamos a participar en el primer concurso de redacción de artículos técnicos de InterSystems en español!
🏆 1er Concurso de Artículos Técnicos en español 🏆Descripción del concurso: Escribe un artículo en español en la Comunidad de Desarrolladores, sobre cualquier tema relacionado con la tecnología de InterSystems.
Duración: del 1 de febrero al 28 de febrero de 2022
Premios para todos los participantes: Todas las personas que publiquen un artículo en español durante la vigencia del concurso recibirán un premio
Premio principal: Tablet Apple iPad
¡Participa en el concurso y tu artículo será leído por cientos de miembros de la Comunidad de Desarrolladores!
Premios
1. Todos los participantes ganan en el concurso de artículos técnicos de InterSystems! Cualquier miembro de la Comunidad que participe en el concurso, recibirá estos premios:
🎁 Sudadera con capucha de InterSystems
🎁 Pegatina de InterSystems
2. Premios de los Expertos – los artículos ganadores de esta categoría serán elegidos por expertos de InterSystems:
🥇 1er puesto: Tablet Apple iPad
🥈 2º puesto: Libro electrónico Amazon Kindle Paperwhite (8GB)
🥉 3er puesto: Auriculares Gaming JBL Quantum 300
O como alternativa, cualquier ganador puede elegir un premio de una categoría inferior a la suya.
3. Premio de la Comunidad de Desarrolladores – artículo con el mayor número de "Me gusta". La persona que gane, podrá elegir uno de estos premios::
🎁 Auriculares Gaming JBL Quantum 300 O Libro electrónico Amazon Kindle Paperwhite (8GB)
Nota: cada autor solo puede ganar un premio de cada categoría (en total, un autor puede ganar dos premios: uno en la categoría Expertos y otro en la categoría de la Comunidad).
¿Quién puede participar?
Cualquier persona registrada en la Comunidad de Desarrolladores, excepto los empleados de InterSystems. Regístrate aquí en la Comunidad si aún no tienes una cuenta.
Duración del concurso
📝 Del 1 de febrero al 28 de febrero: Publicación de artículos y fase de votación.
Publica tu(s) artículos(s) durante ese período. Los miembros de la Comunidad de Desarrolladores pueden ir votando los artículos que les gustan haciendo clic en "Me gusta" debajo de cada artículo.
Truco: Cuanto antes publiques tu(s) artículo(s), más tiempo tendrás para conseguir más votos de los Expertos y de la Comunidad.
🎉 1 de marzo: Anuncio de los ganadores.
Requisitos
❗️ Cualquier artículo escrito durante el período de duración del concurso y que cumpla los siguientes requisitos entrará automáticamente en la competición:
El artículo debe estar relacionado directa o indirectamente con la tecnología de InterSystems (características propias de los productos de InterSystems o, también, herramientas complementarias, soluciones arquitecturales, mejores prácticas de desarrollo,…)
El artículo debe estar escrito en español
El artículo debe ser 100% nuevo (puede ser la continuación de un artículo ya publicado)
El artículo no puede ser un plagio o una traducción (se permiten las traducciones que un autor realice de sus propios artículos escritos en otro idioma)
Tamaño del artículo: >1 000 caracteres (los enlaces no cuentan en el cálculo de caracteres)
Modo de participación: individual (se permite que un participante publique varios artículos)
¿Sobre qué se puede escribir?
❗️ Se puede escoger cualquier tema técnico relacionado directa o indirectamente con la tecnología de InterSystems.
🎯 BONUS: Si el tema de tu artículo está en la lista de Temas Propuestos, recibirás un bonus de 5 votos de los Expertos (los Expertos conceden 3 votos al artículo que consideran el mejor).
Mostramos aquí algunos temas posibles sobre los que escribir un artículo. Son solo ejemplos, se puede escribir sobre lo que se quiera.
#
Tema
Detalles
1
Introducción a Python Embebido
Python Embebido es una nueva funcionalidad de InterSystems IRIS excitante. Permite a los desarrolladores escribir métodos, procedimientos SQL... y más, en Python.
2
Python Embebido desde Interoperabilidad
Explora cómo Python Embebido puede aprovecharse desde una Producción de Interoperabilidad.
3
Python Embebido: Traslación de constructores del lenguaje
Aunque con Python Embebido buscamos la integración más transparente posible, hay algunas pistas y trucos para facilitar las cosas. Los métodos con guión bajo, diccionarios, listas y otros. ¿Cuáles son las mejores formas de llamar a estos elementos de Python desde ObjectScript?
4
Introducción al InterSystems Reports Designer
Continuación de este artículo. Este artículo debería cubrir:
Creación de catálogo
Creación de tipos de informes básicos, en concreto:
Gráfico (barras, tarta , lineal, mapa de calor, ...)
Tabular (resumen y detalle)
Tabla cruzada
Publicación de Informes al Servidor de Reports
Creación de una planificación
Un buen tutorial para empezar: Getting Started with InterSystems Reports
5
Llamada a Reports desde Interoperabilidad/IRIS
Un artículo describiendo cómo ejecutar (y obtener) un informe de InterSystems Reports desde una producción de interoperabilidad de IRIS.
6
Informes de Mapas con InterSystems
Un artículo describiendo cómo construir un informe en InterSystems Reports con datos geoespaciales. El paquete de datos HoleFoods contiene localizaciones de transacciones que puedes utilizar.
7
Cómo hacer CI/CD con InterSystems IRIS
–
8
Cambiar la Captura de Datos con el conector de Kafka
Un ejemplo que muestre cómo configurar el conector de Kafka y exportar/Importar datos SQL via el conector JDBC Kafka Connect.
9
Aplicar analitica / ML al SQL Statement Index
–
10
Mis tardes de mantenimiento favoritas, automatizadas
–
11
Aprovechando la base de datos de autitoria (Audit)
–
12
Los tres pasos para configurar Acciones en GitHub que hacen tu aplicación invencible
–
13
Autorización OAuth2 en una instancia IRIS
–
14
Configurar mirroring en K8s
–
15
Utilización de %MDX y %KPI en lugar de Subject Area en IRIS Analytics
–
16
Probando External Language Gateways / comparación con los antiguos gateways
Ejemplo
17
Envío de secuencias (streams) de eventos a Kafka desde IAM
–
18
Exportación de peticiones a Excel utilizando Python
–
19
Integración de Servicios en la Nube con Producciones
ej. MS Azure Cognitive Services o Amazon Rekognition.
20
Trabajando con IKO (InterSystems Kubernetes Operator)
–
21
IKO IRIS en AWS Kubernetes con Hugepages
–
22
Incroporando backups con IKO
–
23
IKO – Crear un cluster con nodos de computación, SAM y sin shardinb.
Incluir el fichero CPF para configurar nuestras mejores prácticas.
24
Configuración con ECP de un grupo de trabajo compartido para Data Science
Hay un servidor de datos y cada Data Scientist tiene un nodo de computación en su máquina. Mostrar que los datos están disponibles cuando está desconectado y que se sincroniza cuando reconectas.
25
Artículo discutiendo opciones de almacenamiento para despliegues en la nube (diferencia de rendimiento entre almacenamiento local, almacenamiento en bloque, etc) y reglas de compromiso (podrías no necesitar mirrors si se utilizar almacenamiento en bloque, etc...)
–
26
Construcción de imágenes de IRIS con Docker Build Mounts
Detalles
27
Imagen InterSystems IRIS CUDA
Hay un modo de utilizar GPUs/CUDA desde dentro del contenedor. Describe cómo construir una imagen de InterSystems IRIS con soporte a CUDA.
Nota: Se permiten artículos sobre el mismo tema escritos por autores diferentes.
También puedes sugerir temas en los comentarios a esta publicación.
Así que... Ready. Set. Write!
¡Esperamos ansiosos vuestros artículos!
Buena suerte y que las musas os acompañen ✨✨ Yeah! Cain't wait for new articles in Spanish ;) ¡Mañana empieza el concurso!! ¿Tenéis listos vuestros artículos? Hoy empieza el concurso... ¡y ya tenemos el primer artículo! 👏👏
¿Quién se anima a publicar el siguiente?
Aquí podéis ir viendo los artículos que se van publicando: Artículos Concurso ¡Ya tenemos varios artículos participantes en el concurso! 👏👏 Podéis verlos aquí: Artículos Concurso
¿Qué tal vais con vuestros artículos? Aun queda mucho tiempo, pero recordad que cuanto antes los publiquéis, más votos podréis recibir 😉
Los que no vais a participar en el concurso, recordad que podéis votar los artículos que más os gusten dándole al símbolo de "Me gusta" debajo de cada artículo (👍). Y los que participáis en el concurso también podéis votar otros artículos, por supuesto.
¡Gracias a todos! ¡Siguen llegando artículos para el concurso! Aquí podéis verlos todos: Artículos Concurso
Recordad que cuanto antes publiquéis los artículos, más votos podréis recibir 😉
Y si no vais a participar en el concurso, podéis votar los artículos que más os gusten dándole al símbolo de "Me gusta" debajo de cada artículo: 👍 . (Los que participáis en el concurso también podéis votar otros artículos, por supuesto!).
¡Gracias a todos! ¡Aún queda una semana para participar en el Concurso de Artículos! ¿Cómo vais con vuestros textos?
Recordad que cuanto antes publiquéis los artículos, más votos podréis recibir 😉
Y si no vais a participar en el concurso, podéis votar los artículos que más os gusten dándole al símbolo de "Me gusta" debajo de cada artículo: 👍 . (Los que participáis en el concurso también podéis votar otros artículos, por supuesto!). Aquí podéis ver todos los Artículos del Concurso
¡Gracias a todos! ¡Últimos 5 días para participar en el Concurso! ¿Cómo vais con vuestros textos? 😎
¡Ya tenemos unos cuantos concursantes! Aquí podéis leer todos los artículos participantes: Artículos Concurso
Si no vais a publicar ningún artículo, podéis votar los que más os gusten dándole al símbolo de "Me gusta" debajo de cada artículo: 👍 . (Los que participáis en el concurso también podéis votar otros artículos, por supuesto!).
¡Gracias a todos! ¡Último día para participar en el concurso! Si tienes tu artículo a medias... ¡date prisa y termínalo antes de la medianoche! ✍️✍️
Y si no vais a publicar ningún artículo, podéis votar los que más os gusten dándole al símbolo de "Me gusta" debajo de cada artículo: 👍
Aquí podéis ver todos los artículos publicados hasta ahora: Artículos Concurso ¡Ya ha terminado el 1er Concurso de Artículos Técnicos! ¡Muuuchas gracias a todos los que habéis participado!
Ahora, el jurado está deliberando... ¡y muy pronto anunciaremos los ganadores!!
Estad atentos a las noticias de la Comunidad
18 Publicaciones•0 Seguidores
Artículo
Jean Millette · 14 mar, 2022
Una de nuestras apps utiliza una consulta de clase para un informe ZEN y funciona perfectamente en ese informe, produciendo los resultados esperados. Hemos migrado a InterSystems Reports y nos hemos dado cuenta de que, para un informe que utiliza la misma consulta de clase, aparecen en la parte de abajo más de 100 filas extra con los mismos valores en las columnas.
Descartamos InterSystems Reports como fuente del problema reproduciendo el problema de "filas extra" con una hoja de cálculo de Excel que llama a la misma consulta de clase utilizando un procedimiento almacenado.
¿Cuál era el problema? Cuando llamábamos al procedimiento almacenado desde el antiguo ZEN Report o desde la función SQL Query en el Portal de Administración, no veíamos estas filas adicionales.
Comparamos nuestro código de consulta de clase con la información ofrecida en el artículo de @Eduard.Lebedyuk y encontramos el problema. Consultas de clase en InterSystems IRIS
Aunque se estableció correctamente el argumento ByRef “AtEnd” cuando ya no quedaban resultados, el método “Fetch” no establecía "Row" como cadena vacía.
Parece que estableciendo “AtEnd” funciona para terminar los resultados de la consulta en ciertos casos (MP SQL), pero 'set Row = ""' es necesario para todos los casos, como para las solicitudes desde JDBC (InterSystems Reports) u ODBC (Excel).
Este es nuestro método Fetch actualizado:
ClassMethod QueryNameFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = ) As %Status [ Internal, PlaceAfter = QueryNameExecute ]
{
If 'qHandle.ResultSet.Next() {
Set AtEnd = 1
set Row = "" // <=========== Previously missing line
Quit $$$OK
} // Stuff all the result columns into one big $LIST in Row
set Row = ""
set ncols = qHandle.ResultSet.%ResultColumnCount
for i=1:1:ncols {
set Row = Row _ $lb(qHandle.ResultSet.GetData(i))
}
Quit $$$OK }</pre></body></html>
Anuncio
Esther Sanchez · 10 oct, 2022
¡Hola Comunidad!
El día 16 de noviembre por la mañana, de 12:00 a 14:00 h., en el hotel The Westin Valencia, tendrá lugar el Primer Encuentro (Meetup) de los miembros de la Comunidad. Aprovechamos ese día y lugar ya que eI Iberia Summit, la Convención anual de InterSystems Iberia, se celebrará allí los días 16 y 17 de noviembre.
El Encuentro de Desarrolladores es el evento perfecto para conocer en persona a otros miembros de la Comunidad de Desarrolladores, compartir experiencias, aprender, resolver dudas, conocer trucos, herramientas, recursos... y charlar directamente con los expertos de InterSystems!
El Meetup es abierto e informal. Por lo tanto, está abierto a propuestas y a la asistencia de cualquier miembro de la Comunidad. Y, por supuesto, es gratuito. Todos los asistentes recibirán un presente por su asistencia, que servirá como recuerdo de ese día. Y al final del encuentro tendremos un Kahoot con fantásticos premios para los ganadores. ¡Ah! También tendremos pizza y bebidas, el "alimento" de los desarrolladores 😉
El objetivo del Meetup es aprovechar lo máximo posible el networking con otros desarrolladores, pero también se puede participar activamente, pues cualquier voluntario puede realizar una presentación. ¿Te animas?
➡️ ¿Quieres presentar tu trabajo en el Meetup?
💻 Escribe a david.reche@intersystems.com indicando tu nombre, tu empresa y el tema del que quieres hablar en el Meetup
La exposición deberá durar unos 15 o 20 minutos y se puede hablar de cualquier tema relacionado con la tecnología de InterSystems que sea de interés para el resto de la Comunidad: un caso de éxito, una experiencia de desarrollo, etc.
Si te gusta compartir tu conocimiento y experiencia con los demás, ¡no lo dudes y participa en el Meetup!
Además de convertirte en un referente en la tecnología de InterSystems 🎓, ganarás puntos de Global Masters, para que los puedas canjear por alguno de los premios que ofrece 🎁
¡Esperamos contar con alguno de vosotros!
P.D.: Durante los próximos días publicaremos la página con todos los detalles del Meetup: agenda, inscripción, etc.
¡Estad atentos! 👀
¿Alguien se anima a participar en el 1er Meetup de la Comunidad de Desarrolladores?
Anuncio
Jose-Tomas Salvador · 27 mar, 2023
InterSystems está comprometida con ofrecer un soporte de alta calidad de todos sus productos, nuevos y antiguos. A medida que los productos envejecen – Caché tiene ahora 25 años – ese soporte va evolucionando.
InterSystems IRIS fue lanzado en 2018 y es el sucesor de Caché y Ensemble. Muchos clientes de Caché/Ensemble han migrado a IRIS o tienen planes de hacerlo en los próximos años. Los clientes que siguen usando Caché o Ensemble deben tener en cuenta este anuncio importante:
Las versiones de mantenimiento de Caché/Ensemble continuarán durante los próximos 4 años - hasta el primer trimestre de 2027. No hay planificadas versiones de mantenimiento de Caché/Ensemble para después del 31 de marzo de 2027.
Estas versiones de mantenimiento se ocuparán de defectos críticos, vulnerabilidades de seguridad y nuevas versiones de Windows y Red Hat Enterprise Linux (RHEL), según nuestro criterio. No hay planeadas versiones de mantenimiento para otras plataformas. (La gran mayoría de nuestros clientes de Caché / Ensemble trabajan con Windows o RedHat.)
Nuestro plan es ofrecer una versión de mantenimiento cada doce meses, además de versiones de seguridad adicionales, según sea necesario. (Consultad Agilizando Y siendo más previsibles: actualización sobre nuestra frecuencia de lanzamientos de versión).
No estamos anunciando una fecha de finalización del soporte de producto a Caché o Ensemble. InterSystems seguirá ofreciendo soporte mediante el soporte existente o mediante acuerdos de suscripción, al mismo nivel de respuesta que el resto de productos.
Además, de forma consistente con la política que siempre hemos mantenido, se ofrecerán correcciones ad hoc, dentro de lo posible, para todas las plataformas Caché y Ensemble. Las correcciones (no funcionalidades) serán portadas a las versiones existentes de Caché/Ensemble, según nuestro criterio, basándonos en el riesgo y/o complejidad. Nuestra intención es hacer siempre todo lo posible para ayudar a nuestros clientes.
Si tenéis alguna pregunta, contactad por favor con John Paladino (John.Paladino@InterSystems.com), VP, Client Services o con vuestra persona de contacto en InterSystems.
Anuncio
David Reche · 11 ene, 2021
¡Hola desarrolladores!
Ya está listo el nuevo concurso para crear soluciones de código abierto utilizando InterSystems IRIS.
El tema de este noveno concurso es: Multi-Modelo
Estará activo durante tres semanas: del 11 al 31 de enero de 2021.
Premios
1. Nominación de los expertos - los ganadores serán elegidos por un jurado especialmente formado para el concurso. Los premios serán:
🥇 1er puesto - $2,000
🥈 2º puesto - $1,000
🥉 3er puesto - $500
2. Nominación de la Comunidad - ganará la aplicación que obtenga el mayor número total de votos. Los premios serán:
🥇 1er puesto - $1,000
🥈 2º puesto - $500
🥉 3er puesto - $250
Si dos o más participantes obtienen la misma cantidad de votos, todos serán considerados ganadores y el dinero del premio se repartirá entre todos.
¿Quién puede participar?
Cualquier miembro registrado en la Comunidad de Desarrolladores de cualquier país puede participar en el concurso, excepto los empleados de InterSystems. Regístrate aquí en la Comunidad si aún no tienes una cuenta.
Duración del concurso
Del 11 al 24 de enero: Dos semanas para subir las aplicaciones a Open Exchange (durante este período, se pueden modificar los proyectos).
Del 25 al 31 de enero: Una semana para votar.
Los ganadores serán anunciados el lunes 1 de febrero.
Tema del concurso
💡 Aplicaciones multi-modelo 💡
Desarrollo de una solución multi-modelo usando InterSystems IRIS.
InterSystems IRIS es un DBMS (Sistema de Gestión de Bases de Datos) multi-modelo. Todo se almacena en "globals" y se dispone de varias APIs listas para usar, que aportan capacidad de gestión de datos en modelo clave-valor, SQL, Objeto y Documento. Con InterSystems IRIS se puede también desarrollar modelos propios y exponer APIs que proporcione esos nuevos modelos de datos, por ejemplo: GraphDB, column-store, etc.
Para este concurso, hay que desarrollar una aplicación que utilice al menos dos modelos diferentes para manejar los datos, como por ejemplo: clave-valor y relacional, objeto y relacional, documental y clave-valor o cualquier otro.
La aplicación debe funcionar en IRIS Community Edition o IRIS for Health Community Edition o IRIS Advanced Analytics Community Edition.
La aplicación debe ser Open Source y publicarse en GitHub.
Recursos útiles
1. Recursos sobre modelos:
Documentación:
Multi-model data aсcess
1.1. Globals (key-value)
Los "globals" son matrices multidimensionales persistentes que pueden ser almacenadas y gestionadas dentro de la base de datos de IRIS. Se puede operar con"globals" usando ObjectScript y la API Nativa.
Herramientas:
Managing globals in management portal
Documentación:
Using Multidimensional Storage (Globals)
Using Globals
Artículos:
Globals are Magic Swords for managing data
The art of mapping Globals to Classes
Vídeos:
Globals QuickStart
1.2. SQL
InterSystems IRIS ofrece acceso SQL a los datos usando ObjectScript/REST API y ODBC/JDBC.
Herramientas:
VSCode SQL Tools
DBeaver
SQL in Management Portal
Other SQL tools
Documentación:
SQL Access
InterSystems SQL Reference
Artículos:
Class Queries in ObjectScript
Vídeos:
SQL Things you should know
1.3. Objetos
InterSystems IRIS ofrece una manera de almacenar y cambiar instancias de objetos en "globals" a través de ObjectScript/REST API, Native API for Java/.NET/Node.js/Python, y XEP for Java/.NET.
Documentación:
Object Access
1.4. Documental
InterSystems IRIS ofrece DocDB para almacenar y gestionar documentos de datos JSON a través de REST API y ODBC/JDBC(SQL).
Documentación:
DocDB
2. Cómo enviar las aplicaciones al concurso:
How to publish an application on Open Exchange
How to submit an application for the contest
3. Cursos online:
Multi-Model QuickStart
4. Vídeos:
Multi-Model Development
Multi-Inheritance in a Multi-Model Environment
Jurado
Consulta los Criterios del Jurado y las Reglas sobre los votos aquí.
Así que... Ready. Set. Code.
¡Suerte a todos!
❗️ Echad un vistazo a los Términos oficiales del concurso.❗️
Bonus tecnológicos para el concurso >> Aún queda esta semana para que envieis vuestras aplicaciones al concurso sobre Multi-Modelo – hasta el domingo 24 de enero.
Artículo
Jose-Tomas Salvador · 8 abr, 2021
En el Centro de Soporte Internacional (WRC), con frecuencia los clientes se ponen en contacto con nosotros porque su Web Gateway no puede publicar páginas web. En este artículo explicaré el motivo más frecuente por el que pueden producirse estos errores; y también explicaré algunas herramientas que se pueden utilizar para solucionar el problema. Esta explicación se centra en el Web Gateway que enlaza con las instancias de InterSystems IRIS, pero la misma explicación debería aplicar también a la CSP Gateway que enlaza con instancias de Caché.
El problema:
Al intentar cargar una Aplicación Web (ya sea una aplicación personalizada o el Portal de Administración del Sistema), se produce uno de los siguientes errores (dependiendo del navegador):
Además, el archivo CSP.log muestra:
Por qué sucede esto:
Para comprender por qué sucede esto, necesitamos echar un vistazo a la arquitectura en la que funciona el Web Gateway:
Cuando intentas cargar tu aplicación en un navegador, este envía una solicitud a tu servidor web. El servidor web transmite esta solicitud al Web Gateway. El Web Gateway entonces debe ponerse en contacto con InterSystems IRIS para saber qué hacer con la solicitud. Pero dado que el Web Gateway se encuentra fuera de InterSystems IRIS (y puede que incluso esté en otra máquina), necesitamos que el proceso del Web Gateway se autentifique con IRIS. Es lo mismo que requeriríamos para otros procesos nuevos que se conecten a IRIS, como conexiones remotas ODBC o una simple sesión local del terminal de IRIS.
La razón por la que estamos viendo los errores anteriores al cargar la aplicación es porque esta autenticación desde el Web Gateway a IRIS está fallando. La configuración del Web Gateway almacena dentro de su archivo CSP.ini un conjunto de credenciales para cada servidor InterSystems IRIS al que se conecta. Normalmente, estas credenciales son para el usuario "CSPSystem", que es una cuenta que se crea de forma predeterminada cuando se instala IRIS. Estas credenciales se utilizan para intentar autenticarse utilizando la configuración establecida para el servicio %Service_WebGateway en IRIS.
Para tener más información sobre por qué esta autenticación está fallando, puedes utilizar las funciones de la Auditoría ("Audit") que ofrece InterSystems IRIS. Como es probable que no puedas utilizar el Portal de Administración en este momento, puedes utilizar la rutina ^SECURITY en una sesión del terminal de IRIS para configurar la Auditoría y ver el Registro de Auditoría ("Audit log").
En primer lugar, tendrás que habilitar la auditoría ("Enable Auditing"), si aún no se ha habilitado:
A continuación, asegúrate de que la auditoría del evento %System/%Login/LoginFailure esté habilitada:
Una vez hecho esto, podrás reproducir el problema de "Error de disponibilidad del servidor". Esto debería resultar en el registro de un evento de auditoría LoginFailure, y puedes ver los detalles de este evento para saber más:
La sección "Mensaje de error" ("Error message") debería ofrecer más información sobre por qué estamos viendo el LoginFailure. Los problemas más habituales incluyen "El usuario CSPSystem está deshabilitado" o "El servicio %Service_WebGateway no está habilitado para la autenticación de la contraseña", lo que sugiere cambios que deben llevarse a cabo en la Configuración de Seguridad de IRIS.
El problema más común que vemos en el Centro de Soporte Internacional (WRC) es que la autenticación está fallando debido a que la "contraseña no es válida" ("Invalid password"). Esto significa que la contraseña de CSPSystem almacenada en el Web Gateway no coincide con la contraseña del CSPSystem guardada en IRIS.
Cómo solucionar el problema:
Ahora que la entrada del Registro de Auditoría ofrece una indicación clara de cuál es el desajuste entre el Web Gateway e InterSystems IRIS, es necesario arreglar ese desajuste. Las credenciales del CSPSystem que están del lado de IRIS se pueden modificar por medio del menú ^SECURITY, en una sesión del Terminal.
Hay varias formas de modificar las credenciales del CSPSystem almacenadas en el Web Gateway. La forma más fácil será acceder al Portal de Administración del Web Gateway, que se documenta aquí: https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCGI_oper_config/. Una vez cargada la Página de Administración del Web Gateway, puedes editar las credenciales utilizadas para autenticarse en IRIS haciendo clic en el enlace de Acceso al servidor y editando la configuración de Seguridad de la conexión para el servidor correspondiente.
Si no puedes acceder a la Página de Administración del Web Gateway, entonces te queda la edición del archivo CSP.ini. El archivo CSP.ini debe tener secciones para cada Definición de Servidor configurada en el Web Gateway. Deberías poder editar las secciones “Username” y “Password” en la sección correspondiente para que coincidan con lo que se almacena en InterSystems IRIS. Ten en cuenta que la sección [SYSTEM] controla el acceso al Portal de administración del Web Gateway, no a una instancia de InterSystems IRIS llamada [SYSTEM].
Por ejemplo, si tienes una definición para el servidor “Test” donde la contraseña del CSPSystem es incorrecta:
Puedes editar el archivo CSP.ini para obtener la contraseña correcta del texto simple:
La próxima vez que intentes autenticarte desde el Web Gateway a InterSystems IRIS, la contraseña estará cifrada: