Está en la página 1de 11

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.

-1-

Introduccin :El Customer Informatin Control System (CICS) es un producto IBM que atiende aplicaciones en linea. Acta como una interfase entre el sistema operativo (DOS u OS) y sus programas de aplicacin. En un entorno de procesamiento en linea, se necesitan muchas funciones de control. El CICS cumple esas funciones, simplificando as el trabajo del programador de aplicacin. Puesto que estos servicios de administracin tienen lugar en un entorno de multitareas y administracin de memoria. Para un sistema operativo, el CICS es una nica tarea que opera en una particin / regin. Para los programadores que desconocen la palabra particion / region, en un equipo MAINFRAME corren simultaneamente varios programas , uno en cada particin. Procesamiento en Lotes: El CICS ampla en gran medida la programacin de las aplicaciones en lnea. Ello no obstante, antes de examinar la programacin en lnea, veamos las caractersticas del procesamiento en lotes. La figura 1-1 muestra el mtodo tpico utilizado para actualizar un archivo en un entorno de procesamiento en lotes.

ARCHIVO MESTRO DE INVENTARIOS

REORDE --NES

Fig. 1-1 Ejemplo de Entorno de Procesamiento en Lotes

ACTUALIZACION ARCHIVO MAESTRO

INFORME DE ESTADO EMISIONES Y RECIBOS DE INVENTARIO

TRANSACCIONES DE ACTUALIZACION

COBOLCICSMAIL

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.

-2-

Probablemente haya escrito Ud. Programas para ejecutar estas operaciones . Puede recordar que en estos programas deba Ud: Iniciar las reas de datos y variables. Abrir todos los archivos. Usar una rutina de entrada para leer un registro maestro o de detalle en el momento adecuado. Procesar el registro de detalle (en nuestro ejemplo, modificaciones de inventario) y actualizar el archivo maestro. Imprimir el registro actualizado en el informe de inventario. Crear, si fuera necesario, un archivo de salida de reposicin de tems. Cerrar los archivos cuando el programa haya concludo su procesamiento.

Veamos ahora los requerimientos de la programacin batch. Para trabajar con un archivo ha de comenzar Ud. por escribirlo con las instrucciones pertinentes del lenguaje de programacin que se est utilizando: En nuestro caso en el lenguaje COBOL utilizamos SELECT A continuacin, debe Ud. codificar instrucciones para OPEN, CLOSE, READ, o WRITE para acceder al archivo. La potencia de tales instrucciones vara en funcin del sistema operativo y el mtodo de acceso que se est utilizando. En el programa han de incorporarse todas las reas de entrada / salida y de trabajo, definindola durante la compilacin o adquirindola dinamicamente al ejecutarse el programa.

INSTRUCCIONES

Fig. 1-2 Diagrama Conceptual de la Memoria de un Programa Batch

METODOS DE ACCESO

AREAS DE ENTRADA / SALIDA

AREAS DE TRABAJO En el procesamiento en lotes, el programa ha de atender con frecuencia diferentes tipos de transacciones de entrada. Adems, como en un momento dado se procesa todo un lote de tran-

COBOLCICSMAIL

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.

-3-

sacciones, los varios departamentos de usuarios deben disponer de sus documentos de entrada en un momento y en un lugar designados. En el procesamiento en lotes no se procesa un ten de datos hasta que todo el lote est listo. Luego, cuando el programa de aplicacin pide que los datos sean leidos en memoria. Despus de procesados todos los datos, lasalida impresa se devuelve a los departamentos de usuarios. El tiempo transcurrido entre la creacin de la entrada y la devolucin de la salida impresa puede ser de horas o de das Procesamiento en lnea: Veamos un ejemplo de lo que quiere significarse con el vocablo en linea. La figura 1-3 muestra tres tipos de transacciones que podran atenderse en una aplicacin de inventarios.

CONSULTA DE ESTADO DE EXISTENCIA S

PROGRAMA 1

Fig. 1-3 Ejemplo de Entorno en lnea

ARCHIVO MAESTRO DE PARTES


PENDIENTES

PROGRAMA 2

DESPACHADA S

