miércoles, 18 de diciembre de 2013

Instalando un emulador de Mainframe en nuestro PC -- z/OS sobre Hércules (I)

Hola compas. Desde hace algunas semanas me encuentro haciendo un curso del SEPE de programación en COBOL Enterprise, orientado a sistemas Host. El curso está en general más o menos bien, pero me encuentro con un problema importante: el mainframe que han habilitado para las prácticas solamente es accesible desde los ordenadores del propio centro, con lo que solamente podemos programar o practicar durante los días en que tenemos clases presenciales, y en esos momentos no tenemos tiempo para cacharrear por nuestra cuenta puesto que es un intensivo durante el cual vamos cubriendo material a marchas forzadas.

Cuando les preguntamos, los profesores nos recomendaron RM/COBOL 85, pero no es un entorno completo y además está orientados a dialectos de COBOL diferentes a aquél que estamos aprendiendo nosotros. Para mí esto no resulta suficiente, por lo que he decidido intentar crear un entorno lo más completo posible. Queremos:
  1. Algo que funcione como un mainframe IBM con sistema operativo z/OS
  2. Que nos permita programar en COBOL Enterprise
  3. Que albergue bases de datos DB2 con las que se interaccione mediante SQL
  4. Que implemente CICS
  5. JCL para construir los ejecutables
Quiero que sepáis desde ya que no tengo claro del todo que esto vaya a salir bien hasta el final, así que no os lo toméis como un tutorial, sino más bien como un cuaderno de laboratorio en el que iré recogiendo mis averiguaciones y avances. Por favor, os animo a utilizar los comentarios para que aportéis vuestros conocimientos o dudas; entre todas estoy seguro de que podremos lograr un gran artículo ;)

Así pues, EMPEZAMOS


1) Desbrozando la red he encontrado un emulador de mainframe que pienso va a servirnos para establecer la base de nuestro sistema. El primer paso va a consistir pues en instalar Hercules, un emulador que nos va a permitir correr en nuestro PC o servidor privado software diseñado para mainframes IBM. Está disponible para GNU/Linux, Mac y Windows (entre otros). Nosotros vamos a seguir este poco fiable manual para terminar con una instalación limpia y totalmente operativa, aunque también nos apoyaremos en estos vídeos en otros momentos. Da instrucciones para varios sistemas operativos, pero aquí vamos a estudiar solo las correspondientes a distribuciones GNU/Linux más o menos modernas basadas en Debian (Debian, Ubuntu, Linux Mint, etc.).

1.1) Hercules está disponibe desde los repositorios de Ubuntu y creo que también desde los de otras distribuciones, pero yo he intentado instalarlo desde allí y lo único que he conseguido es pasarme un día entero intentando configurarlo todo para acabar de los nervios y desinstalándolo todo para recomenzar desde cero. Por ello mi consejo es que os bajéis el tarball de la útlima versión y lo instaléis a pelo, que es lo que vamos a hacer aquí.

Como directorio de destino para la descarga elegiremos nuestra carpeta personal (/home/USUARIO). Una vez finalizada desempaquetamos en el mismo sitio, con lo que se nos habrá creado una nueva carpeta cuya ruta será /home/USUARIO/hercules-3.09.

Abrimos una terminal y escribimos:

$ cd ~/hercules-3.09/util
$ ./bldlvlck
Esto es un script para comprobar dependencias. Si hay algún paquete que no esté precedido de OK, lo instalaremos desde los repositorios. Si todo está correcto, continuamos.

$ ./configure --prefix=/usr/local/Hercules
$ make
$ sudo make install
Si todo ha ido bien, ya tendremos instalado el emulador en nuestro ordenador. Ahora vamos a instalar la consola x3270:

$ sudo apt-get install x3270 xfonts-x3270-misc

Una vez instalado, comprobaremos si todo ha ido bien. En nuestra terminal, estando dentro del directorio hercules-3.09, escribiremos:

$ ./hercules 2>&1 | grep Version
Debería devolvernos la siguiente línea:

Hercules Version 3.09

1.2) Para terminar de configurar nuestra instalación de Hercules vamos a crear dos sencillos scripts:

1.2.1) Script de inicio. Abrimos un documento de texto plano (gedit, mousepad, nano...) vacío con permisos de superusuario y pegamos el siguiente bloque de código en él:

#!/bin/bash 
cd /home/USUARIO/hercules-3.09 
./hercules –f hercules.cnf

Guardamos en /usr/local/bin/hercules.sh y cerramos. Ahora procederemos a hacerlo ejecutable. Introduciremos la siguiente línea en nuestra terminal:

$ sudo chmod 777 /usr/local/bin/hercules.sh
1.2.2) Script de comandos de ejecución. Crearemos un archivo de texto plano en /home/USUARIO/hercules-3.09/hercules.rc y copiamos en él el siguiente bloque de código:

$ sh x3270 -model 3279-4 -once -port 3270 127.0.0.1 &

Guardamos y cerramos.

1.3) Por último os recomiendo crear un lanzador en el menú de aplicaciones para poder acceder a /usr/local/bin/hercules.sh con un simple click, pero los pasos para hacer esto dependen del entorno de escritorio que tengáis instalado, así que si os interesa hacerlo y no sabéis simplemente googlead un poco y estoy seguro de que lo lograréis sin dificultad.

Para comprobar que todo ha salido como es debido, en una terminal escribiremos:

$ hercules.sh
Debería abrírsenos algo parecido a esto:


Muy bien, pues si hemos llegado hasta aquí significa que hemos logrado instalar Hercules en nuestro sistema exitosamente :)

Continuaremos en la próxima entrega con la instalación de z/OS en nuestro sistema. Podéis poneros en contacto con IBM para conseguir una copia del software, porque yo no os voy a animar a que consigáis y difundáis software como el que nos ocupa a través de redes P2P, pues como bien sabréis, cada vez que descargáis un programa o escucháis un mp3 desde internet sin pagar, Steve Ballmer se come un gatito y a Steve Jobs le sale otro cáncer en el cielo. Nos vemos en la próxima ;)  

No hay comentarios:

Publicar un comentario