Está en la página 1de 39

Introducción al nuevo mainframe

Capítulo 9: Uso de lenguajes de


programación en z/OS

© Copyright IBM Corp., 2006. Todos los derechos reservados.


Introducción al nuevo mainframe

Capítulo 9 objetivos
Sea abl e a:
• Enumerar varios lenguajes de programación comunes para el mainframe
• Explicar las diferencias entre un lenguaje compilado y un lenguaje
interpretado
• Crear un simple programa CLIST o REXX
• Elija una organización de archivos de datos adecuada para una solicitud
en línea
• Compare las ventajas de un lenguaje de alto nivel con las del lenguaje
Assembler
• Explicar la relación entre un nombre de conjunto de datos, un nombre
DD y el nombre de archivo dentro de un programa
• Explicar cómo el uso de z/OS Language Environment afecta las
decisiones tomadas por el diseñador de aplicaciones

© Copyright IBM Corp., 2006. Todos los derechos reservados.


Introducción al nuevo mainframe

Clasificación de los lenguajes de programación


(continuación)
• Lenguas de procedimiento, conocidas como lenguas de alto nivel
(HLL)
• Ejemplo: COBOL
• Debe ser traducido (compilado) antes de la ejecución
• Normalmente portátil (hasta cierto punto) a través de plataformas
de hardware y software con una recompila

4ª generación - 4GL
• Idiomas no procesales
• Generadores de informes
• Idiomas de consulta
• Ejemplos:
o RPG, CSP, QMF, SQL

© Copyright IBM Corp., 2006. Todos los derechos reservados.


3
Introducción al nuevo mainframe

Clasificación de los idiomas de programación


(continuación)
)
Lenguajes de programación visual (o lenguajes basados en
eventos)
• Visual Basic, Visual C++

Lenguaje orientado a objetos


• utilizado en la tecnología OO, p.ej. Smalltalk, Java, C++

Otros idiomas
• Aplicaciones 3D

Lenguajes de scripting
• Perl
• REXX
• HTML
© Copyright IBM Cor
4
Introducción al nuevo mainframe

Elegir un lenguaje de programación para z/OS

¿Qué idioma usar? Los factores a considerar incluyen:


• Requisitos de tiempo de respuesta para la aplicación
• Presupuesto asignado al desarrollo y apoyo continuo
• Limitaciones de tiempo del proyecto
• Si las subrutinas serán codificadas en diferentes idiomas
• Si usar un lenguaje compilado o interpretado

© Copyright IBM Corp., 2006. Todos los derechos reservados.


5
Introducción al nuevo mainframe

Uso del lenguaje ensamblador en z/OS

Lenguaje ensamblador
• No se suele utilizar para el desarrollo de aplicaciones
• Específico de la máquina
Se utiliza cuando:
• Acceso a bits o bytes
• Acceso a los bloques de control del sistema
• Se necesita eficiencia de ejecución (rendimiento)
• Requieren subrutinas de alto rendimiento que se pueden llamar
desde programas HLL

© Copyright IBM Corp., 2006. Todos los derechos reservados.


6
Introducción al nuevo mainframe

De origen ensamblador a módulo ejecutable

Lenguaje ensamblador
declaraciones fuente

Ensamblador de alto nivel

MachineMachine languagelanguage
Mensajes
y versión de la versión de la

listados programa

Carpeta

ExecutableExecutable
módulo de carga
© Copyright IBM Corp., 2006. Todos los derechos reservados.
Introducción al nuevo mainframe

Uso de COBOL en z/OS

COBOL es un lenguaje de programación similar al


inglés utilizado para aplicaciones orientadas a
negocios
Capacidades de IBM Enterprise COBOL para z/OS y OS/390
• Integrar las aplicaciones COBOL en procesos empresariales
orientados a la Web
• Interoperabilidad con Java
• Análisis de datos en formatos XML y Unicode

© Copyright IBM Corp., 2006. Todos los derechos reservados.


8
Introducción al nuevo mainframe

De fuente HLL a módulo ejecutable

HLL
Declaraciones de la fuente

HLL compiler

MachineMachine languagelanguage
Mensajes
y versión de la versión de la

listados programa

Carpeta

ExecutableExecutable
LoadLoad momoduleduel
© Copyright IBM Corp., 2006. Todos los derechos reservados.
Introducción al nuevo mainframe

Relación HLL entre JCL y archivos de programa


