#Principiante

0 Seguidores · 94 Publicaciones

La etiqueta de Principiante une los artículos y preguntas para aquellos que apenas comienzan a utilizar InterSystems Data Platform

Artículo Ricardo Paiva · jul 1, 2021 3m read

¡Hola a todos!

InterSystems IRIS tiene un menú llamado Interoperabilidad.

Ofrece mecanismos que permiten crear fácilmente integraciones de sistemas (adaptadores, mapas de registros, BPMs, conversiones de datos, etc.), para que diferentes sistemas puedan conectarse fácilmente.

En el proceso de transmisión de datos se pueden incluir diversas operaciones, por ejemplo: para conectar sistemas que normalmente no están conectados, se pueden recibir (o enviar) datos según las especificaciones del sistema de destino. Además, se puede adquirir y añadir información desde otro sistema antes de enviar los datos. La información también se puede adquirir y actualizar a partir de una base de datos (IRIS u otra).

En esta serie de artículos, comentaremos los siguientes temas, mientras vemos ejemplos de códigos para ayudarte a comprender cómo funciona y qué tipo de desarrollo se requiere cuando se integran sistemas con Interoperabilidad.

En primer lugar, os presento el caso de estudio que utilizaremos en esta serie de artículos:

Una empresa gestiona una tienda online y está cambiando el orden en que se muestra la información de los productos para que coincida con las estaciones del año.
Sin embargo, algunos artículos se venden bien independientemente de la estación del año, mientras otros se venden en momentos inesperados, lo que no coincide con la regla actual de cambiar el orden.
Por lo tanto, estudiamos la posibilidad de cambiar el orden para que coincida con la temperatura del día en lugar de con la estación del año. Fue necesario saber la temperatura de los productos comprados en ese momento.
Como se dispone de una API web externa para comprobar la información meteorológica, planeamos recopilar la información meteorológica en el momento de la compra y registrarla en la base de datos.

Es muy sencillo, pero es necesario utilizar una “API web externa” para recoger la información, y se debe combinar la información obtenida y la de compra para registrarla en la base de datos.

Las instrucciones específicas se comentarán en un artículo relacionado (no incluye la creación de un sitio web). ¡Échale un vistazo!

En cuanto a la "API web externa" que estamos utilizando en esta ocasión, estamos usando los Datos meteorológicos actuales de OpenWeather.

(Si quieres probarlo, debes registrar una cuenta y obtener un ID de API ).

Lo siguiente es el resultado de una solicitud GET de un cliente REST (lo ejecutaremos en el mecanismo que implementaremos en Interoperabilidad).

El JSON de la respuesta HTTP es el siguiente:

{
    "coord": {
        "lon": 135.5022,
        "lat": 34.6937
    },
    "weather": [
        {
            "id": 803,
            "main": "Clouds",
            "description": "broken clouds",
            "icon": "04d"
        }
    ],
    "base": "stations",
    "main": {
        "temp": 17.05,
        "feels_like": 13.33,
        "temp_min": 16,
        "temp_max": 18,
        "pressure": 1017,
        "humidity": 55
    },
    "visibility": 10000,
    "wind": {
        "speed": 4.63,
        "deg": 70
    },
    "clouds": {
        "all": 75
    },
    "dt": 1611635756,
    "sys": {
        "type": 1,
        "id": 8032,
        "country": "JP",
        "sunrise": 1611612020,
        "sunset": 1611649221
    },
    "timezone": 32400,
    "id": 1853909,
    "name": "Osaka",
    "cod": 200
}

En el siguiente artículo, comentaremos cómo funciona el menú de Interoperabilidad para la integración del sistema.

0
0 233
Artículo David Reche · jul 23, 2019 5m read

¡Hola a tod@s!

Cuando hablo con alguien de perfil técnico por primera vez acerca de InterSystems IRIS, siempre comienzo hablando de que en el centro de todo InterSystems IRIS es una Base de Datos Multimodelo. En mi opinión, esta es la mayor ventaja (desde la visión de Sistemas de Bases de Datos), ya que:

  • ¿Quieres obtener un resumen o partes específicas de tus datos? Usa SQL!
  • ¿Necesitas trabajar de forma intensiva con un registro? Usa Objetos!
  • ¿Quieres establecer un valor y conoces la clave? Piensalo de nuevo. Usa globals!

Y en todos los casos, el dato está almacenado de forma única. ¡Tú eliges la manera en la que quieres acceder al mismo!!