Un tem de datos est listo toda vez que un operador lo ingresa en la terminal. As no se programa por adelantado el momento de la entrega de datos. El programa ha dejado de requerir la lectura de los datos; en lugar de ello, ahora es el tem de datos el que pide la ejecucin del programa. Un mensaje ingresado por un operador de terminal requiere con frecuencia una respuesta inmediata. Por ejemplo, si ingresara Ud. una consulta sobre el nivel del Stock de un tem del inventario, desea Ud saber de inmediato si se dispone de existencia. La consulta en un sistema en linea, se atiende de inmediato. Los mensajes pueden ser transmitidos concurrentemente desde varias terminales. Si aquellos mensdajes fueran de tipos diferentes (de consulta de estado de Stock, de actualizacin del Archivo Maestro de tems), cada uno es procesado por el programa adecuado. Esto significa, que en lugar de escribir un programa largo y complejo para procesar diferentes tipos de

COBOLCICSMAIL

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.

-4-

transacciones, el programador puede escribir varios programas cortos, y por lo tanto relativamente simples, para procesar cada uno de los tipos de transaccin. Del anlisis anterior podemos determinar tres caractersticas del procesamiento en lnea, con respecto al procesamiento en lotes. En un entorno en lnea, los departamentos de una empresa pueden ingresar datos concurrentemente y al azar, cada uno de ellos en sus propias terminales. Una transaccin i ingresada en una terminal consta de un cdigo de transaccin, tambin llamado ID de transaccin (pre-definida por el programador de sistemas) y de datos. Cada una de las transacciones crea una unidad de trabajo dentro del CICS llamada tarea (Task). TRANSACCION CICS TAREA

XD12 ROMERO E HIJOS 504,37... DATOS

UNIDAD DE TRABAJO
CODIGO DE TRANSACCION

TRANSACCION XD12 INGRESADA DESDE UNA TERMINAL Varias transacciones pueden acceder el mismo archivo al mismo tiempo. Ha de disponerse de los programas requeridos para atender transacciones concurrentes para su ejecucin concurrente en la misma particin / regin.

Para su ejecucin concurrente, ha de haber una interfase que pueda hacer lo siguiente: Aceptar datos tan pronto estn listos para ser transmitidos. Recordar de qu terminal provinieron los datos. Llamar el programa adecuado y transferirle los datos. Controlar el uso compartido de los recursos dentro de la particin / regin.

Esa interfase, como ya lo habr conjeturado Ud. es el CICS. FLUJO DE LAS TRANSACCIONES CICS El CICS supervisa toda la actividad de comunicacin de datos, lo que significa que el CICS: Administra las terminales. Administra los datos, y

COBOLCICSMAIL

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.


Administra los programas de aplicacin.

-5-

Veamos que acontece cuando se ingresa una transaccin CICS en una terminal. Una treansaccin ingresada por un operador de terminal consta de dos partes: una ID de transaccin seguida de los Datos que han de ser procesados. Supongamos que un operador desea consultar el estado de un tem del inventario. La ID de la transaccin es STAT y el nmero de matrcula a comprobar es 19523 .

STAT

19523

Cuando se ingresa esta informacin, un mdulo de administracin CICS la lee en la particin / regin CICS. Los datos se transfieren a un buffer de terminal que ha sido adquirido para alojar el mensaje. PARTICION / REGION CICS BUFFER DE TERMINAL STAT 19523 STAT 19523

MENSAJE DE ENTRADA Adviertadse que no puede ingresarse ninguna otra transaccin desde la terminal 1 hasta que se haya completado la transaccin corriente. Luego de haber sido ingresada la transaccin, el CICS valida la ID de transaccin. Toda ID de transaccin ha de pre-definirse, y est asociada con un programa de aplicacin. STAT PROGRAMA1 NOMBRE DEL PROGRAMA DE LA APLICACIN ESPONSABLE DE PROCESAR LATRANSACCION CUYA ID ES STAT

ID DE TRANSACCION A SER ASOCIADA CON EL PROGRAMA PROGRAMA1 Para una Id de transaccin vlida, el CICS crea una tarea para procesar la transaccin. En la siguiente ilustracin, esta tarea es representada por el rectngulo rotulado TASK1. TASK1 es en realidad un bloque de control que contiene informacin que el programa de aplicacin y el CICS necesitan para poder llevar a cabo la unidad de trabajo a completar. PARTICION / REGION CICS

