En esta segunda parte, vamos a configurar el producto en z/OS y nos conectaremos desde Windows con el cliente de IBM Explorer. Es una herramienta basada en el editor Eclipse (usado para desarrollar en Java, por ejemplo). Veremos ficheros del sistema z/OS y ejecutaremos jobs desde Windows utilizando este cliente. Es la primera vez que uso esta herramienta y me ha gustado las posibilidades que ofrece.
Para esta parte, utilizaremos el fichero “zexp_hostcust.pdf” que viene en la carpeta “Documentation” del producto que descargamos en la entrada anterior. Empezaremos en la página 9, pero recomiendo leer las anteriores.
************************************ NOTA ************************************
Cuando terminé de hacer esta entrada, encontré una opción para personalizar este producto más rápido. Viene explicado en el documento “zexp_hostutil”. Recomiendo leer este documento.
*********************************************************************************************
Entramos en la librería FEK.**.SFEKSAMP y tenemos que ejecutar el job FEKSETUP. Este job crea unas librerías para “customizar” el producto, de esta forma, si se hacen subidas de versión no se pierden estos cambios.
Antes de ejecutarlo, hay que adaptarlo según los datos que usamos en la primera parte.
Terminará correctamente.
Tendremos las nuevas librerías.
Cambios en la PARMLIB
Si no lo hicimos en la entrada anterior, hay que añadir en el miembro BPXXPRMxx el montaje del file system que creamos también en la entrada anterior.
El siguiente paso será añadir las tareas para que se arranquen después de un IPL. Lo podemos hacer en el miembro COMMAND o en el producto de automatización que usemos (IBM System Automation, BMC MainView, CA OPS/MVS…).
Las tareas son JMON y RSED. Los comandos serán:
S JMON
S RSED
NOTA: En el caso de las versiones ADCD, tienen un procedimiento de arranque automático que permite añadir pausas. Por este motivo, el fichero de la imagen es el VTAMALL.
Vamos a añadir la librería FEK.V320.SFEKLPA al miembro LPALSTxx que estemos usando. Importante la “coma” del final.
También la añadimos dinámicamente con el comando:
SETPROG LPA,ADD,DSN=FEK.V320.SFEKLPA,MASK=*
Nos aparecerá el resultado del comando. Importante que el resultado sea “SUCCESSFUL”.
Las siguientes librerías deberán estar autorizadas APF.
FEK.V320.SFEKAUTH
FEK.V320.SFEKLPA
CEE.SCEERUN
CEE.SCEERUN2
REXX.V1R4M0.SEAGLPA
SYS1.LINKLIB
Las librerías CEE.* y SYS1.LINKLIB posiblemente ya las tengamos en APF. En mi caso, la librería REXX.V1R4M0.SEAGLPA se llama FAN140.SEAGLPA y también la tengo APF. Añadiré las dos que me faltan.
APF ADD
DSNAME(FEK.V320.SFEKAUTH) VOLUME(PRD000)
APF ADD
DSNAME(FEK.V320.SFEKLPA) VOLUME(PRD000)
También las añado de forma dinámica con los comandos:
SETPROG APF,ADD,DSN=FEK.V320.SFEKAUTH,VOL=PRD000
SETPROG APF,ADD,DSN=FEK.V320.SFEKLPA,VOL=PRD000
Ahora vamos a añadir las dos tareas (JMON y RSED) a la PROCLIB. Los ejemplos de estas dos STCs están en la librería que creamos al principio de esta entrada. En mi caso, FEK.V320.ÑCUST.PROCLIB.
JMON – JES Job Monitor started task
En mi caso, tengo que adaptar la STC para que coincida las librerías que tengo definidas. También es recomendable copiar el fichero de configuración (parámetro CFG) a nuestra PARMLIB y apuntar a esa. Yo no lo haré por otra configuración que tengo.
Una vez adaptada la STC a nuestra instalación, la copiamos en la PROCLIB de nuestro sistema.
Recomiendo revisar el fichero de configuración, adaptarlo según nuestras necesidades siguiendo el manual de IBM.
RSED – RSE Daemon started task
El nombre de esta tarea debe tener 7 caracteres o menos. Si ponemos 8, cuando intentemos dar el comando “stop” o “modify”, aparecerá el mensaje “IEE342I MODIFY REJECTED-TASK BUSY”.
En mi caso, como cambié el nombre de los directorios en UNIX, tengo que adaptar la tarea.
Una vez adaptada a nuestro sistema, la copiamos en nuestra PROCLIB correspondiente.
Esta tarea también tiene su fichero de configuración llamado rse.env. Se encuentra dentro de /etc/zexpl (o la ruta que hayamos definido anteriormente).
NOTA: Tened en cuenta que los parámetros empiezan por “Ñ” esto quiere que ese parámetro lo trata como un comentario. Habría que quitar esa “Ñ” para usar el parámetro.
Todos los parámetros están explicados en el manual que estamos usando para la instalación.
En mi caso, tengo que cambiar el parámetro JAVA_HOME para indicar la ruta correcta.
Para definir la seguridad de z/OS Explorer en RACF, usaremos el miembro FEKRACF que se encuentra en la librería **.ÑCUST.JCL que creamos al principio de la entrada.
¡CUIDADO!
Como cada instalación tendrá unas definiciones concretas para la parte de RACF, recomiendo revisar todo este job antes de ejecutarlo para evitar provocar una incidencia.
La persona que ejecute este job debe tener el atributo SPECIAL de RACF.
NOTA: En el caso de usar otros productos como ACF2 o Top Secret de CA, el manual indica dos documentos de CA para ayudar en esta configuración: TEC492389 y TEC492091, respectivamente.
Existe una opción llamada Interactive ISPF Gateway que sirve para poder interactuar con el sistema. Tiene su fichero de configuración llamado ISPF.conf. Se encuentra dentro de /etc/zexpl (o la ruta que hayamos definido anteriormente).
Tendremos que fijarnos que las librerías definidas coinciden con las de nuestro sistema.
Ahora vamos a comprobar si todo funciona correctamente.
Empezamos arrancando la tarea JMON. Debe aparecer el mensaje:
FEJ211I Server ready to accept connections on port 6715
Ahora arrancamos la tarea RSED. Puede tardar unos minutos en arrancar.
Si en el arranque aparece algún mensaje del tipo “rsed.sh 591: FSUM7351 not found” y la ruta es correcta, comprobad que el parámetro JAVA_HOME del fichero de configuración rse.env es el correcto.
Una vez arrancado correctamente aparecerá el mensaje:
FEK002I RseDaemon started. (port=4035)
Podemos hacer unos procesos de IVP (Installation Verification Program) para comprobar que todo funciona bien. Consiste en dar los siguientes comandos y comprobar que el resultado es correcto. El userid debe ser un usuario de TSO válido.
F RSED,APPL=IVP PASSTICKET,userid
F RSED,APPL=IVP DAEMON,userid
F RSED,APPL=IVP ISPF,userid
Empezamos con el primero.
Terminará correctamente.
Probamos el segundo comando.
Se hará correctamente.
Damos el último comando.
Aparentemente, esta función también funciona correctamente.
Ya hemos instalado la parte del “host”, ahora instalaremos la parte cliente.
No conseguí instalar el cliente usando “IBM Installation Manager”, por lo tanto, volví a bajar el cliente, pero con la opción Eclipse P2.
NOTA: En la primera parte aparece cómo llegar hasta la siguiente imagen.
En mi caso, “Starting from fresh”.
Una vez descargado y extraído, abrimos “zosexplorer.exe”.
Esperamos a que cargue.
La primera vez que abrimos la herramienta aparecerá una pestaña de “Bienvenida”, la cerramos.
Vamos a “Conexión nueva” y luego a “z/OS” y hacemos doble clic.
Ponemos la IP del sistema z/OS y pulsamos Siguiente.
NOTA: No hace falta que desconectemos de TSO para usar esta herramienta.
En caso de ser necesario, cambiamos el puerto. En mi caso, es el puerto por defecto y el método de autenticación “ID de usuario/contraseña”. Pulsamos “Finalizar”.
Vamos a “Archivos MVS” y luego a “Mis conjuntos de datos”. Nos solicitará el usuario y contraseña del usuario de TSO.
NOTA: hay que tener cuidado con lo que hacemos desde aquí porque, si por ejemplo, borramos un dataset, lo estamos borrando en el z/OS.
Ahora abro una de mis librerías para ver uno de los jobs que tengo y carga correctamente y, aparentemente, rápido.
Si intento editar este mismo miembro a través del terminal, me dirá que está en uso.
Estará cogido por la tarea “RSED”.
Además, entrando en “JES” y luego en “Mis trabajos”, podemos ver la salida de los jobs que hemos lanzado.
Entrando en “Trabajos activos” podemos ver las tareas en ejecución (jobs, STCs, etc.)
También se pueden ver ficheros de la parte Unix.
Ahora vamos a crear un filtro para buscar otras librerías del sistema. En “Archivos MVS”, hacemos clic con el botón derecho del ratón y vamos a “Nuevo” -> “Filtro”.
Escribimos los dataset que queremos que muestre. En mi caso, los que empiecen por ADCD. Importante poner el asterisco final para que incluya todos.
Podemos hacer el filtro permanente o temporal para esta sesión. Pulsamos Finalizar.
Podemos buscar archivos de los dataset del sistema, por ejemplo, una STC de la PROCLIB.
Por último, ejecutaremos un job desde la herramienta.
Los jobs que ejecutemos desde esta herramienta aparecerán reflejados en la tarea JMON.
Para poder ejecutar jobs, el programa tiene que reconocer la librería como de “JCL”. Si no la reconoce automáticamente, haremos lo siguiente:
Clic con el botón derecho en la librería que deseemos e iremos a “Propiedades”.
En “Extensión”, seleccionamos “Otras” y escribimos “jcl”. Aplicar y cerrar.
Ahora todos los miembros de la librería aparecerán con extensión “.jcl”. Al abrirlo, veremos que las palabras clave aparecen coloreadas. Pulsamos botón derecho sobre el job que queramos ejecutar en el sistema y pulsamos “Someter”.
Aparecerá un mensaje indicando que se ha lanzado el job y el JOBID. Pulsamos en “Localizar trabajo” para ver la salida.
Veremos la ejecución del job.
Hasta aquí esta segunda y última parte. La verdad es que es la primera vez que uso esta herramienta y me ha parecido muy interesante las opciones que permite.
¡Espero que os haya gustado también!