//MYJOB TRABAJO
//STEP1 EJECUTIVO IGYWCLG
...
ENTRADA-SALIDA SECCIÓN.
CONTROL DE ARCHIVOS.
Seleccionar entrada asignar a input1 .....
Seleccionar DISKOUT ASIGNAR A OUTPUT1 ...
SECCIÓN DE ARCHIVOS.
FD INPUT1
BLOCK CONTIENE...
REGISTRO DE DATOS REGISTRADO
01 REGISTRO DE ENTRADA
...
FD OUTPUT1
EL REGISTRO DE DATOS ES RECOUT
01 REGISTRO DE SALIDA
...
/*
//GO.INPUT1 DD DSN=MY.INPUT,DISP=SHR
//GO.OUTPUT1 DD DSN=MY.OUTPUT,DISP=OLD
© Copyright IBM Corp., 2006. Todos los derechos reservados.
10
Introducción al nuevo mainframe

Relación HLL entre JCL y el programa (continuación)

La declaración COBOL SELECT establece el vínculo


entre los DDNAMEs INPUT1 y OUTPUT1 y los FDs
COBOL INPUT1 y OUTPUT1 respectivamente
Los FDs de COBOL están asociados con los ítems de
grupo INPUT-RECORD y OUTPUT-RECORD
El programa es completamente independiente de la
ubicación de los datos o el nombre de los conjuntos
de datos.
© Copyright IBM Cor
11
Introducción al nuevo mainframe

Relación entre JCL, programa y conjunto de datos


DDNAME DSNAME

programa
JCL por TRABAJO

ABRIR
ARCHIVO=INPUT1
//INPUT1 DD DSNAME=MY.INPUT MI APORTACIÓN.
LEER
ARCHIVO=INPUT1
...
CERRAR
ARCHIVO=INPUT1
© Copyright IBM Cor
12
Introducción al nuevo mainframe

Uso de PL/I en z/OS

Lenguaje de programación de alto nivel de uso


general de función completa
Adecuado
• Programación de sistemas
• Comercial
• Ingeniería/científica, etc.
Menos prolijo que el COBOL
Menos inglés

© Copyright IBM Corp., 2006. Todos los derechos reservados.


13
Introducción al nuevo mainframe

Relación HLL entre JCL y archivos de programa

Referirse a archivos físicos por un nombre de archivo


simbólico es usado por todos los HLLs
• lenguaje incluso Assembler
Aísla su programa de cambios en el nombre del conjunto
de datos y la ubicación del conjunto de datos
• nombre del conjunto de datos y la ubicación puede cambiar sin
recompilar el programa
Los nombres de conjuntos de datos "hard-coding" u otra
información de este tipo en un programa no suelen
considerarse una buena práctica de programación
• Externalizar estos valores de los programas

© Copyright IBM Corp., 2006. Todos los derechos reservados.


14
Introducción al nuevo mainframe

Relación HLL entre JCL y archivos de programa


//MYJOB TRABAJO
//STEP1 EXEC CLG
...
ABRIR ARCHIVO=INPUT1
ABRIR ARCHIVO=OUTPUT1
LEER ARCHIVO=INPUT1
...
ESCRIBIR ARCHIVO=OUTPUT1
...
CERRAR ARCHIVO=INPUT1
CERRAR ARCHIVO=OUTPUT1
/*
//GO.INPUT1 DD
DSN=MY.INPUT,DISP=SHR //GO.OUTPUT1 DD
DSN=MY.OUTPUT,DISP=OLD

© Copyright IBM Corp., 2006. Todos los derechos reservados.


Introducción al nuevo mainframe

Uso de C/C++ en z/OS

C es un lenguaje de programación multiuso


Adecuado para:
• Código de nivel de sistema
• Procesamiento de textos
• Gráficos, etc.
El lenguaje C contiene un conjunto conciso de
declaraciones, con funcionalidad añadida a
través de su biblioteca
C es altamente consistente en diferentes plataformas

© Copyright IBM Corp., 2006. Todos los derechos reservados.


16
Introducción al nuevo mainframe

Uso de Java en z/OS

Java es un lenguaje de programación orientado a objetos


Enterprise COBOL y Enterprise PL/I proporcionan interfaces
DB2 d
a programas escritos en lenguaje Java. Also, an DB2
d
IMS.
Java es omnipresente en toda la plataforma zSeries.
Java Native Interfaz (JNI) permite a su programa llamar a programas
es parte de
escritos en otros idiomas. El JNI
forma parte de
el Java Development Kit.

© Copyright IBM Corp., 2006. Todos los derechos reservados.


17
Introducción al nuevo mainframe

Uso de CLISTs en z/OS


porque
CLIST (pronunciado "ver lista") es corto para la lista de comandos, el
b h
La mayoría de los CLISTs básicos son listas de comandos TSO/E
El lenguaje CLIST es un lenguaje interpretado (es decir, no es
necesario compilarlo y editarlo)
Los CLISTs son fáciles de escribir y probar
Idiomas de CLIST y REXX:
• Dos idiomas de comando disponibles en TSO/E
El lenguaje de programación CLIST se utiliza para:
• Realizar tareas rutinarias (introducir comandos TSO/E)
• Invocar a otros CLIT
• Invocación de solicitudes escritas en otros idiomas
• Aplicaciones ISPF (visualización de paneles, control de flujo de
aplicaciones)
• Soluciones rápidas y únicas a los problemas

© Copyright IBM Corp., 2006. Todos los derechos reservados.


18
Introducción al nuevo mainframe

Uso de REXX en z/OS


do (REXX)
El lenguaje del Ejecutor Extendido Reestructura es un
idioma
REXX es un lenguaje interpretado y compilado
REXX es un lenguaje más completo que el que se
puede usar para:
• Realizar tareas rutinarias (introducir comandos TSO/E)
• Invocar a otros ejecutivos de REXX
• Invocación de solicitudes escritas en otros idiomas
• Aplicaciones ISPF (visualización de paneles, control de flujo de
aplicaciones)
• Soluciones rápidas y únicas a los problemas
• Programación de sistemas
• En cualquier lugar que podríamos utilizar otro lenguaje compilado HLL

© Copyright IBM Corp., 2006. Todos los derechos reservados.


19
Introducción al nuevo mainframe

Uso de REXX en z/OS

© Copyright IBM Corp., 2006. Todos los derechos reservados.


20
Introducción al nuevo mainframe

Compilación versus idiomas interpretados

Compilado versus interpretado:


• Una decisión de diseño
• El rendimiento es más lento con los idiomas interpretados
Tanto las lenguas compiladas como las
interpretadas tienen sus fortalezas y debilidades
No hay una respuesta sencilla en cuanto a cuál es mejor --
depende de la aplicación. Dentro de una sola
aplicación, podríamos decidir usar varios lenguajes de
programación.

© Copyright IBM Corp., 2006. Todos los derechos reservados.


21
Introducción al nuevo mainframe

Ventajas de las lenguas compiladas

Ensamblador, COBOL, PL/I, C/C++ se traducen


ejecutando el código fuente a través de un compilador
Esto resulta en código muy eficiente que se puede ejecutar cualquier t
d
número de veces
A menudo, los gastos generales de la traducción se incurre
solo
solo
una vez, cuando se compila la fuente; a partir de
entonces, solo necesita ser cargado y ejecutado
Los programas compilados serán más eficientes y
eficientes
Los lenguajes interpretados a menudo se analizan,
interpretan y ejecutan cada vez que se ejecuta el
programa, lo que aumenta el costo de ejecución del
programa
© Copyright IBM Corp., 2006. Todos los derechos reservados.
22
Introducción al nuevo mainframe

Ventajas de las lenguas interpretadas

Un lenguaje interpretativo es relativamente fácil de


codificar, probar y cambiar
Bueno para soluciones de una sola vez
Bueno para desarrollar prototipos de
aplicaciones Solicitudes ad hoc versus
fijas
Ahorro de tiempo para cadenas de comandos
que se introducen repetidamente
© Copyright IBM Cor
23
Introducción al nuevo mainframe

Descripción general del entorno lingüístico

Objetivos de desarrollo de aplicaciones hoy:


• Modularizar y compartir código
• Desarrollar aplicaciones en un front-end basado en la Web

z/OS Language Environment proporciona un producto


común
Entorno para todos los productos de lenguaje de
alto nivel (HLL):
• Establece un entorno de desarrollo y ejecución de lenguaje
común para programadores de aplicaciones en z/OS
• Se consolida en una biblioteca de tiempo de ejecución común, función
previamente

Se proporciona en productos de biblioteca individuales,


eliminando la necesidad de mantener bibliotecas de idiomas
separadas
© Copyright IBM Corp., 2006. Todos los derechos reservados.
24
Introducción al nuevo mainframe

Ventajas de z/OS Language Environment


un entorno c es interesadas
• Establecimiento de omún para todas las part
HLL
• Combina servicios esenciales de tiempo de ejecución, como
rutinas para el manejo de mensajes en tiempo de ejecución, manejo de
condiciones y administración de almacenamiento
de interfaces que
• Todos estos servicios están disponibles a través de un conjunto de
interfaces que
son coherentes en todos los lenguajes de programación
• Puede utilizar un entorno de tiempo de ejecución para sus
aplicaciones, independientemente del lenguaje de programación de la
aplicación o las necesidades de recursos del sistema
• Su programa puede llamar sin problemas un idioma de otro, para
explotar las funciones y características en cada idioma

© Copyright IBM Corp., 2006. Todos los derechos reservados.


25
Introducción al nuevo mainframe

Language Environment components

C/C++ Java COBOL FORTRAN PL/I


idioma idioma idioma idioma idioma
específico espec c espec c específico específico

si

si si
biblioteca biblioteca biblioteca biblioteca biblioteca

Idioma Entorno interfaz de servicio llamable, común


servicios y rutinas de soporte

© Copyright IBM Corp., 2006. Todos los derechos reservados.


26
Introducción al nuevo mainframe

Resumen
de los programas que se
• El mai nframe soporta la mayoría
usan en la actualidad.
• Su elección de un lenguaje de programación depende de varios
factores, incluyendo los requisitos de la aplicación y la capacidad de la
instalación para mantener la aplicación.
utilizar podría utilizar
• Dependiendo de los requisitos de la aplicación, puede
Varios lenguajes o subrutinas de ensamblador para ciertas partes.
• Recuerde: Cuando sea el momento de actualizar la aplicación,
otras personas deben poder programar estos idiomas también.
• La complejidad en el diseño siempre debe sopesarse contra la
facilidad de mantenimiento.

© Copyright IBM Corp., 2006. Todos los derechos reservados.


27

También podría gustarte