EXIRION/OS -ETM 2.0-

Page 1

ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Programming Bases in ETM 2.0 for

By Rolando Fernรกndez Benavidez 1


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0 Â NO WARRANTIES OF ANY NATURE ARE EXTENDED BY THIS DOCUMENT Any product or related information described herein is only furnished pursuant and subject to the terms and conditions of a duly executed agreement to purchase or lease equipment or to license software. The only warranties made by Nova32 Development Software, if any, with respect to the products described in this document are set forth in such agreement. Nova32 Development Software cannot accept any financial or other responsibility that may be the result of your use of the information in this document or software material, including direct, special, or consequential damages. You should be very careful to ensure that the use of this information and/or software material complies with the laws, rules, and regulations of the jurisdictions with respect to which it is used. The information contained herein is subject to change without notice. Revisions may be issued to advise of such changes and/or additions. Notice to End Users: This is commercial computer software or hardware documentation developed at private expense. Use, reproduction, or disclosure by the Government is subject to the terms of Nova32 Development Software standard commercial license for the products, and where applicable, the restricted/limited rights provisions of the contract data rights clauses.


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

ETM (Exirion Transactional Module) Monitor transaccional que gestiona el paso de una transacción entre etapas subsecuentes y asegura su ejecución completa. Permite a los programadores :  Desarrollar pantallas genéricas sin importar el terminal utilizado.  Definir las entidades on-line necesarias para las aplicaciones (transacciones, programas).  Realiza el balance de cargas de trabajo al distribuir el procesamiento a lo ancho de una red de computadoras, evitando la sobrecarga de un dispositivo específico.  Permite la distribución del acceso a las aplicaciones.

3


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicaciรณn entre un programa COBOL, ETM y el Sistema Operativo EXIRION/OS

4


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Conceptos Básicos ETM trabaja bajo una serie de conceptos básicos los cuales son los siguientes :

Transacción Tarea Multitarea

Es la manera de identificar una función que se pide que haga el Sistema Operativo EXIRION/OS, por ejemplo (dar de alta un contrato, consultar el saldo de una cuenta corriente, etc.). Una transacción lleva asociada informaciones tales como : • Prioridad

Multiprogramación Reentrancia

• Plan de acceso a un gestor de base de datos • Ejecución de un programa. Una transacción se identifica en el sistema con un código alfanumérico, que en el caso del ETM es de una cadena de cuatro caracteres. 5


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Conceptos Básicos ETM trabaja bajo una serie de conceptos básicos los cuales son los siguientes :

Transacción Tarea

¿Qué ocurre cuando varios usuarios solicitan ejecutar la misma transacción? ¿Cómo podría ETM manejar varias peticiones a la vez?

Multiprogramación

ETM puede manejar las múltiples peticiones asignando a cada usuario una tarea, la cual, es una unidad de trabajo a completar. Al procesar varias peticiones, se crea una tarea para cada una de ellas.

Reentrancia

Una tarea siempre estados siguientes :

Multitarea

estará

en

uno

de

los

• Activa (en ejecución) • Suspendida (está esperando algo del sistema). 6

dos


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Conceptos Básicos ETM trabaja bajo una serie de conceptos básicos los cuales son los siguientes :

Transacción Tarea Multitarea Multiprogramación Reentrancia

Es una de las características del ETM. Significa que se permite que varias tareas se ejecuten simultáneamente con técnicas de tiempo compartido. Cuando existe un único procesador sólo una tarea puede estar ejecutándose realmente en cada momento, aunque al usuario le parecerá que se ejecutan varias a la vez. Esto se consigue dividiendo el tiempo de la CPU entre una y otra tarea, y repartiendo el tiempo de proceso entre varios programas. Es lo que se llama Multiprogramación con tiempo. La auténtica multitarea se consigue solamente con procesadores en paralelo (multiproceso).

7


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Conceptos Básicos ETM trabaja bajo una serie de conceptos básicos los cuales son los siguientes :

Transacción Tarea Multitarea Multiprogramación Reentrancia

Un programa debe codificarse de forma que pueda ser compartido por más de una transacción a la vez, en este caso, si hay más de una tarea que está compartiendo el programa, el código deberá permanecer siempre inalterable. Este tipo de codificación, que permite que más de una tarea comparta un programa, y que no se puede modificar, se conoce como codificación reentrante. ETM permite compartir la Procedure Division de un programa y que cada tarea acceda a WorkingStorage's diferentes, con las mismas definiciones de datos, pero con diferentes contenidos en sus variables.

