Servicios IBM i: Gestionando el sistema a través de SQL
Conozca cómo utilizar la interfaz SQL para recuperar información de su sistema AS400 a través de los "Servicios IBM i": En qué consiste este recurso, sus principales características y cómo acceder a la documentación para individualizarlos y aprovechar su funcionalidad.
Desde siempre, existen distintas opciones de interfaz para operar u obtener información en un sistema IBM i (AS400, iSeries, System i): Listar archivos de spool en colas de salidas, recuperar la lista de bibliotecas del job, objetos en una biblioteca, conocer las PTFs aplicadas en el sistema, obtener información sobre perfiles de usuario, etc.
El acceso más común, probado a lo largo de todos estos años y siempre útil, es el uso de comandos emitidos normalmente desde la línea de comandos en la “pantalla verde”.
Por otro lado, desde los últimos años, se dispone de interfaces gráficas, usando los productos de la familia IBM i Access, o desde entornos Web más modernos, como Navigator para i.
Una tercera opción para gestionar información del sistema IBM i es por medio de las Interfaces de Programación de Aplicaciones, llamadas APIs, ya desde el lado de la programación.
Cada una de ellas ofrece la posibilidad de realizar la acción requerida o gestionar información del sistema, donde dependiendo de la interfaz, del conocimiento y de la familiaridad que se tenga con la misma, puede resultar más fácil utilizar una interfaz más que otra.
Finalmente, como alternativa a las tres interfaces mencionadas más arriba, existen los Servicios de DB2 para IBM i que utilizan exclusivamente SQL para acceder a la plataforma IBM i. En el presente artículo ofrecemos una visión conceptual de este recurso, sus principales características y cómo acceder a la documentación para individualizarlos y aprovechar su funcionalidad.
Servicios IBM i: Otra interfaz de acceso al sistema IBM i... usando SQL
Los “servicios IBM i” agregan otra forma de acceder y recuperar información del sistema IBM i (AS400- iSeries- System i), pero en este caso exclusivamente mediante el uso del lenguaje SQL, que al ser un standard de la industria resulta ventajosa la posibilidad de su uso para este propósito.
Para entender cómo operan estos servicios es necesario un conocimiento (básico) de SQL. Por lo tanto, aquellos usuarios que ya manejen el lenguaje SQL podrán sacar provecho al momento de utilizarlos.
Asímismo, los administradores o usuarios de otras plataformas que no estén familiarizados con la plataforma IBM i, pero sí poseen conocimiento de SQL, pueden obtener información variada de un sistema que no conocen, invocando servicios basados en el standard SQL.
Si bien podríamos considerar que "casi desde siempre" existieron servicios de este tipo (los que conforman los catálogos del sistema que maneja el gestor de base de datos), la constante actualización de las tablas SQL del sistema (desde las últimas versiones de IBM i), ofrece una nueva mirada sobre las posibilidades en la administración de su sistema IBM i mediante estos servicios y los hace más "protagonistas".
¿Qué son?
Básicamente consisten en una serie de vistas, procedimientos y funciones DB2 provistas por el sistema (como los catálogos del sistema), que mediante una interfaz SQL, sólo usando la sentencia SELECT e invocándolos adecuadamente, pueden acceder a datos y recuperar información del sistema.
Dadas las capacidades propias del lenguaje SQL (como la potente cláusula WHERE, para obtener filtros, y GROUP BY), se puede lograr mayor flexibilidad que al usar uno o más comandos del sistema (que devuelven una salida "fija") para obtener la misma información, o en muchos casos sustituir el uso de APIs cuyo aprendizaje es más complejo. Además de la flexibilidad ofrecida por SQL, la mayoría de las veces la respuesta es más rápida que usando comandos del sistema.
Por qué servicios IBM i
Como mencionáramos anteriormente, si bien se podría obtener la misma información mediante APIs provistas por el sistema para determinados fines, hay que tener en cuenta que para utilizarlas no sólo es necesario definir un programa que las invoque, sino tener el conocimiento detallado de la "estructura" de la API, que muchas veces resulta engorroso descubrirla y necesita un mayor aprendizaje.
En cambio, al utilizar los servicios IBM i, sólo es necesario contar con la interfaz SQL, ya sea utilizando SQL interactivo en “pantalla verde” o colocando la sentencia adecuada que invoque al servicio en un "script" SQL (por ejemplo desde el item "Run SQL Scripts" del producto IBM i ACS), sin necesidad de escribir un programa.
Por supuesto que también será necesario conocer las características de la tabla, vista, procedimiento o función que defina el servicio IBM i, aunque comparativamente, muchas veces con sólo el conocimiento de la sentencia SELECT de SQL, con todas sus capacidades, y un adecuado comportamiento del servicio (donde la mayoría de ellos está implementado como Vistas SQL), alcanzará para recuperar la información del sistema requerida, en vez de usar la API asociada para ese fin.
Como ejemplo, mediante algunos de estos servicios se puede: recuperar información sobre archivos de spool en colas de salidas, recuperar la lista de bibliotecas del job, objetos en una biblioteca, conocer las PTFs aplicadas en el sistema, obtener información acerca de los productos bajo licencia del sistema, obtener información sobre perfiles de usuario..., y también mediante un servicio IBM i conocer cuáles son todos los servicios IBM i disponibles!
En resumen, los servicios IBM i simplifican el acceso a determinada información del sistema, mediante una interfaz standard y conocida.
Versiones de IBM i en las que están disponibles
Esos servicios están disponibles para sistemas IBM i con versiones IBM i 7.1 y 7.2 (los servicios más nuevos disponibles vía PTF de grupo de base de datos), y por supuesto completamente actualizados y disponibles en la versión más reciente del sistema, IBM i 7.3.
Por lo tanto, para cada versión de IBM i, es importante verificar qué nivel de la PTF de grupo de base de datos se tiene instalado, y mantenerla actualizada para contar con los servicios incorporados. Además, tener en cuenta que con cada "Technology Refresh" (TR) liberado para cada versión de IBM i, se agregan nuevos servicios y se actualizan otros ya existentes.
Dónde encontrarlos
1) La sección Wikis del sitio IBM Developer Works ofrece un punto unificado de acceso a toda la información relacionada con las actualizaciones tecnológicas de todos los productos de IBM i en general: novedades de las últimas versiones, actualizaciones por producto según versión de IBM i, últimos TR, PTFs actualizadas por versión, entre otros.
El sitio web al que se accede es muy amplio, y mirando sólo la sección Wikis es mucha la información ofrecida, por lo que no es una tarea fácil encontrar específicamente lo que desea, en este caso lo asociado a los servicios DB2 para i (DB2 for i - Services).
Así, para poder acceder fácilmente a la información más reciente sobre servicios IBM i, desde el link: Acceso directo a todos los servicios DB2 para i en el sitio IBM Developer Works, se llega a la entrada directa de un listado actualizado de los mismos, con el tipo de servicio SQL (por ejemplo: vista, procedimiento, función), las versiones de IBM i en los que ya están implementados, y qué nivel PTF de grupo de Base de datos es requerido para hacerlos disponibles (sólo para 7.1 y 7.2).
Al acceder, se obtendrá algo similar a la imagen siguiente:
Se puede observar en la imagen anterior que las vistas, procedimientos o funciones que definen cada servicio, residen en las bibliotecas QSYS2 y SYSTOOLS.
Para usar los servicios DB2 para i, es necesario no sólo tener un conocimiento de SQL (como mencionamos anteriormente), sino que es primordial además conocer los nombres de las tablas, las columnas y las especificaciones de los datos asociados a las mismas para poder hacer un uso eficiente y adecuado de los mismos.
Por ejemplo, para saber qué campos se pueden consultar y cómo filtrar información contenida en esas tablas, se puede "clickear" sobre cada uno de los servicios, y conocer así las características puntuales de los mismos, como las tablas a las que pueden acceder, sus especificaciones y finalmente ejemplos de su uso.
2) Otro modo de acceso a la información es mediante el sitio oficial de documentación de IBM, "IBM Knowledge Center". Allí, se puede encontrar información más "formal" relacionada con los servicios IBM i, pero seguramente un poco menos actualizada de lo que se ofrece en el sitio Developer Works mencionado en el punto de arriba.
Al alcanzar esta página (similar a la imagen anterior), ingresando luego por alguno de los items marcados en el recuadro, se encontrará información de los servicios agrupados por categoría, y para cada uno de ellos, el detalle de sus especificaciones.
Notar, que de acuerdo al tipo de información que se desee obtener, en esta página los servicios están categorizados como Servicios IBM i (IBM i Services) y Servicios DB2 para i (DB2 for i Services). (Aunque observando la información desde el sitio Developer Works, están todos bajo el paraguas de Servicios DB2 para i):
- Los servicios IBM i tratan principalmente con información relacionada al propio sistema operativo (por ej. PTFs, contenido de colas de salida, memoria, listas de objetos, etc.).
- Los servicios DB2 para i son servicios que ayudan en las tareas de administración y la gestión de DB2.
Para tener en cuenta ...
- Los servicios IBM i no reemplazan, por el momento, a todas las APIs disponibles del sistema, pero se van agregando nuevos servicios con cada versión. Por eso es importante verificar cuáles están disponibles en cada instalación, y determinar si es necesario la aplicación de las PTFs de grupo de DB2 adecuadas para su disponibilidad.
- Aunque las APIs son “históricas” en los sistemas AS400, hay que tener en cuenta que se agregan diferentes en cada versión de IBM i,aportando nueva funcionalidad. Para conocer sobre ellas y documentación de cómo encontrarlas, referirse al artículo en Teknodatips API Finder: Cómo conocer las API´s disponibles y su documentación detallada
- Si bien algunos servicios IBM i proveen una manera alternativa de obtener información de su sistema, existen otros servicios que hacen más fácil el acceso a la información que usando comandos o APIs. Por ejemplo: el servicio IBM i "PTF Group Currency" permite chequear las PTFs de grupo y el nivel instalado de cada una de ellas en su sistema y verficar de esta manera si se encuentran actualizadas.
- Dependiendo de la versión de IBM i, algunos servicios NO estarán disponibles.
- Founder NS iTech - Capacitación IBM i - Especialista AS400 - Supervisor Editorial Teknodatips |
Copyright 2016 - Teknoda S.A.
IMPORTANTE: “Notas técnicas de AS/400 - IBM i" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes IBM i - AS/400. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. NS iTech - Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos. |