Anuncio Esther Sanchez · dic 9, 2021

¡Hola Comunidad!

¡Es el momento de demostrar nuestra pasión por la Comunidad de Desarrolladores de InterSystems! Estamos muy orgullosos de anunciar que Global Masters, la plataforma de fidelización de InterSystems, es finalista en los premios Influitive BAMMIE en la Categoría de Most Passionate Community🤩🤩🤩

¡Y esto ha sido posible gracias a todos vosotros, nuestra gran comunidad!

PERO, para ganar, necesitamos obtener más votos que los otros finalistas - ¡así que necesitamos vuestros votos!

🚀  POR FAVOR haced clic en "You've got my vote" en este reto

¡Hoy 9 de diciembre es el último día para votar! 

¡Vamos equipo!! ¡Podemos GANAR!

0
0 114
Artículo Muhammad Waseem · dic 9, 2021 3m read


En este artículo, mostraré los conceptos básicos de la autenticación OAuth2 con la cuenta de GitHub con la ayuda de la demostración online
https://dappsecurity.demo.community.intersystems.com/csp/user/index.csp usando SuperUser | SYS

Recomendaciones:

A continuación, necesitamos 3 pasos:

  • Paso 1: Registrar la aplicación con el servidor de autenticación de GitHub
  • Paso 2: Configurar el cliente OAuth 2.0 desde el portal de administración de InterSystems
  • Paso 3: Llamar a la API para iniciar sesión con una cuenta de GitHub

Así que... ¡empecemos!

0
0 515
Artículo Ricardo Paiva · dic 3, 2021 2m read

Si defines una tabla/clase persistente, el compilador de clases genera una definición de almacenamiento adecuada. Otra opción es definir un mapeo SQL para un almacenamiento global que ya existe.  Esto ya se explicó estupendamente en otra serie de artículos:  El arte del mapeo de globales para Clases 1 de 3

0
0 232
Anuncio Esther Sanchez · dic 1, 2021
En un mes de noviembre más frío de lo habitual, pasaron muchas cosas en la Comunidad. ¿Os perdisteis algo? ¡No os preocupéis! Os traemos un resumen de todo: lo más visto, lo más comentado, lo más votado... ¡Echadle un vistazo y no os quedéis con ganas de aprender!
Datos generales
40 publicaciones nuevas en noviembre:
    – 22 artículos
    – 15 anuncios
    – 3 preguntas
0
0 131
Pregunta Flávio Lúcio Naves Júnior · nov 30, 2021

¡Hola a todos!

Estoy intentando exportar una clase a xml y quitar la etiqueta "xmlns" de la clase madre. Estas son mis clases para crear el XML.

Class Class.Test Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property Person As Class.Person; Property Address As Class.Address; 

}
Class Class.Person Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property name As %String; Property age As %String; 

}
Class Class.Address Extends (%RegisteredObject, %XML.Adaptor)
{ 

Parameter NAMESPACE = "http://mynamespace.com/test"; 
Property location As %String; 

}
2
0 277
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 1121
Anuncio Esther Sanchez · nov 25, 2021

¡Hola desarrolladores!

Os traemos la primera ponencia del Virtual Summit 2021, ya disponible en el Canal de YouTube de la Comunidad de Desarrolladores en inglés.

El idioma del vídeo es el inglés y podéis activar los subtítulos en inglés si os resulta más fácil entender el vídeo leyendo el texto. Solo tenéis que hacer clic en el icono de subtítulos abajo:

Introducción a Python Embebido (Embedded Python)

0
0 448
Artículo Alberto Fuentes · nov 23, 2021 6m read

¡Hola desarrolladores!

¿Sabéis cómo crear una solución de analítica de datos con InterSystems IRIS?

Para empezar, pongámonos de acuerdo sobre lo que es una solución de analítica de datos - este podría ser un tema muy amplio -. Por ello, acotaremos el conjunto de soluciones que se podían presentar al Concurso de Analítica de Datos.