8


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Funciones que realiza ETM

Arranque y desconexiรณn del sistema Transaccional

E T M

Transferencia de control Acceso a Bases de Datos (DMO, DIN, Phoenix, MySQL, PostgreSQL y Ms SQL Server) Gestiรณn de Errores Gestiรณn de la Conversacionalidad

9


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Funciones que realiza ETM

Arranque y desconexión Transferencia de control Acceso a Bases de Datos

Esta función vincula las tareas a realizar al comienzo y final de la sesión del día. Estas tareas son :  Abrir y cerrar archivos  Activar y desactivar las líneas de comunicación

Gestión de Errores Es desde E T M donde se abren y cierran los archivos y no desde el código del programa de aplicación. Gestión de la Conversacionalidad

10


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Funciones que realiza ETM

Arranque y desconexiรณn del sistema Transferencia de control Acceso a Bases de Datos Gestiรณn de Errores

ETM gestiona la transferencia del control entre diferentes programas de aplicaciรณn en el entorno online. Por ejemplo : โ ข Transferir el control a una rutina. En un programa online multimodular, las sentencias CALL que transfieren el control son sustituidas automรกticamente por comandos ETM.

Gestiรณn de la Conversacionalidad

11


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Funciones que realiza ETM

Arranque y desconexión del sistema Transferencia de control Acceso a Bases de Datos Gestión de Errores Gestión de la Conversacionalidad

En ETM se pueden manipular bases de datos, accediendo a las mismas, ya sea para realizar consultas directas, barrido de las bases de datos, actualizar su contenido, insertar nuevos registros o borrarlos físicamente. ETM dispone de un Gestor Dinámico de enlace, que utiliza unos códigos llamados DCLGEN, mediante los cuales un programa EXIRION-COBOL puede acceder a las bases de datos DMO, DIN, Phoenix, MySQL, PostgreSQL y Ms SQL Server, el gestor dinámico es un componente del modulo ETM 2.0 DCLGEN (Declarative Generator) es un lenguaje intermedio de consulta tipo Script, mediante el cual es posible utilizar SQL con EXIRION-COBOL para manipulación de datos. Los programas DCLGEN se almacenan en un Data Set secuencial para ser interpretados por EXIRION-COBOL.

12


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Funciones que realiza ETM

Arranque y desconexión del sistema Transferencia de control Acceso a Bases de Datos Gestión de Errores

ETM contiene facilidades para capturar el producido, terminar la transacción y permitir las demás transacciones continúen su proceso.

error que

Esto permite al usuario introducir la transacción de nuevo, sin que afecte a otros usuarios del sistema. No es práctico que el programa maneje todos los errores condicionales que pueden surgir en un entorno online.

Gestión de la Conversacionalidad

13


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Funciones que realiza ETM

Arranque y desconexión del sistema Transferencia de control Acceso a Bases de Datos Gestión de Errores Gestión de la Conversacionalidad

ETM puede permitir a muchos usuarios conectarse y usar el sistema online concurrentemente, pero el sistema tiene una memoria de trabajo limitada por la cantidad de RAM física instalada. Hay dos tipos de técnicas de programación : Conversacional Pseudoconversacional que afecta cómo el monitor ETM utiliza la memoria principal del sistema.

14


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Funciones que realiza ETM

Arranque y desconexión del sistema

Programación conversacional

Transferencia de control

Técnica que resulta cuando un programa es cargado en memoria y permanece allí hasta que el usuario finaliza el trabajo con el programa.

Acceso a Bases de Datos

El programa no es descargado de la memoria cuando no está activo.

Gestión de Errores Gestión de la Conversacionalidad

Los programas conversacionales pueden ser utilizados en un bajo volumen de situaciones cuando una gestión eficiente de la memoria no es proporcionada.

15


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Funciones que realiza ETM

Arranque y desconexión del sistema Transferencia de control Acceso a Bases de Datos

Programación Pseudoconversacional El programa no gestiona el envío y recepción de manera continua, sino que realiza desconexiones cada vez que necesita una respuesta por parte del usuario, suspendiendo temporalmente la ejecución de la tarea y liberando los recursos utilizados por la misma.

