Desarrollando en Cobol y Natural sobre Plataforma Mainframe

viernes, 27 de febrero de 2015

Programación y Tiempo libre





jueves, 26 de febrero de 2015

Lenguajes de programación más usados en 2014

Una vez concluido 2014, ha llegado el momento de hacer una revisión de cuáles son, a día de hoy, los lenguajes de programación más usados y más populares en internet. Además, el ranking también nos servirá para destacar a aquellos que han tenido una mayor proyección durante el año anterior.

Siempre es interesante saber cuáles son los lenguajes más atractivos en el momento actual y, sobre todo, cuáles son los lenguajes que están teniendo un mayor crecimiento en los últimos años. Al fin y al cabo, dicha información será la que nos permita hacernos una imagen de qué es lo que está marcando la tendencia del mercado.

Conocer estos datos nos puede ayudar a definir más eficazmente hacia dónde tenemos que encaminar nuestra formación en un futuro. Evidentemente, no tendría mucho sentido comenzar a estudiar un lenguaje que acaba de salir del TOP 20 de los más utilizados y que cada vez está más en desuso.

A continuación, mostramos el ranking de los 20 lenguajes más populares del mundo en el año 2014, según el TIOBE Index.



En la tabla se muestra el nombre del lenguaje, el lugar que ocupa al comenzar el año 2015 y la posición que tenía a principios de 2014. Adicionalmente, también se muestra la cuota de mercado que le corresponde actualmente y el cambio experimentado durante los últimos 12 meses.

Como vemos, las primeras posiciones han permanecido inalteradas (de hecho, hace varios años que apenas se producen cambios en ellas). Los lenguajes más populares siguen siendo C, Java, Objective-C, C++, C# y PHP. Sus programadores nunca se verán haciendo cola en la oficina de empleo.

Por otra parte, mención especial merecen los lenguajes que están experimentando mayor crecimiento en los últimos tiempos. Aquí tendríamos que destacar a los siguientes: Perl, PL/SQL, MATLAB, ABAP, COBOL y Assembly. No sería mala opción incluir en nuestra formación algunos cursos relacionados con ellos.



Sorprendente es la reentrada del COBOL en el TOP 20. Cierto es que, a lo largo de 2014, había ido recuperando posiciones poco a poco, pero la verdad es que no esperábamos volver a verlo en la posición 13 del índice a estas alturas de siglo XXI.

En el gráfico anterior podemos observar cuál ha sido la evolución del COBOL durante los últimos 14 años. Desde 2001 no había hecho más que perder popularidad, hasta alcanzar un mínimo durante 2011. A partir de esa fecha, comenzó de nuevo a recuperar algo de aceptación y finalmente la explosión se ha producido este último año. Ya iremos viendo si esta mejoría se mantiene a lo largo del tiempo o si simplemente ha sido algo puntual.

Pues nada, una vez hecho el repaso anterior, ya no nos queda más que despedirnos. Al menos, esperamos haberos dado una alegría al comunicaros que vuestro querido COBOL vuelve a estar en el candelero...

Saludos.

jueves, 19 de febrero de 2015

Tipos de Colas CICS (y 2)

Hace algunas semanas comenzamos a ver en qué consistían las Colas CICS y cuáles eran los tipos que nos podíamos encontrar en un sistema Mainframe. Básicamente, las colas son un soporte de almacenamiento alternativo a los ficheros secuenciales, a los ficheros VSAM y a las tablas DB2.

En la primera parte del post ya estuvimos revisando las Colas TS - Temporary Storage (ver post Tipos de Colas CICS - 1). Sin embargo, nos quedó pendiente examinar el funcionamiento del otro gran grupo de este género de entidades: las Colas TD - Transient Data.

Colas TD: Transient Data Queue

Las Colas TD son un tipo de almacenamiento que, en su origen, se usaba fundamentalmente para implementar las colas de impresión. Actualmente suelen ser utilizadas como soporte de memoria para procesos batch: con cierta periodicidad, los demonios recogen los datos de la cola y realizan un tratamiento con ellos. Por supuesto, también pueden ser empleadas como simples ubicaciones de memoria para nuestros procesos on-line.

Los registros guardados en una Cola TD, tal y como ocurría con los de las Colas TS, son de longitud variable y se denominan items. En este caso son almacenados y recuperados de forma secuencial.