De un primer vistazo es una bonita historia - corta, concisa y con un mensaje; pero cuando se empieza a trabajar con InterSystems IRIS, comienzan a surgir  preguntas: ¿Cómo están relacionados las clases, las tablas y los globals? ¿Qué son cada uno para el otro? ¿Cómo se almacenan realmente los datos?

En este artículo voy a tratar de responder estas preguntas y explicar qué está pasando realmente.

3
0 618
Pregunta Oscar Muñoz · abr 14, 2021

Hola a todos, 

Estoy creando un WS como servidor, pero a la hora de pedir el WSDL me está dando un error porque no encuentra la clase.
He añadido las siguientes intrucciones:

set ^SYS("Security","CSP","AllowClass","MiProyecto.MiClaseWS","%SOAP.WebServiceInfo")=1 
set ^SYS("Security","CSP","AllowClass","MiProyecto.MiClaseWS","%SOAP.WebServiceInvoke")=1

He creado una entrada en la configuracion de seguridad del WS

En la solapa de Application Role he puesto los permisos de %All 

(He puesto el Namespaces "Samples" en la imagen por motivos de seguridad)

2
0 351
Artículo David Reche · abr 12, 2021 1m read

¡Hola desarrolladores!

A menudo me preguntan cómo instalar IRIS, cómo conectarse a IRIS desde el IDE, cómo configurar el entono, compilar, depurar, mantener el repositorio...

Os muestro aquí posiblemente el camino más corto para configurar todo el entorno y empezar a desarrollar con ObjectScript en InterSystems IRIS.

Prerrequisitos

Asegúrate de tener Git, Docker y VSCode instalados.

Instala las extensiones de Docker y ObjectScript en VSCode.

Inicia sesión o crea una cuenta en Github.

¡Vamos allá!

0
0 448
Anuncio Esther Sanchez · mar 17, 2021

¡Hola desarrolladores!

Os invitamos a un nuevo webinar en español: "¿Qué necesitas para empezar con InterSystems IRIS y VS Code?", el miércoles 24 de marzo, a las 4:00 PM (CET).

  

“IRIS tiene buena pinta, pero no tengo ni idea... ¿por dónde empiezo?” o “Yo usaba Studio y programaba en Ensemble o Caché, pero esto del VS Code... ¿cómo se hace?”. Si te has hecho alguna de estas preguntas... ¡este es tu webinar!

2
0 250
Pregunta Diego Castro · mar 10, 2021

Hola a todos Necesito ayuda con un tema de Iris y docker. Estoy empezando en el area del desarrollo web y a conocer esta plataforma de intersystems, y necesito poder levantar una app con angular y base de datos iris, en docker. Ya se como levantar crear la imagen de iris y dejarla corriendo pero aun no he logrado consumir recursos desde el front. Porfavor consejos.

5
0 223
Artículo Mathew Lambert · dic 17, 2020 3m read

Uno de los principales beneficios de ObjectScript es la velocidad y eficiencia que ofrece a un desarrollador experimentado. Veamos un ejemplo de todos los beneficios que se pueden obtener con ObjectScript.

Imagina que tienes una clase que almacena nombres de sus usuarios. Llamaremos a la clase **Data.User**, y le daremos las mismas propiedades que tiene una cadena _Name_. A continuación, necesitaremos un método para crear un nuevo usuario o actualizar uno ya existente. Un enfoque inexperto y simplista sería muy similar al siguiente ejemplo:

0
0 127
Artículo Dani Fibla · jun 11, 2020 4m read

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

1
0 291
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.

Compilación

Para empezar, veamos cómo se compila el código ObjectScript:

  1. El compilador de clases usa definiciones de clase para generar código MAC
  2. En algunos casos, el compilador usa clases como base para generar clases adicionales. Puede ver estas clases en el estudio, pero no debe cambiarlas. Esto sucede, por ejemplo, al generar clases que definen servicios web y clientes
  3. El compilador de clases también genera un descriptor de clase utilizado por Caché en tiempo de ejecución
  4. El preprocesador (también conocido como macro preprocesador, MPP) utiliza archivos INC y reemplaza las macros. Además, también procesa SQL incorporado en rutinas ObjectScript
  5. Todos estos cambios tienen lugar en la memoria; el código del usuario permanece sin cambios
  6. Después de eso, el compilador crea código INT para las rutinas de ObjectScript. Esta capa se conoce como código intermedio. Todo el acceso a los datos en este nivel se proporciona a través de globals
  7. El código INT es compacto y puede ser leído por un humano. Para verlo en el Studio, presione Ctrl + Shift + V.
  8. El código INT se usa para generar código OBJ
  9. El código OBJ es utilizado por la máquina virtual Caché. Una vez que se genera, el código CLS / MAC / INT ya no es necesario y puede eliminarse (por ejemplo, si queremos enviar un producto sin el código fuente)
  10. Si la clase es persistent, el compilador SQL creará las tablas SQL correspondientes