Y a continuación examinaremos tres tipos de soluciones para analítica de datos: de monitorización, de análisis interactivo y de elaboración de informes (reporting)

1
0 280
Anuncio Esther Sanchez · nov 24, 2021

¿Eres un Implementation Partner de InterSystems? Si creas aplicaciones centradas en el cliente, aprovecha los amplios recursos de formación online que te ofrecemos.

Ahora hay disponibles tres nuevas rutas de aprendizaje (learning paths) en Finanzas, Salud y Todo tipo de industrias, que ofrecen una base sólida para todos los que quieran crear aplicaciones con los productos de InterSystems.

¡Échales un vistazo porque merecen la pena! Está todo muy bien explicado, paso a paso.

Build Better Applications with InterSystems® products and technologies. New customized learning content for Implementation partners. Try a learning path.

0
0 152
Artículo Ariel Arias · nov 23, 2021 6m read

Bajo el escenario que ya tenemos una API REST, funcionando, y queremos incorporarla a una producción para contar con trazabilidad y todas las ventajas que ofrece IRIS para interoperar, dejo este artículo para cambiar una API existente que responde un JSON, para responder el mismo JSON pero dejando sus trazas en una producción de la misma instancia.

Lo primero, ya contamos con una aplicación creada, llamada /restapi y que tiene como DispatchClass: Testing.REST.ApiDisp (o la clase que tenemos en nuestra instancia).

0
0 476
Artículo Pablo Frigolett · nov 23, 2021 2m read

En esta minera - Operación de Candelaria para Lundin Mining - como en muchas otras, los sistemas de registro de eventos de la operación están separados de forma física y lógica. Buscando encontrar trazar la ubicación de material en el yacimiento y los diámetros de material relevante una vez molido lo extraído, sus ejecutivos usan herramientas no especializadas, planillas de cálculo en este caso, para bucear en los datos.

0
0 131
Anuncio Esther Sanchez · nov 23, 2021

¡Hola Comunidad!

¡Os invitamos a participar en el segundo concurso de redacción de artículos técnicos de InterSystems (en inglés)!

🎄 Concurso de Artículos Técnicos de InterSystems: Edición Navidad 🎄

Escribe un artículo en inglés en la Developer Community, sobre cualquier tema relacionado con la tecnología de InterSystems:

Duración: del 25 de noviembre al 25 de diciembre de 2021

Premios para todos los participantes: Todas las personas que publiquen un artículo en inglés durante la vigencia del concurso recibirán un premio

Premios principales: Auriculares inalámbricos Apple AirPods Max / Gafas de Realidad Virtual Oculus Quest 2 / Libro electrónico Amazon Kindle / Auriculares inalámbricos Apple AirPods Pro / Raspberry Pi

¡Participa en el concurso y tu artículo será leído por miles de miembros de la Comunidad de Desarrolladores!

0
0 166
Anuncio Jose-Tomas Salvador · nov 23, 2021

Se ha publicado una nueva versión del ZPM - ZPM 0.3.2.

Novedades en esta versión:

  • Varios cambios en el comando output de la ayuda
  • Cambios en los colores en las salidas
  • Añadida la posibilidad de incluir mas tipos de repo
  • Añadida la posiblidad de especificar un mensaje de post-instalación, con la etiqueta AfterInstallMessage en module.
0
0 143
Artículo Bernardo Linarez · nov 22, 2021 4m read

Hace algún tiempo, empecé a recibir alertas de consumo excesivo de espacio en el sistema de archivos (filesystem) de un cliente, cuya solución utiliza la capa de interoperabilidad (IRIS / Ensemble) de manera masiva.

Me percaté que las bases de datos que crecían eran las dedicadas a la interoperabilidad, mas no la base de datos operacional de la solución, por tanto había que revisar los mensajes de las diferentes integraciones presentes.

También verifiqué los espacios libres de cada base de datos por si compactar y truncar podrían liberar algún espacio importante, pero no era el caso.

0
1 280
Artículo Pablo Frigolett · nov 22, 2021 4m read

