En muchas plataformas informáticas todo es un archivo , pero por el contrario, en IBM i todo es un objeto . [1]
Descripción general
Los objetos de IBM i comparten similitudes con los objetos de la programación orientada a objetos , pero también existen diferencias. Existen similitudes en que, cuando se asigna almacenamiento para algo, ese algo es de un tipo específico y solo un conjunto específico de programas pueden actuar sobre ese objeto. Existen diferencias en que los objetos de IBM i no se pueden heredar, y el conjunto de tipos de objetos es fijo y solo IBM tiene la capacidad de crear nuevos.
La cantidad de tipos de objetos es enorme y solo un pequeño subconjunto de ellos está disponible para los usuarios. La forma legible por humanos del tipo de objeto es siempre una regla mnemotécnica de tres a seis caracteres precedida por un asterisco. A continuación, se incluye una breve lista de los objetos más utilizados y sus reglas mnemotécnicas:
- *LIB: Biblioteca (donde se almacena todo lo que aparece a continuación, excepto directorios y archivos de flujo; las bibliotecas no pueden existir dentro de otras bibliotecas).
- *PGM: Programa (para lenguajes compilados: CL, RPG-IV, C, C++, COBOL, etc. y no hay restricciones de interfaz entre los lenguajes).
- *MÓDULO: Módulo (enlazable a un programa desde un lenguaje compilado anteriormente y aquí tampoco hay restricciones en la capacidad de enlace entre lenguajes).
- *SRVPGM: Programa de servicio (conjunto dinámico de uno o más módulos, similar a un archivo DLL en Microsoft Windows ).
- *BNDDIR: Directorio de enlace (contiene una lista de módulos y programas de servicio y se utiliza al crear programas).
- *CMD: Comando (un objeto utilizado para llamar programas que permite a los usuarios solicitar sus parámetros; se puede crear con el lenguaje de definición de comandos). Consulte Lenguaje de control para obtener más información.
- *MENÚ: Menú (se accede con el comando GO).
- *ARCHIVO: Archivo (los archivos de IBM i se pueden utilizar para datos, dispositivos de entrada/salida y código fuente, según el subtipo).
- *DTAARA: Área de datos (pequeños fragmentos de almacenamiento utilizados para guardar pequeños elementos de datos para un acceso rápido).
- *DIR: Directorio (parte del Sistema de Archivos Integrado que es equivalente a los sistemas de archivos jerárquicos de Unix y Microsoft Windows ).
- *STMF: Archivo de flujo (archivo tradicional que sería familiar para la mayoría de los usuarios de Unix y Microsoft Windows y que solo se almacena en directorios).
- *JRN y *JRNRCV: Diario y receptor de diario (utilizado para registrar cambios en archivos, áreas de datos y archivos de flujo).
- *USRPRF: Perfil de usuario (permite a los usuarios iniciar sesión en el sistema).
- *JOBD: Descripción del trabajo (se utiliza al enviar/iniciar trabajos).
- *SBSD: Descripción del subsistema (se utiliza al iniciar subsistemas; este es el lugar donde se ejecutan los trabajos del usuario).
- *JOBQ: Cola de trabajos (utilizada para poner en cola trabajos por lotes para ejecutarlos en un subsistema).
- *LIND: Descripción de línea (línea de comunicaciones: Ethernet, token ring, etc.).
- *CTLD: Descripción del controlador (controlador de comunicaciones para líneas, estaciones de trabajo, etc.).
- *DEVD: Descripción del dispositivo (dispositivo de comunicaciones para líneas, estaciones de trabajo, impresoras, unidades de cinta, etc.)
- *DTAQ: Cola de datos (se utiliza para poner en cola las entradas de datos para una rápida recuperación por parte de otros trabajos).
- *MSGQ: Cola de mensajes (utilizada para enviar mensajes a los usuarios, también se puede utilizar como una cola de datos).
- *OUTQ: Cola de salida (se utiliza para poner en cola la salida a una impresora).
- *USRSPC: Espacio de usuario: un objeto genérico que contiene datos de tamaño arbitrario (hasta 16T).
Bibliotecas
Una biblioteca (*LIB) en IBM i es un objeto que se utiliza como directorio del sistema para realizar un seguimiento de otros objetos. Los objetos no se almacenan dentro de bibliotecas, sino que las bibliotecas se utilizan como espacios de nombres para objetos. Las bibliotecas son un objeto del "sistema" y, por lo tanto, solo es posible una instancia de cualquier "nombre" de biblioteca determinado. Están diseñadas para que parezcan almacenadas en la biblioteca QSYS.
Bibliotecas estándar
En términos generales, todas las bibliotecas creadas por IBM para su uso por 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 propósito general
- QTEMP - Biblioteca temporal específica del trabajo (se elimina cuando finaliza el trabajo)
Lista de la biblioteca
Una lista de bibliotecas ( *LIBL
) es un objeto que especifica un conjunto predeterminado de ubicaciones para buscar un objeto (similar al mecanismo PATH de otros sistemas operativos). Este objeto no existe por sí solo y siempre está asociado con otro objeto como un trabajo o una descripción de trabajo ( *JOBD
). Algunas descripciones de trabajo especifican el valor especial *SYSVAL
que significa que la lista de bibliotecas se puede encontrar en el valor del sistema QUSRLIBL
. A partir de OS/400 V5R1, la parte del usuario de la Lista de bibliotecas puede contener hasta 250 nombres de bibliotecas. Antes de eso, solo podía tener 25 bibliotecas.
La lista de biblioteca de un trabajo consta de cuatro secciones:
- Parte del sistema : siempre en la parte superior y contiene bibliotecas del sistema como
QSYS
, QHLPSYS
, QUSRSYS
, etc. La parte del 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 sea diferente al anterior QSYSLIBL
mediante el CHGSYSLIBL
comando . - Parte del producto : cuando se ejecuta un comando CL que especifica una biblioteca de producción , dicha biblioteca se agregará a la parte del producto de la lista de bibliotecas durante la duración del comando. Sigue a la parte del sistema y el sistema operativo mantendrá hasta dos bibliotecas en ella.
- 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 cambiarla para el usuario en todos los trabajos futuros, use el CHGUSRPRF
comando. - Parte del usuario : la última parte de la lista de bibliotecas que contiene todas las bibliotecas de la aplicación . La lista normalmente se asigna al trabajo desde la descripción del trabajo, pero para los trabajos por lotes, esto se puede anular utilizando el parámetro
SBMJOB
del comando INLLIBL
. La lista de bibliotecas de un trabajo se puede cambiar localmente con el comando EDTLIBL
(Editar lista de bibliotecas), CHGLIBL
(Cambiar lista de bibliotecas), ADDLIBLE
(Agregar entrada a la lista de bibliotecas) y RMVLIBLE
(Eliminar entrada a la lista de bibliotecas).
Referencias
- ^ "Objetos y bibliotecas AS/400" . Consultado el 28 de mayo de 2018 .