Biblioteca (IBM i) - Library (IBM i)

Una biblioteca (* LIB) en IBM i es un objeto que se utiliza como directorio del sistema para realizar un seguimiento de otros objetos. (También realiza un seguimiento de los arreglos temporales del programa (PTF) en las bibliotecas del sistema AS / 400.) (Los otros directorios que se pueden utilizar son los objetos de directorio (* DIR) y carpeta (* FLR)).

Los objetos de IBM i no se almacenan realmente en bibliotecas . En realidad, no son más que espacios de nombres , pero es más fácil referirse a un objeto como si estuviera "en" o "almacenado en" una biblioteca.

Ciertos tipos de objeto (archivo de base de datos, áreas de almacenamiento y objetos de programa ejecutable) se pueden compilar, copiar y almacenar en / desde muchas bibliotecas diferentes al mismo tiempo, con la jerarquía de la Lista de bibliotecas determinando qué instancia del objeto usar durante la ejecución de cualquier aplicación que utiliza ese nombre de objeto. Hay comandos de lenguaje de control para ayudar a mover objetos, y los objetos se pueden calificar en tiempo de compilación para apuntar a otros objetos específicos de forma estática en tiempo de ejecución, con el fin de eludir la lista de bibliotecas.

Otros tipos de objetos, designados como objetos de "sistema", no se pueden replicar. Las bibliotecas son un objeto de "sistema" y, por lo tanto, solo es posible una instancia de cualquier "nombre" de biblioteca dado. Están hechos para parecer como si estuvieran almacenados en la biblioteca QSYS. Otros objetos del "sistema" incluyen perfiles de usuario (* USRPRF), objetos de configuración (* LIND, * CTLD, * DEVD), etc.

Estándares de la tienda

En los sistemas con sistemas de archivo jerárquico, la norma es tener muchos directorios, la mayoría de los cuales están contenidos uno dentro del otro, y con un número moderado de archivos en cada directorio. Dado que las bibliotecas no se pueden almacenar dentro de otras bibliotecas en el AS / 400 y porque históricamente la lista de bibliotecas siempre fue tan pequeña, lo contrario se convirtió en la norma; pequeñas cantidades de bibliotecas, cada una de las cuales contiene una gran cantidad de objetos. Una biblioteca es similar a una carpeta en Windows. En AS / 400, una biblioteca es otro objeto que puede contener otros objetos (objetos ejecutables, archivos fuente, etc.).

Las bibliotecas no pueden contener otras bibliotecas. AS / 400 está estructurado como una lista, lo opuesto a Windows, que tiene una estructura en forma de árbol.

La mayoría de las aplicaciones de cosecha propia tienen entre una y tres bibliotecas. Algunos tienen objetos de programa, fuente y archivo juntos en una biblioteca. Con las tiendas que tienen una gran cantidad de datos y una pequeña ventana de respaldo, generalmente dividen los archivos de la base de datos en una biblioteca de datos separada y mantienen la fuente y los programas en otra biblioteca. En empresas con sistemas de desarrollo separados, tienden a dividirlo aún más colocando la fuente en su propia biblioteca.

En términos generales, todas las bibliotecas creadas por IBM para que las utilice el sistema operativo comienzan con la letra 'Q'.

Bibliotecas estándar de IBM:

  • QSYS - Biblioteca principal del sistema
  • QSYS2: biblioteca del sistema para CPI (caracteres por pulgada)
  • QHLPSYS - Biblioteca de documentación en línea para usuarios
  • QTCP - Utilidades de conectividad TCP
  • QAFP - Impresión de funciones avanzadas
  • QGPL - Biblioteca de uso general
  • QTEMP: biblioteca temporal específica del trabajo (se elimina cuando finaliza el trabajo)

AS / 400 y SQL

