Artículo
Pierre-Yves Duq... · Jun 8 Lectura de 2 min

Cómo desplegar InterSystems IRIS Data utilizando ZPM Package Manager

¡Hola desarrolladores!

A menudo, tenemos que implementar algunos datos junto con código de aplicación.

Y para los desarrolladores de InterSystems IRIS, la pregunta podría ser: "¿Cómo puedo desplegar los datos que tengo en globals?"

InterSystems IRIS Globals Model QuickStart | InterSystems

En este artículo, os propongo uno de los métodos - desplegar los datos de los globals utilizando el ZPM package manager.

Cómo exportar datos de los globals

Supongamos que tenemos un servidor de base de datos de IRIS donde está el global a desplegar. El gestor de paquetes ZPM puede desplegar ficheros, así que la solución consiste en exportar el global a un archivo y crear el paquete de despliegue con este archivo.

ZPM puede desplegar globals en formato XML, así que primero tenemos que exportar un global en un fichero XML.

Por ejemplo, si el global que hay que exportar tiene el nombre "DataD", el siguiente comando en el terminal IRIS exportará el global DataD en un fichero XML:

d $System.OBJ.Export("DataD.GBL","/irisrun/repo/data/DataD.xml")

Qué aspecto tiene el recurso

Para generar el paquete con un global, debemos introducir un nuevo recurso en  el fichero de definición module.xml, como sigue:

<Resource Name="DataD.GBL"/>

Mirar el ejemplo en la documentación.

A tener en cuenta que con esta definición, se buscará el fichero DataD.XML, no DataD.GBL, como podríamos esperar.

Y ZPM buscará el fichero DataD.XML en la carpeta /gbl dentro de la carpeta registrada en el elemento <SourceRoot>.

Ejemplo

Este es un repositorio de prueba: iris-dataset-countries, que contiene un paquete que despliega un global con los datos en diferentes países.

Este es el módulo XML:

<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
  <Document name="dataset-countries.ZPM">
    <Module>
      <Name>dataset-countries</Name>
      <Description>Module imports the data of Country passengers in dc.data.Titanic class</Description>
      <Version>1.0.0</Version>
      <Packaging>module</Packaging>
      <SourcesRoot>src</SourcesRoot>
      <Resource Name="dc.data.Country.CLS"/>
      <Resource Name="dc.data.CountryD.GBL"/>
    </Module>
  </Document>
</Export>

Y podemos ver el recurso:

<Resource Name="dc.data.CountryD.GBL"/>

Que se localiza en el fichero /src/gbl/dc.data.CountryD.XML en el repositorio.

Así que, cuando ZPM carga el módulo en IRIS, importa el global según el module.xml.

Podemos probar a instalar el global (y la clase para él para hacer consultas) con:

USER>zpm "install dataset-countries"

O podemos practicar con los conjuntos de datos de países y del Titanic.

00
2 0 0 13
Log in or sign up to continue