Servidor Externo de Lenguaje Python en un contenedor

La primera vez que se intenta iniciar un servidor externo de lenguaje Python (de aquí en adelante Gateway de Python), en la versión en contenedor, intenta ejecutar cierto código para detectar si está instalado el paquete python3-venv.

La imagen que está en containers.intersystems.com:

  • a la fecha de este artículo es la versión 2021.1.0.215.0
  • está basada en Ubuntu 18 LTS
  • viene con python 3.6.
0
0 172
Artículo Bernardo Linarez · nov 22, 2021 3m read

Mas de una vez nos ha sucedido que requerimos añadir algún comportamiento a algún Bussiness Service core (tal como viene "de caja").

En este caso puntual, tomaré de ejemplo el BS EnsLib.RecordMap.Service.FileService, el cual nos permite leer un archivo (normalmente un csv) desde una carpeta configurable. A veces sucede que el archivo que estamos leyendo es muy grande, y por tanto contiene muchas filas, y nuestra lógica requiera saber exactamente cuando se termino de procesar y además generar un evento que incluso sea procesado por algún Host personalizado.

0
0 230
Artículo Bernardo Linarez · nov 22, 2021 3m read

En algún momento, puede surgir la necesidad de llamar (sentencia CALL en BPL) de manera dinámica, porque hay mucha lógica de negocio compartida por distintos orígenes de datos, que da pie a que esa lógica se comparta y no se individualice cada llamada (CALL).

Esto tiene ventajas a nivel de mantenimiento de la lógica definida, catch de errores y administrar los hilos de ejecución de manera centralizada.

Entonces lo normal es que se defina una sentencia FOREACH que ejecute la sentencia CALL según cada ítem que se necesite.

<foreach name='Origenes activos' property='context.
0
0 193
Artículo Bernardo Linarez · nov 22, 2021 2m read

Tal como sucede con otros tipos de Host, en ciertos casos de uso nos conviene personalizar el comportamiento de algún Business Operation (BO) de caja. En este caso, tomaré de ejemplo el siguiente EnsLib.REST.GenericOperation

En principio, el caso de uso era un simple Pass Through de una petición HTTP Rest, por lo que se decidió usar tanto el BS y el BO core de IRIS para reenviarlo. Sin embargo, el destino de esta petición, necesitaba algunos Header por defecto, que no proporcionaba el request original.

Para efectos del ejemplo, añadiré estos Header a través de un BO personalizado.

0
0 202
Artículo Bernardo Linarez · nov 22, 2021 3m read

Siempre que se trabaja con el repositorio FHIR,  se tiene que interactuar con lógica de negocio propia de la institución donde se instala.

Surgió una regla bastante simple, para efectos de demostración, que consiste en validar la existencia de un paciente en el repositorio, aún si es una petición que contiene un Patient Resource enviado vía método POST, lo cuál por definición del estándar FHIR, corresponde a un Create Patient.

0
0 247
Artículo Rubén Larenas · nov 22, 2021 2m read

Estimados

Todos ya conocerán las propiedad y facilidades que entrega %Populate para las clases registradas, es una herramienta muy útil a la hora de realizar alguna demostración o presentación. Sin embargo, también habrán notado que por defecto tiene un set de datos localizado y creado para Estados Unidos lo que en algunas situaciones puede ser una dificultad.

Es por esta razón que les dejo este pequeño ejemplo de cómo usar POPSPEC para poder localizar y crear nuestro propio conjunto de datos de prueba.

En primer lugar creemos nuestra clase persistente:

 Class Demo.
0
0 110
Artículo Eduardo Anglada · nov 22, 2021 3m read

¡Hola amigos!

A veces necesitamos importar datos a InterSystems IRIS desde archivos de tipo CSV. Esto puede hacerse, por ejemplo, mediante la herramienta csvgen, que genera una clase e importa todos los datos a ella.

Pero, ¿qué pasa si tienes tu propia clase y quieres importar datos desde un archivo CSV a una tabla que ya existe previamente?