La mayoría de los sistemas de administración de bases de datos (DBMS) utilizan terminología basada en SQL para describir objetos . La terminología del AS / 400 es única y puede haber generado cierta confusión. Los lenguajes de programación de alto nivel a menudo se prefieren a SQL con programación AS / 400, debido a razones de rendimiento reales o percibidas . A medida que la programación SQL se ha vuelto más común en el AS / 400, tanto los métodos tradicionales como los basados ​​en SQL están disponibles para crear y utilizar objetos, según la preferencia o necesidad. En su mayor parte, los objetos tradicionales basados ​​en bibliotecas son los mismos que los objetos SQL, con al menos capacidades equivalentes. Por ejemplo, una biblioteca es un esquema, un archivo físico es una tabla, un archivo lógico es una vista y una ruta de acceso es un índice.

Lista de bibliotecas

La mayoría de los sistemas tienen una forma de encontrar objetos cuando no se especifica una ruta específica. Lo mismo ocurre con el AS / 400 y utiliza un objeto llamado lista de bibliotecas ( *LIBL ). Este objeto no existe por sí solo y siempre está asociado con otro objeto como un trabajo o una descripción del trabajo ( *JOBD ). A partir de OS / 400 V5R1, la parte de usuario de la Lista de bibliotecas puede contener hasta 250 nombres de biblioteca. Antes de eso, solo podía tener 25 bibliotecas. (Esto es algo a tener en cuenta al vender software porque en OS / 400 V4R5 y por debajo de una descripción de trabajo con más de 25 bibliotecas en su lista de bibliotecas no se puede restaurar).

La lista de la biblioteca de un trabajo consta de cuatro secciones:

  • Porción Sistema : Siempre en la parte superior y contiene AS / 400 bibliotecas de sistema como QSYS , QHLPSYS , QUSRSYS , etc. La parte de sistema puede contener hasta 15 nombres de biblioteca. El contenido predeterminado de la parte del sistema se especifica en el QSYSLIBL valor del sistema . El contenido de la parte del sistema se puede cambiar para que el trabajo actual se diferencie QSYSLIBL mediante el uso del CHGSYSLIBL comando .
  • Parte del producto : cuando se ejecuta un comando CL que especifica una biblioteca de producción , esa biblioteca se agregará a la parte del producto de la lista de bibliotecas mientras dure el comando. Sigue la parte del sistema y el O / S mantendrá hasta dos bibliotecas en él.
  • Biblioteca actual : es una biblioteca especial asociada con un perfil de usuario y solo puede haber una en la lista a la vez. Esta biblioteca es útil para que los programadores tengan su biblioteca personal en la parte superior de la lista, independientemente de a qué se cambie la parte del usuario. Se puede cambiar localmente usando el CHGCURLIB comando. Para cambiarlo para el usuario en todos los trabajos futuros, use el CHGUSRPRF comando.
  • Porción de usuario : la última parte de la lista de bibliotecas que contiene todas las bibliotecas de aplicaciones . La lista normalmente se asigna al trabajo a partir de la descripción del trabajo, pero para los trabajos por lotes, esto se puede anular mediante el parámetro SBMJOB del comando INLLIBL . La lista de biblioteca de un trabajo se puede cambiar localmente con los comandos EDTLIBL (Editar lista de biblioteca), CHGLIBL (Cambiar lista de biblioteca), ADDLIBLE (Agregar entrada de lista de biblioteca) y RMVLIBLE (Eliminar entrada de lista de biblioteca).

Como se mencionó anteriormente, la parte del usuario de la lista de la biblioteca para cualquier trabajo se puede almacenar en una descripción del trabajo de modo que cuando se inicia un trabajo, se utilizará la lista especificada allí. Algunas descripciones de trabajo especifican el valor especial, lo *SYSVAL que significa que la lista de la biblioteca se puede encontrar en el valor del sistema QUSRLIBL . IBM i permitirá al programador suprimir una biblioteca que esté en una descripción de trabajo o cualquiera de los valores del sistema de lista de bibliotecas siempre que no haya trabajos que bloqueen la biblioteca. Sin embargo, todos los trabajos futuros que utilicen estas listas ahora contaminadas no se iniciarán.

enlaces externos