COBOLCICSMAIL

STAT 19523 (MENSAJE DE ENTRADA)

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.


BUFFER DE TERMINAL STAT 19523 BLOQUE DE CONTROL TAREA 1 (TASK1)

-6-

El siguiente paso consiste en cargar, si fuera necesario, el programa de aplicacin que ha sido codificado para procesar la transaccin STAT. El programador de sistemas puede identificar a los programas de aplicacin de uso frecuente como residentes en memoria virtual. El CICS puede cargar dinmicamente, toda vez que fueran necesarios, los programas raramente utilizados. Ahora puede comenzar el programa de aplicacin que procesa la transaccin STAT. Puesto que sta es una transaccin de consulta, el programa emite un pedido de lectura del registro del archivo maestro que tenga el nmero de matrcula 19523. El registro se transfiere a un buffer de archivo, que luego se asocia con la tarea. PARTICION / REGION CICS STAT 19523 STAT DE TERMINAL BUFFER 19523 (MENSAJE DE ENTRADA) BLOQUE DE CONTROL TAREA 1 BIBLIOTECA DE PROGRAMAS

19523 CANT. 257 PROGRAMA 1 BUFFER DE ARCHIVOS BUFFER DE TERMINAL

ARCHIVO MAESTRO

Una vez recuperado el registro, el programaBLOQUE DE formatea una respuesta a la de aplicacin CONTROL consulta original. Un mdulo de administracin de CICS transmite este mensaje a la terminal y la transaccin termina PARTICION / REGION CICS PARTE 19523 257 en estanterias (MENSAJE DE SALIDA) PARTE 19523=257 en estanterias BUFFER DE ARCHIVOS

COBOLCICSMAIL

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.


TAREA 1 BIBLIOTECA DE PROGRAMAS

-7-

19523 CANT. 257 PROGRAMA 1

ARCHIVO MAESTRO

Al terminar la transaccin, se liberan los recursos adquiridos (por ejemplo el almacenamiento principal) y las conexiones establecidas durante el procesamiento de la tarea. La terminal queda luego disponible para el ingreso de otra transaccin. EL ENTORNO CICS: El CICS es el programa principal de la particin / regin en la que est ubicado. Los programas de aplicacin operan bajo el CICS. La figura 1-4 ilustra las varias particiones o regiones que atiende un sistema operativo, incluso la particin o regin CICS y la ubicacin de los programas de aplicacin en relacin con el CICS.

SISTEMA OPERATIVO
PARTICION / REGION CICS ARCHIVOS
PROGRAMA DE APLICACIN PROGRAMA DE APLICACION

DOS u

OS

PROGRAMA DE APLICACION

Fig, 1-3 Entorno CICS

PARTICION / REGION X

TERMINAL

PARTICION / REGION Y El CICS controla la ejecucin concurrente de los programas. Diferentes programas pueden procesar concurrentemente diferentes tipos de datos. O el mismo programa puede procesar concurrentemente diferentes mensajes con el mismo codigo de treansaccin. Por ejemplo, mientras una transaccin est en un estado de espera, esperando quiz que termine una operacin de entrada / salida, puede procesar una segunda transaccin. As, varias transacciones que estn siendo atendidas concurrentemente por el mismo programa pueden provocar la creacin de diferentes tareas que comparten las mismas instrucciones. TRANSACCION A TRANSACCION A TRANSACCION A

COBOLCICSMAIL

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.

-8-

TERMINAL 1

TERMINAL 2

TERMINAL 3

TAREA A1

TAREA A2

TAREA A3

PROGRAMA DE APLICACION

PARTICION / REGION CICS Puesto que varias tareas pueden compartir el mismo programa de aplicacin, las instrucciones del programa de aplicacin no han de experimentar modificaciones; esto es, durante la ejecucin no debe modificarse dinamicamente la codificacin. En el entorno CICS deben observarse dos reglas de programacin: Todo programa de aplicacin en linea debe devolver el control al CICS Las instrucciones no se modificarn dinamicamente.

COMPONENTES DEL CICS: El sistema CICS consta de: Mdulos de administracin Tablas Bloques de Cobtrol