Macros

Como mencioné antes, una macro es un nombre simbólico que se reemplaza por el preprocesador con un conjunto de instrucciones. Una macro se define con la ayuda del comando #Define seguido del nombre de la macro (quizás con una lista de argumentos) y su valor:

#Define Macro[(Args)] [Value]

¿Dónde se pueden definir las macros? Ya sea en el código o en forma independiente en archivos INC que contiene solo macros. Los archivos necesarios se incluyen en las clases al comienzo de las definiciones de clase utilizando el comando Include MacroFileName - este es el método principal y preferido para incluir macros en clases. Las macros incluidas de esta manera se pueden usar en cualquier parte de una clase. Puedes usar el comando #Include MacroFileName para incluir un archivo INC con macros en rutinas MAC o el código de métodos de clase particulares.

Tenga en cuenta que los generadores de métodos requieren #Include dentro de su propio cuerpo si quieres usar macros en tiempo de compilación o uso de la palabra clave IncludeGenerator en una clase.

Para hacer que la macro esté disponible en el autocompletado de estudio, agregue /// en una línea anterior:

///
#Define Macro[(Args)] [Value]

Ejemplos

Ejemplo 1

Pasemos ahora a algunos ejemplos, y ¿por qué no comenzamos con el mensaje estándar "Hello, World!"? Código COS: 

Write "Hello, World!"

Crearemos una macro llamada HW que escribirá esta línea:

#define HW Write "Hello, World!"

Todo lo que necesitamos hacer ahora es escribir $$$HW ($$$ para llamar a la macro, luego su nombre):

ClassMethod Test()
{
     #define HW Write "Hello, World!"
     $$$HW
}

Se convertirá en el siguiente código INT durante la compilación:

zTest1() public {
     Write "Hello, World!" }

El siguiente texto se mostrará en la terminal cuando se llame a este método:

Hello, World!

Ejemplo 2

Usemos variables en el siguiente ejemplo:

ClassMethod Test2()
{
     #define WriteLn(%str,%cnt) For ##Unique(new)=1:1:%cnt { ##Continue
         Write %str,! ##Continue
     }
 $$$WriteLn("Hello, World!",5)

}

Aquí la cadena %str está escrita %cnt veces. Los nombres de las variables deben comenzar con %. El comando ##Unique(new) crea una nueva variable única en el código generado, mientras que el comando ##Continue nos permite continuar definiendo la macro en la siguiente línea. Este código se convierte en el siguiente código INT:

zTest2() public {
     For %mmmu1=1:1:5 {
         Write "Hello, World!",!
     } }

El terminal mostrará lo siguiente:

Hello, World!
Hello, World!
Hello, World!
Hello, World!
Hello, World!

 

Ejemplo 3

Pasemos a los ejemplos más complejos. El operador ForEach puede ser muy útil para iterar a través de globals, creémoslo:

ClassMethod Test3()
{
    #define ForEach(%key,%gn) Set ##Unique(new)=$name(%gn) ##Continue
    Set %key="" ##Continue
    For { ##Continue
        Set %key=$o(@##Unique(old)@(%key)) ##Continue
        Quit:%key=""
#define EndFor    }

   Set ^test(1)=111
   Set ^test(2)=222
   Set ^test(3)=333
   
   $$$EachFor(key,^test)
       Write "key: ",key,!
       Write "value: ",^test(key),!
   $$$EndFor

}

Así es como se ve en el código INT:

zTest3() public {
       Set ^test(1)=111
       Set ^test(2)=222
       Set ^test(3)=333
       Set %mmmu1=$name(^test)
       Set key=""
       For {
           Set key=$o(@%mmmu1@(key))
           Quit:key=""
           Write "key: ",key,!
           Write "value: ",^test(key),!
       } }

¿Qué está pasando en estas macros?

  1. Escribe el nombre del global a una nueva variable %mmmu1 (función $name )
  2. La clave asume el valor inicial de cadena vacía
  3. Comienza el ciclo de iteración
  4. El siguiente valor de la clave se asigna usando las funciones indirection y $order
  5. Post-condition se utiliza para verificar si la clave ha asumido un valor "" ; si es así, la iteración se completa y el ciclo termina
  6. Se ejecuta código de usuario arbitrario, en este caso, salida de clave y valor
  7. Se cierra el ciclo

El terminal muestra lo siguiente cuando se llama a este método:

key: 1
value: 111
key: 2
value: 222
key: 3
value: 333

Si está utilizando listas y matrices heredadas de la clase %Collection.AbstractIterator, puede escribir un iterador similar para ello.

Ejemplo 4

Otra capacidad de las macros es la ejecución de código arbitrario de ObjectScript en la etapa de compilación y la sustitución de sus resultados en lugar de una macro. Creemos una macro para mostrar el tiempo de compilación:

ClassMethod Test4()
{
      #Define CompTS ##Expression("""Compiled: " _ $ZDATETIME($HOROLOG) _ """,!")
      Write $$$CompTS
}

Que se transforma en el siguiente código INT:

zTest4() public {
      Write "Compiled: 18.10.2016 15:28:45",! }

El terminal mostrará la siguiente línea cuando se llame a este método:

Compiled: 18.10.2015 15:28:45

##Expression ejecuta el código y sustituye el resultado. Los siguientes elementos del lenguaje ObjectScript se pueden utilizar para la entrada:

  • Strings: "abc"
  • Routines: $$Label^Routine
  • Class methods: ##class(App.Test).GetString()
  • Funciones COS: $name(var)
  • Y combinaciones de estos elementos

Ejemplo 5

Directivas del pre procesador #If, #ElseIf, #Else, #EndIf se utilizan para seleccionar el código fuente durante la compilación, según el valor de la expresión que sigue una directiva. Por ejemplo, este método:

ClassMethod Test5()
{
    #If $SYSTEM.Version.GetNumber()="2016.2.0" && $SYSTEM.Version.GetBuildNumber()="736"
        Write "You are using the latest released version of Caché"
    #ElseIf $SYSTEM.Version.GetNumber()="2017.1.0"
        Write "You are using the latest beta version of Caché"
    #Else
        Write "Please consider an upgrade"
    #EndIf
}

Se compilará en el siguiente código INT en Caché versión 2016.2.0.736:

zTest5() public {
   Write "You are using the latest released version of Caché"
}

Y lo siguiente se mostrará en la terminal:

You are using the latest released version of Caché

Si usamos Caché descargado del portal beta, el código INT compilado tendrá un aspecto diferente:

zTest5() public {
    Write "You are using the latest beta version of Caché"
}

Lo siguiente se mostrará en la terminal:

You are using the latest beta version of Caché

Las versiones anteriores de Caché compilarán el siguiente código INT con una sugerencia para actualizar el programa:

zTest5() public {
    Write "Please consider an upgrade"
}

El terminal mostrará el siguiente texto:

Please consider an upgrade

Esta capacidad puede ser útil, por ejemplo, en situaciones en las que desea garantizar la compatibilidad de la aplicación cliente con versiones anteriores y nuevas, donde se pueden utilizar las nuevas características de Caché. Directivas del pre procesador #IfDef, #IfNDef tienen el mismo propósito al verificar la existencia o ausencia de una macro, respectivamente.

Conclusiones

Las macros pueden hacer que su código sea más legible al simplificar las construcciones de uso frecuente y ayudarlo a implementar parte de la lógica de negocios de su aplicación en la etapa de compilación, reduciendo así la carga en tiempo de ejecución.

Enlaces

0
0 340
Artículo Alberto Fuentes · abr 3, 2020 4m read

¡Hola a todos! 
Hoy hablaremos de cómo cargar un modelo de Machine Learning en IRIS y cómo probarlo, a través de un artículo genial de Niyaz Khafizov. 

Nota: lo siguiente se realizó utilizando Ubuntu 18.04, Apache Zeppelin 0.8.0 y Python 3.6.5.

Introducción

0
0 572
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 258
Artículo Jose-Tomas Salvador · feb 3, 2020 7m read

¡Hola Comunidad!

Ahora que la plataforma de datos InterSystems IRIS Data Platform Community Edition está disponible en Docker Hub, parece el momento ideal de probar InterSystems IRIS en un contenedor. Desde hace un tiempo, la Community Edition ha estado disponible en la nube, por ejemplo en AWS, pero podría ser interesante probarla localmente también. Los usuarios de Windows estamos acostumbrados a ver caras de desconfianza y escuchar que "nuestros resultados podrían variar" cada vez que mencionamos usar Docker para Windows. A veces incluso nos dicen que realmente deberíamos considerar ejecutar Docker dentro de máquinas virtuales con Ubuntu. Pfff... frown

0
0 427
Artículo Ricardo Paiva · ene 20, 2020 9m read

¡Hola Comunidad!

Este breve documento describe los pasos para iniciar IRIS community edition usando Docker en MAC. Para quienes sean nuevos con Docker, primero  se explica cómo instalar Docker y ejecutar algunos comandos básicos necesarios para poner en funcionamiento IRIS community edition. Los usuarios con más experiencia en Docker pueden saltarse esa parte.

0
0 451
Artículo Robert Cemper · dic 21, 2019 2m read

Para aquellos expertos que no pueden parar después del concurso "Advent of Code" (AoC2019), he publicado un código bastante antiguo en estilo tradicional para mejorarlo.

Fue escrito en base a una prueba previa en .XLS. Está lejos de ser perfecto. Es más bien un desafío para mejora en todas las direcciones (código, interfaz, ...). Así que cualquiera está invitado a mejorarlo.

0
0 223
Artículo Kurro Lopez · dic 5, 2019 8m read

¡Hola a tod@s!

En las partes anteriores (1, 2) de este artículo, hablamos de Globals como árboles. En esta tercera parte, los veremos como matrices dispersas.

Una matriz dispersa es un tipo de matriz donde la mayoría de los valores asumen un valor idéntico.

En la práctica, a menudo veréis matrices dispersas tan grandes que no tiene sentido ocupar memoria con elementos idénticos. Por lo tanto, tiene sentido organizar matrices dispersas de tal manera que no se desperdicie memoria al almacenar valores duplicados.

En algunos lenguajes de programación, las matrices dispersas son parte del lenguaje (por ejemplo, en J, MATLAB). En otros lenguajes, hay bibliotecas especiales que permiten usarlas. Para C ++, esos serían Eigen y similares.

Los Globals son buenos candidatos para implementar matrices dispersas por las siguientes razones:

0
0 644
Artículo Kurro Lopez · nov 25, 2019 11m read

Principiantes- ver Parte 1.

3. Variantes de estructuras cuando se usan globals

Una estructura, como un árbol ordenado, tiene varios casos especiales. Echemos un vistazo a aquellos que tienen un valor práctico para trabajar con globals.

3.1 Caso especial 1. Un nodo sin ramas

Los globals pueden usarse no solo como una matriz, sino como variables regulares. Por ejemplo, para crear un contador:
 

1
1 324
Artículo Kurro Lopez · oct 22, 2019 8m read

¡Hola a tod@s!

En este artículo voy a hablar sobre los Globals, esas espadas mágicas para almacenar datos, que han estado con nosotros desde hace tiempo, pero no mucha gente las utiliza de forma eficiente o realmente conoce esta súper herramienta.

Si se utilizan globals para realizar las tareas en donde realmente brillan, los resultados pueden ser sorprendentes, ya sea en términos de un mayor rendimiento o en una simplificación drástica de la solución en general (1, 2).

Globals ofrecen una forma especial de almacenar y procesar datos, la cual es completamente diferente de las tablas SQL. Se introdujeron por primera vez en 1966 con el lenguaje de programación M(UMPS), donde inicialmente se utilizaron en las bases de datos médicas. Todavía se usan de la misma manera, pero también fueron adoptados por otras industrias donde la confiabilidad y el alto rendimiento son la máxima prioridad (como en las finanzas, las operaciones comerciales, etc.)

0
1 280
Artículo Ricardo Paiva · oct 18, 2019 9m read

¡Hola Comunidad!

En esta serie de artículos, me gustaría presentar y discutir varios métodos posibles para el desarrollo de software con las tecnologías de InterSystems y GitLab. Trataré temas como:

  • Git 101
  • El flujo de Git (proceso de desarrollo)
  • La instalación de GitLab
  • Flujo de trabajo con GitLab
  • Entrega continua
  • Instalación y configuración de GitLab
  • Integración Continua/Entrega Continua (IC/DC) de GitLab
0
0 1090
Artículo Ricardo Paiva · sep 30, 2019 7m read

Todo el mundo tiene un entorno para realizar pruebas.

Algunas personas tienen la suerte de tener un entorno totalmente separado para Producción.

-- Anónimo

.

En esta serie de artículos, me gustaría presentar y discutir varios métodos posibles para el desarrollo de software, con las tecnologías de InterSystems y GitLab. Trataré temas como:

  • Git 101
  • Git flow (development process)
  • Instalación de GitLab
  • Flujo de trabajo de GitLab
  • GitLab CI/CD (Integración Continua/Entrega Continua)
  • CI/CD (Integración Continua/Entrega Continua) con contenedores

En esta primera parte se abordará la piedra angular del desarrollo de software moderno - el sistema de control de las versiones de Git y varios flujos de Git.

0
0 684
Artículo Jose-Tomas Salvador · sep 2, 2019 2m read

¡Hola Desarrolladores!

Esta es la segunda publicación sobre recursos para desarrolladores. Esta parte es sobre Open Exchange.

Utilizando Open Exchange para avanzar en la tecnología de InterSystems

InterSystems Open Exchange es una galería de herramientas de aplicaciones, conectores y librerías, que los desarrolladores de InterSystems publican para compartir formas de trabajar, enfoques y hacer negocio. Todas las aplicaciones están o construidas con InterSystems Data Platform o pensadas para ser usadas en desarrollos con nuestra tecnología.

0
0 213
Artículo Esther Sanchez · jul 31, 2019 3m read

¡Hola a tod@s, programadores deseosos de aprender!

Hace poco, un desarrollador que está empezando a utilizar la tecnología de InterSystems me preguntó cómo podía aprender en la Comunidad de Desarrolladores, para mejorar sus conocimientos de programación.

Y me pareció una muy buena pregunta. A la que podía responder con varias opciones. Por eso decidí escribir este artículo, esperando que sea de utilidad no solo para ese desarrollador, sino para otros muchos más. 

Así que la pregunta era... ¿Cómo aprender sobre Intersystems IRIS e IRIS for Health en la Comunidad de Desarrolladores?

0
0 191
Pregunta Evgeny Shvarov · jun 29, 2019

¡Hola chicos!

Como saben, hay dos (al menos) formas de obtener el valor almacenado de una propiedad de una clase InterSystems IRIS si se conoce el ID de una instancia (o un registro).

1. Obtenerlo mediante la propiedad de una instancia con "Acceso a objetos":

ClassMethod GetPropertyForID(stId As %Integer) As %String

{

set obj=..%OpenId(stId)

return obj.StringData

} +++ ++ 
 

2. Obtenerlo mediante una columna del registro con "acceso SQL":

ClassMethod GetColumnForID(stId As %Integer) As %String

{

&sql(select StringData into :sd from Ideal.StoredData where id = :stId)

return sd

}
1
0 182
Artículo David Reche · jul 1, 2019 6m read

Hola a todos,

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

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

0
1 1030
Artículo Kurro Lopez · jun 18, 2019 14m read

¡Hola Comunidad!

Les dejo una guía para principiantes sobre todo lo que necesitan saber del diseño y la documentación de la Interfaz de programación para aplicaciones (API) RESTful. Mediante este ejemplo aprenderán algunos de los patrones más comunes de la API RESTful.

¡Espero que les sea útil!

0
0 569
Anuncio David Reche · mayo 17, 2019

¡Hola Comunidad!

Echad un vistazo al nuevo vídeo "Coding Talk" ("Charlas sobre programación") en el Canal de YouTube de la Developer Community:

Crea tu primer código con InterSystems ObjectScript, usando IRIS Community, Github, Docker and VSCode

En este video, presentado por @Evgeny Shvarov, aprenderás a crear clases de InterSystems ObjectScript, ejecutarlo en un contenedor docker con InterSystems IRIS Community Edition, editarlo y compilarlo en Visual Studio Code y, por último, subirlo a Github.

Además...

0
0 178
Artículo David Reche · mayo 3, 2019 2m read

Ya está disponible la edición gratuita de InterSystems IRIS (InterSystems IRIS Community Edition) en la nube de AWS

¡Hola a tod@s!,

Es muy común que gente nueva usando InterSystems IRIS quiera comenzar a experimentar y trabajar en algún proyecto personal en un entorno gratuito. Si eres uno de ellos, ¡tenemos buenas noticias para ti!! Ya puedes usar la a edición gratuita de InterSystems IRIS (InterSystems IRIS Community Edition) en la nube de AWS.

0
1 344