Gestión de Errores

Este modo requiere una manera especial de codificación de los programas de aplicación.

Gestión de la Conversacionalidad

Es necesario establecer una serie de ciclos que permiten a los programas proseguir las tareas a partir del punto en que se realizó la última desconexión.

16


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Principales componentes del sistema operativo EXIRION/OS:

EXIRION/OS ETM

Tablas ETM

TSO

Mรณdulos de Gestiรณn

17

JEM

Programas de Aplicaciรณn


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicaciรณn con un programa On-Line ETM II

Control de Tareas DBS

I/O

ETM

Terminal

Control de Programas Bases de datos

Biblioteca de programas

18


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicaciรณn con un programa On-Line ETM II Lรณgica de un programa COBOL-ETM (Ciclo 0)

Inicio

Inicializar mapa Checar el indicador del Ciclo

Ciclo 0 (if Ciclo-0 true) Principal

Proceso

Formatear pantalla Enviar Mapa Set Ciclo-1 to true

Or Ciclo 1 (else if Ciclo-1 true)

Fin

Devolver control a ETM

19


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicaciรณn con un programa On-Line ETM II Lรณgica de un programa COBOL-ETM (Ciclo 1)

Inicializar mapa Inicio Checar el indicador del Ciclo

Ciclo 0 (if Ciclo-0 true) Principal

Proceso

Or Ciclo 1 (else if Ciclo-1 true)

Fin

Devolver control a ETM

20

Formatear pantalla Enviar Mapa Set Ciclo-1 to true

Recibir Mapa Procesar los datos Formatear respuesta Enviar Mapa


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicación con un programa On-Line ETM II Areas de comunicación Cuando un programa es descargado de la memoria, los valores de la Working-Storage se pierden, por eso se utiliza el área de comunicación para recordar los valores que le permiten pasar datos entre programas. En un programa ETM hay dos áreas de comunicación utilizados para pasar datos entre programas en ejecución : • Área de Comunicación de la Working-Storage Section.

• Area de Comunicación de la Linkage Section.

DATA DIVISION. WORKING-STORAGE SECTION. . . . 01 LFHCOMMAREA. . . LINKAGE SECTION. 01 DFHCOMMAREA PIC X(200). PROCEDURE DIVISION.

21


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicación con un programa On-Line ETM II Restricciones del compilador de EXIRION COBOL cuando se accede a ETM • No pueden definirse archivos en los programas de aplicación ETM. En lugar de esto, los archivos se definen en una tabla ETM, la File Control Table (FCT). • La ENVIRONMENT DIVISION no puede incluir la INPUT-OUTPUT SECTION. • La DATA DIVISION no puede incluir la FILE SECTION. • La PROCEDURE DIVISION no puede usar los siguientes verbos de COBOL : OPEN

CLOSE

READ

WRITE

REWRITE

DELETE

START

READ NEXT

SORT DISPLAY

22


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicación con un programa On-Line ETM II Mandatos para la comunicación entre programas

En ETM, cada uno de los módulos individuales está almacenado como una única unidad en la biblioteca de programas y el ETM se responsabiliza de la unión de los módulos en tiempo de ejecución. De esto se encarga el programa de Control de Programas. Los programas se ejecutan en varios niveles lógicos : • Cuando un programa enlaza a otro (CALL), el programa que recibe el siguiente nivel lógico inferior. • Cuando un programa transfiere el control (XCTRL) a otro, el programa que recibe el control reside en el mismo nivel lógico, reemplazado al programa que originó la transferencia. • Cuando un programa pide devolver el control, éste es pasado al siguiente nivel lógico superior.

23


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicaciรณn con un programa On-Line ETM II

Mandatos para la comunicaciรณn El nombre del programa se especifica en la opciรณn PROGRAM. Debe estar definido en la PPT (Tabla de Programas de Proceso) y los datos a transmitir al programa se incluyen en la LFHCOMMAREA, utilizando las variables declaradas en la WORKING-STORAGE SECTION.

Formato :

LINK_PROGRAM PROGRAM (nombre del programa) COMMAREA (LFHCOMMAREA) LENGTH RESP

24


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicación con un programa ETM II

Mandatos para la comunicación