LOS MODULOS DE ADMINISTRACION: Son los programas CICS que mantienen una interfase entre el sistema operativo y los programas de aplicacin. Todo mdulo de administracin cumple una funcin particular. Por ejemplo, cuando un programa de aplicacin emite un pedido de lectura de un registro, el mdulo de administracin File Control Program (Control de archivo) procesa el pedido. Cuando un programa de aplicacin emite un

COBOLCICSMAIL

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.

-9-

pedido de transmisin de un mensaje a una terminal el mdulo de administracin Terminal Control Program (Control de Terminales) acta como la interfase. Los pedidos de entrada / salida se hacen al CICS, en lugar de serlo el sistema operativo como en el caso de procesamientos en lotes. A nivel programa de aplicacin, la administracin de las comunicaciones por el CICS es tan completa que la comunicacin con las terminales pueden ser tan simple como leer un registro de entrada o escribir una lnea de salida. El CICS toma a su cargo la parte dificil de las operaciones de entrada / salida, dejando al programa de aplicacin slo la lgica de la ejecucin. Para comunicarse con el CICS los programadores de COBOL pueden utilizar las instrucciones con las que estn familiarizados. No hay diferencia alguna si los usuarios operan bajo el sistema operativo DOS o el OS ya que las instrucciones a aplicar son las mismas. MODULO DE CONTROL Programa de control de Archivos MODULO DE CONTROL Programa de control de Terminales

ARCHIVO A TERMINAL LEER ARCHIVO A ENVIAR MENSAJE

LAS TABLAS: definen el entrono del sistema CICS. Las tablas, generadas por el programador de sistemas, estn funcionalmente asociadas con los mdulos de administracin. Por ejemplo, todas las definiciones de archivos estn en la FCT File Control Table (Tabla de Control de Archivos), de modi que todos los programas de aplicacin y tareas pueden compartirlas. Por ste motivo los archivos no se definen en el programa de aplicacin, a diferencia de los programas batch. La Terminal Control Table (Tabla de Control de Terminales) define cada terminal de la red, el programa de aplicacin no necesita as de los atributos fsicos de las varias terminales del sistema. No todos los mdulos de administracin tienen tablas asociadas. MODULO DE CONTROL PROGRAMA DE CONTROL DE ARCHIVOS MODULO DE CONTROL PROGRAMA DE CONTROL DE TERMINALES

COBOLCICSMAIL

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.

- 10 -

TERMINAL X ARCHIVO A PROG. APLICACIN LEER ARCHIVO A PROG. APLICACION ENVIAR MENSAJE

Entrada Archivo A

Entr.Terminal X

TABLA DE CONTROL DE ARCHIVOS

TABLA DE CONTROL DE TERMINALES

LOS BLOQUES DE CONTROL: contienen informacin sobre el tipo de sistema. Al iniciarse una transaccin se crea un Area de Control de Tarea. El Area de Control de Tarea contiene informacin peerteneciente a la tarea. Por ejmplo, el Area de Control de Tarea contiene sealadores del programa de aplicacin y de la entrada de la terminal de la Terminal Control Table.

MODULO DE CONTROL PROGRAMA DE CONTROL DE TERMINALES

PROGRAMA DE DE APLICACION RECIBIR MENSAJE AREA DE

TERMINAL X

COBOLCICSMAIL

TALLER DE COBOL CICS UNIDAD I INTRODUCCION A C.I.C.S.


CONTROL DE TAREA TAREA A

- 11 -

Entrada Terminal X

TABLA DE CONTROL DE TERMINALES En las unidades subsiguientes, consideraremos a cada uno de los Mdulos de Administracin. RESUMEN DE LA UNIDAD: Veamos los principales puntos tratados en esta unidad introductoria: El CICS opera como el programa principal. Los programas de aplicacin operan bajo CICS. El CICS atiende el flujo de informacin entre el operador de terminal y el programa de aplicacin. El programador no se ocupa de las funciones de control. En el procesamiento en lnea, una transaccin consiste de la entrada que un usuario acaba de transmitir; tpicamente, el programa de aplicacin necesita una respuesta inmediata. El programador puede escribir programas simples y cortos para atender acontecimientos en tiempo real. El programa de aplicacin no debe modificar dinmicamente las instrucciones y ha de retornar al CICS al terminar la ejecucin.

COBOLCICSMAIL

También podría gustarte