Hay varias formas de hacerlo, ¡pero puedes utilizar csvgen (o csvgen-ui) otra vez! Preparé un ejemplo y estoy encantado de compartirlo con todos. ¡Vamos allá!

0
0 208
InterSystems Official Mario Sanchez Macias · nov 22, 2021

19 de Noviembre de 2021

Los kits de InterSystems incluyen un servidor web Apache que ofrece una práctica manera de interactuar con el Portal de Gestión de Caché/IRIS sin necesidad de instalar un servidor web externo. Sin embargo, este servidor web nunca debería usarse para instancias de producción y se debe instalar un servidor web externo que se ajuste a las necesidades específicas y a los requisitos de seguridad y riesgo de cada cliente.

Pruebas recientes han detectado problemas de seguridad con el servidor web Apache incluido en los kits actuales. Como es una tecnología de terceros que InterSystems no controla, InterSystems recomienda instalar la versión del servidor web obtenida directamente desde Apache y deshabilitar el servidor web Apache incluido. Nuestra documentación incluye instrucciones sobre cómo deshabilitar el servidor web proporcionado con nuestros kits. Apache también ofrece instrucciones de desinstalación, que se pueden encontrar en su página web.

0
0 168
Artículo Muhammad Waseem · nov 19, 2021 2m read

En mis artículos anteriores, mostré los pasos para conectar, recuperar y guardar datos en Caché desde Appeon PowerBuilder usando ODBC.

En este artículo, mostraré cómo eliminar datos de Caché con Appeon PowerBuilder (https://www.appeon.com/products/powerbuilder) usando ODBC.

Estoy usando Company.cls de Samples-Data (https://github.com/intersystems/Samples-Data/tree/master/cls/Sample)

¡Empecemos!
 

Paso 1:En primer lugar, debemos establecer una conexión (https://community.intersystems.

0
0 419
Anuncio Esther Sanchez · nov 19, 2021

¡Hola desarrolladores!

Os traemos el sexto y último tutorial grabado por @David Reche, y disponible en el canal de YouTube de la Comunidad de Desarrolladores en español: Persistencia de Objetos con InterSystems IRIS.

En este tutorial de siete minutos, David nos explicará la persistencia de objetos con InterSystems IRIS.

Tutorial 6: Persistencia de objetos con InterSystems IRIS

0
0 165
Anuncio Jose-Tomas Salvador · nov 18, 2021

¡Hola a todos!

Estamos encantados de anunciar una nueva manera de descargar los kits de la "Community Edition" de InterSystems IRIS e IRIS for Health. La "Community Edition" es una versión gratuita para desarrolladores, que hace más sencillo empezar a desarrollar soluciones con IRIS. Ahora se pueden descargar los kits a través del Servicio de Evaluación: evaluation.intersystems.com.

0
0 140
Artículo Ricardo Paiva · nov 18, 2021 2m read

Hablando con mi amigo @Renato Banzai, especialista en Machine Learning, me expuso uno de los mayores retos a los que se enfrentan actualmente las empresas: la implementación del Machine Learning (ML) y la Inteligencia Artificial (IA) en entornos reales.

Intersystems IRIS ofrece IntegratedML. IntegratedML es una excelente herramienta para practicar, probar y realizar implementaciones de modelos de ML e IA.

La parte más complicada de crear ML/IA es procesar los datos, depurarlos y hacerlos fiables.

¡Ahí es donde podemos aprovechar el estándar FHIR!

0
0 115
Anuncio Esther Sanchez · nov 18, 2021

¡Hola Comunidad!

Hemos grabado el webinar que hicimos ayer y lo hemos subido al canal de YouTube de la Comunidad de Desarrolladores en español. Si os perdisteis el webinar o lo queréis volver a ver con más detalle, ya está disponible la grabación!

Alberto Fuentes es uno de los cracks de InterSystems. Así que... si queréis saber todo sobre la Analítica de datos y el Reporting, ¡no os perdáis el vídeo!

Self-Service Analytics & Reporting

0
0 87