XCTRL Cede el control a otro programa en el mismo nivel lógico, sin que exista retorno cuando éste termine, por lo que el programa que realiza el XCTRL se libera, descargándose de la memoria.

Formato : CALL “XCTRL” USING

BY CONTENT BY CONTENT BY CONTENT

25

PROGRAM, COMMAREA, LENGTH.


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Comunicaciรณn con un programa On-Line ETM II Mandatos para la comunicaciรณn entre programas Nivel superior

ETM 2.0 Transacciรณn XXXX

RETURN

Programa 1

RETURN LINK Call

Programa 3

Programa 2

Nivel inferior

26


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Interfase de Programación de Alto Nivel (HLPI) Esta interfase está compuesta de un conjunto de mandatos que se insertan en los programas EXIRION-COBOL cuando se necesita una función del ETM 2.0. De este modo, en un programa ETM habrá Sentencias EXIRION-COBOL y Mandatos ETM.

Bloque EIB

En el traductor de mandatos existen declaraciones que automáticamente van a copiar un BLOQUE DE EJECUCIÓN DE LA INTERFASE (EIB) en la LINKAGE SECTION del programa. Los campos del EIB contienen información que puede ser necesaria durante la ejecución del programa. El programa puede recuperar información del EIB usando el campo apropiado, pero no se puede escribir en el bloque. Además, los nombres de estos campos son palabras reservadas. La información suministrada por el bloque EIB es la siguiente :

27


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Interfase de Programación de Alto Nivel (HLPI) Bloque EIB

EIBCALEN

Contiene la longitud del área de comunicación (COMMAREA), que ha sido pasada al programa desde el último programa, si no se ha pasado área de comunicación, EIBCALEN valdrá cero. Esto ocurre la primera vez que un programa ha sido ejecutado.

EIBDATE

La fecha en que fue iniciada la tarea. Es fecha juliana. Su formato es “AAAADDD" (PIC S9(7) COMP-3).

EIBFN

Número asociado al último comando de ETM ejecutado. EIBFN ocupa 2 bytes y el número se guarda en formato binario.

EIBTIME

Hora con formato "0HHMMSS+". (PIC S9(7) COMP-3).

EIBTRMID

Nombre de la terminal asociada a la tarea.

EIBRESP

Código de retorno del último comando ETM ejecutado.

28


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Interfase de Programación de Alto Nivel (HLPI) Bloque EIB

EIBAID

Guarda la tecla de control utilizada para transmitir la última entrada de datos por pantalla. La definición de las teclas de control se realiza con la copy DFHAID. La lista estándar de dichas teclas es la siguiente : Nombre Simbólico Función DFHENTER ENTER DFHCLEAR CLEAR DFHPF1 PF1 DFHPF2 PF2 DFHPF3 PF3

29


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Interfase de Programaciรณn de Alto Nivel (HLPI) Condiciones de excepciรณn

ETM 2.0

Programa 1

Error

RETURN-CODE

30


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0 Control de Data Set Las peticiones de registros de datos de un dataset o conjunto de datos desde un programa son tratados siempre por el ETM 2.0. Las características de los dataset o conjuntos de datos se describen en la Tabla de Control de archivos, por lo que el programa lo único que necesita es pedir un registro de un determinado archivo. Las facilidades que proporciona el Control de archivos para una Aplicación son :

Control de archivos

Lecturas al azar

Accesos secuenciales

Actualizar registros

31

Añadir registros

Borrar registros


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Browsing y Colas TS Operaciones Browsing en dataset El término browsing se utiliza para referirse a una búsqueda secuencial de registros iniciada a partir de un punto concreto. Para comenzar el proceso, primero debe realizarse un posicionamiento en un registro en específico y a continuación realizar la lectura secuencial del archivo. Para realizar el proceso se debe suministrar una serie de mandatos característicos del browsing que configuran tres etapas :  Establecimiento del entorno browsing (STARTBR)  Recuperación de un registro (READNEXT)  Final del Browsing (ENDBR)

32


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Colas TS (Gestión de Memoria Temporal) La información que gestionan se almacena temporalmente en memoria, por eso es volátil y no se pueden borrar físicamente, pues no existen registros como tales , aunque lo que sí se puede hacer es marcarlos. Los datos temporales son guardados como registros (items), de longitud variable, con unos nombres simbólicos. Son colas secuenciales. No es necesario definir en ninguna tabla los nombres simbólicos de las colas TS, sólo sería necesario definirlos en el caso de querer que fueran recuperables al arrancar el ETM 2.0 para poder ser seleccionado por la tarea. Las colas TS se pueden recuperar más de una vez. Su item, puede leerse tantas veces como se quiera. Existe un único índice de lectura y otro de grabación a nivel ETM 2.0.