A diferencia de las TS, las Colas TD tienen que ser creadas y definidas antes de poder ser utilizadas en un programa Cobol. Junto a esto, la otra diferencia importante es que, conforme vamos recuperando la información, los items extraídos se van borrando automáticamente de la Cola TD.



Las Colas TD pueden ser de dos tipos:

- Tipo Extra-Partition: Este tipo de colas, que tienen que ser definidas como de entrada o de salida, permiten intercambiar datos con ubicaciones exteriores a nuestra región CICS. Es decir, con una Cola Extra-Partition podríamos enviar datos a un demonio externo o recoger los datos generados por un proceso batch externo.

- Tipo Intra-Partition: Estas Colas TD se almacenan en un espacio de memoria interno de nuestro CICS y admiten el procesamiento ATI (Automatic Transaction Initiation). Dicha técnica permite lanzar de forma automática (sin intervención alguna del usuario) una transacción CICS predefinida cuando en la Cola TD se acumule un número determinado de items.



En resumen, hemos visto que en el sistema CICS disponemos de varios tipos de Colas para afrontar las diversas opciones de procesamiento que nos podemos encontrar en una aplicación. Por un lado, las Colas TS (Main y Auxiliary) nos permitirán almacenar información que va a ser requerida de forma temporal por nuestros programas Cobol. Y por otro lado, las Colas TD (Extra-Partition e Intra-Partition) nos permitirán realizar procesamientos ATI o implementar procesos batch de intercambio de datos con otros CICS.

Las Colas son un tipo adicional de soporte de almacenamiento utilizable en los sistemas CICS, una opción más que se une a las ya conocidas de ficheros secuenciales, ficheros VSAM y tablas DB2. Ya será decisión nuestra, en función de las necesidades, usar uno u otro tipo en los programas Cobol.



Por supuesto, la única forma de aprender a utilizar las Colas es practicando con ellas. Aunque su uso pueda parecer un poco extraño al principio (sobre todo si estamos acostumbrados a operar con ficheros y tablas DB2), la realidad es que su operativa es tan sencilla como pueda serlo la del resto de tipos de almacenamiento.

Esperamos que, con todo lo comentado en el post, queden resueltas todas las dudas que os puedan surgir con relación a las Colas CICS. Si no es así, se aceptan preguntas...

Saludos.

jueves, 12 de febrero de 2015

Tipos de Colas CICS (1)

Las Colas CICS son instrumentos auxiliares que se utilizan para almacenar datos (fundamentalmente de forma temporal) que, con posterioridad, podrán ser empleados por nuestros programas Cobol. Cada una de las unidades de información guardadas en dichas Colas se denomina item (de manera análoga a lo que sería el registro de un fichero).

Las Colas CICS son ampliamente utilizadas para el intercambio de datos temporales entre varios programas Cobol (o incluso dentro de un mismo programa). De esta forma, evitamos sobrecargar los ficheros secuenciales, los ficheros VSAM o las tablas DB2 con información de vida efímera.

En un primer nivel, las Colas se dividen en dos tipos principales: Colas TD (Transient Data Queue) y Colas TS (Temporary Storage Queue). A continuación, pasamos a verlas en detalle.


Colas TS: Temporary Storage Queue

Las Colas TS, tal y como su nombre indica, sirven para almacenar información temporalmente y suelen ser utilizadas para la paginación de los datos mostrados por los programas Cobol. Los registros que se guardan en ellas son de longitud variable y se denominan items.

La ventaja de este tipo de Colas es que no es necesario que estén predefinidas con anterioridad a la ejecución de nuestra aplicación. Es decir, si en un objeto Cobol indicamos que queremos almacenar información en una Cola TS inexistente (con el comando WRITEQ, por ejemplo), la entidad se creará automáticamente en el momento en que se ejecute la instrucción del programa.

Los items de la Cola pueden ser recuperados de forma secuencial o directa y, una vez dados de alta, también podrían ser modificados. Finalmente, comentar que la información permanecerá almacenada en la Cola hasta que los items no sean borrados explícitamente (con el comando DELETEQ, por ejemplo).



Las Colas TS pueden ser de dos tipos:

- Tipo Main: Se almacenan en la memoria principal. Son el tipo más común de Cola TS, ya que su creación es viable en cualquier sistema CICS.

- Tipo Auxiliary: Utilizarán como soporte de almacenamiento una memoria temporal auxiliar. Este tipo de Colas TS se podrá crear siempre y cuando nuestro sistema CICS permita el uso de memoria auxiliar.

El próximo día continuaremos viendo el segundo tipo de Colas CICS, las Transient Data Queue, y haremos hincapié en las características específicas que las distinguen de las Colas TS. Tal y como veremos, hay algunas diferencias importantes en el comportamiento de ambas entidades, cosa que deberá ser tenida en cuenta a la hora de implementar su uso en los programas Cobol.

Pues nada más. Os invitamos a que leaís la segunda parte del post, donde terminaremos de revisar los tipos de Colas CICS existentes. Con ello nos debería quedar una idea bastante clara que nos ayude a entender qué son estas entidades.

Saludos.

jueves, 5 de febrero de 2015

Transacción CEBR: Visualización de Colas CICS (y 2)

Hace algún tiempo comenzamos a ver cuáles eran las posibilidades que nos ofrecía la transacción CEBR para trabajar con las Colas CICS. Esta herramienta nos permitía acceder a una Cola TS (o una Cola TD) y extraer los items almacenados en su interior.

Ya estuvimos viendo cuál era la operativa que teníamos que seguir para examinar el contenido de las Colas TS (ver post Transacción CEBR - Visualización de Colas CICS - 1). Sin embargo, nos quedó pendiente revisar el proceso requerido para sus entidades hermanas, las Colas TD. A continuación nos ponemos con ello.

B) Visualización de una Cola TD

En el caso de una Cola TD (Transient Data), el procedimiento a seguir para visualizar su contenido es algo diferente del de las Colas TS. Una vez nos encontremos en el menú inicial de la herramienta CEBR, en la línea de comandos tendremos que insertar la instrucción GET y, a continuación, el nombre de la Cola que deseamos leer.

ENTER COMMAND ===> GET COTD

En nuestro ejemplo, vamos a consultar el contenido de la Cola TD denominada COTD. Por tanto, tras pulsar INTRO, la transacción CEBR mostrará la siguiente pantalla.



Como podemos ver, en este caso se han recuperado dos items, el primero de ellos con el texto "ESTO ES UNA COLA TD" y el segundo con la información "ESTO TAMBIEN" (estos items han sido cargados en COTD con anterioridad).

El contenido de la Cola TD se borra automáticamente tras extraer los items con GET. Por tanto, si deseamos que la información recuperada vuelva a estar disponible en la Cola, tendremos que hacer uso de la instrucción PUT. Este comando sirve para insertar en la Cola TD los items que se estén visualizando en ese momento en la herramienta CEBR.

En nuestro caso, si en la línea de comandos insertamos PUT y, a continuación, COTD (el nombre de la Cola TD del ejemplo), el sistema procederá a insertar los dos items que estamos viendo ("ESTO ES UNA COLA TD" y "ESTO TAMBIEN") en la cola COTD.



Tal y como vemos, el proceso de visualización de una Cola TD es algo diferente del de las Colas TS pero, en definitiva, sigue siendo igualmente sencillo.

En principio, con los dos ejemplos comentados, ya no deberíamos tener problemas a la hora de acceder al contenido de las Colas CICS, independientemente de que estemos frente a una Cola TS o una Cola TD. Tal y como hemos visto, ambos procedimientos constan de muy pocos pasos, por lo que son sencillos de recordar.

 

Aunque existen otras formas de acceder al contenido de las Colas CICS, la realidad es que la transacción CEBR nos facilita enormemente el proceso de visualización de los datos almacenados en ellas. De ahí que lo más inteligente sea aprender a operar con la herramienta, ya que eso nos ayudará a ahorrar bastante tiempo en nuestra rutina diaria (cosa que siempre debería ser uno de nuestros objetivos).

Eso es todo. Esperamos que haya quedado todo claro en relación con la transacción CEBR. De todas formas, como siempre os recordamos, podéis hacernos llegar cualquier duda que os surja al respecto.

Saludos.

Related Posts Plugin for WordPress, Blogger...