33


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0 Colas TS (Gestión de Memoria Temporal) Escritura, lectura y borrado de registros en colas TS CALL "WRITEQ _TS" QUEUE FROM ITEMS RESP END-CALL.

Comando que permite agregar nuevos registros a la cola, o crearla en caso de que no exista. Especifica el nombre de la cola donde los datos se QUEUE almacenan. FROM Indica el área de datos que se desea grabar en la cola. El programa guarda el número asignado al elemento (ítem) ITEM escrito.

Comando utilizado para acceder a la información contenida en la cola TS. CALL "READQ _TS" QUEUE INTO LENGTH ITEMS RESP END-CALL. CALL "DELETEQ _TS" QUEUE FROM END-CALL.

INTO

Este parámetro especifica el área definida por el usuario en la que se van a recuperar los datos.

Comando utilizado para borrar la información contenida en la cola TS.

34


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Arquitectura sistema operativo EXIRION/OS 9 El núcleo central es responsable directo de la gestión del entorno técnico en el ambiente transaccional de ETM II.

Sistema Operativo EXIRION/OS DBMS

ETM

Tablas de Control

Arquitectura

Tablas de Control

Aplicación

35


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Arquitectura ETM II Esquema de funcionamiento de la Arquitectura del gestor Teleproceso de ETM 2.0

Parรกmetros del Sistema Aplicaciones

Transacciones

Formatos

Preformatos

Control

Entrada

Control del Sistema

TCP/IP Arquitectura ETM 2.0

Control de la Conversaciรณn

Autorizaciones

Errores y Avisos

SOA - REST

Terminales

Journal

Tecleos del Sistema

Datos de Salida del Sistema

36

Bitรกcora de Seguimiento


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Arquitectura ETM II Área de Comunicación con la Arquitectura ETM

Es el área básica donde se comunican las aplicaciones con la Arquitectura denominada D F H ( D Y N A M I C F O R M AT H I G H ) y L F H (LINK FORMAT HIGH). El área de comunicación con la arquitectura es utilizada para el diálogo entre los programas de aplicación y la arquitectura. Mediante esta commarea, la arquitectura informa a las aplicaciones de los parámetros del sistema necesarios para el desarrollo de sus procesos on-line. Los programas de aplicación utilizan la commarea para realizar peticiones de salida, mensajes, e informan del resultado de los procesos realizados.

37


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Arquitectura ETM II Formato - Es el conjunto de características de cada uno de los mensajes que viajan entre el Host y los dispositivos locales en oficinas (terminal, impresora, dispensador, etc.).

Preformato - Contiene la parte fija (literales fijos) de un mensaje.

Errores y Avisos - Son dos tipos de mensajes a pantalla que informan al operador sobre algún tipo de incidencia que se haya producido durante el proceso.

Totales - Son conceptos que se utilizan contablemente a nivel de Terminal para sumarizar.

Journal - Diario de los movimientos que se producen en la entidad.

Tecleos - Conjunto de operaciones que se efectúan desde los Terminales, donde quedan registradas todas las transacciones que se ejecuta a través de la arquitectura.

38


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Arquitectura ETM II Arquitectura Central  Gestiona la entrada de cada Transacción al Sistema  Controla todas las funciones comunes  Identifica el tipo de Aplicación • Nativa • Mixta • Extendida  Realiza el Formateo / Deformateo de Terminales  Control de Comunicación entre las Transacciones Aplicativas  Mantenimiento de Arquitectura

39


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

Arquitectura ETM II Arquitectura General  Gestiona el manejo de rutinas internas • Fechas • Entidades • Errores DB • Colas TS

40


ETM (EXIRION TRANSACTIONAL MODULE) for EXIRION/OS 9.0

FIN DE MODULO EXIRION/OS LifeVantange Introduction to ETM 2.0 Architecture and Programming For EXIRION-COBOL.

Nova32 Development Software (C) Rolando Fernรกndez Benavidez 2005. All Rights Reserved.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.