estandares de programacion cicsDescripción completa
Full description
Full description
Descripción completa
CICS
CICS question BankFull description
CICS System Dumps
Full description
Full description
Full description
Questions related to CICS
Descripción completa
Descripción: dasdads
cursossaas
Descripción completa
cursossaas
Descripción completa
Servicios en Línea Mejores pr ácticas en CICS/MQ
Julio 2007
Centro Corporativo Regional
Contenido CICS
1.- Evolución voluci ón de CI CICS 2.- Uso eficiente eficiente de Temporary Storage. torage. 2.- Como evitar violaciones violaciones de memoria 3.- Errores más más fre fr ecuentes cuentes y como evitarlos 4.- Instruc nst ruccio ciones nes de COBOL que no deben deben utili ut ilizzarse en en progr pr ogra amas CICS 5.5.- Progr ro grama amand ndo o para p ara CICSP ICSPLEX LEX 6.6.- Uso de d e comando co mandoss THR THREADSAFE ADSAFE
MQSERIES
1.- Recome com endacione ndacion es para las las aplicacione aplicacion es 2.- Modelo de Aplicaciones Apli caciones con uso u so de d e MQSeries
2
Temporary Storage ¿Qu é son las colas de Temporary Storage?
Recurso de CICS llamados Colas.
Administradas
por las aplicaciones, creación, uso y
borrado. La
utiliza la misma transacción que la creó u otra.
Se
ubica en memoria del CICS, disco o memoria dentro de las estructuras de Coupling Facility (CF) Puede
ser compartida o local
Local.- Dentro de la memoria o disco de un mismo CICS
Compartida.- En un CICS de Colas TS (QOR) o en POOLES (estructuras de CF) compartidas entre varios CICS
Temporary Storage México Ejemplo: Dependiendo en donde se defina la TSQ podrá ser local ó compartida.
POOL01 POOL02 POOLM01 MEDIOS POOLM02 ALTAMIRA ALTAMIRA DE PAGO CANALES
COUPLING FACILITY
TEMPORARY STORAGE CICS AOR
PARTICIÓN 5
Modelos de Temporary Storage POOL01 POOL02 POOLM01 POOLM02 MEDIOS ALTAMIRA ALTAMIRA DE PAGO CANALES
COUPLING FACILITY
TSM (TEMPORARY STORAGE MODELS) PREFIJO MC +SWA CN PE B633
UBICACIÓN POOLM02 POOLM01 POOL02 POOL01 6
Caracter ísticas de Temporary Storage
Pase de datos entre programas o transacciones. Mejor utilizar COMMAREA
Información que requiere ser compartida (SHARED) entre transacciones que se ejecutan en otro CICS.
CARACTERISTICAS PERMANENCIA:
el tiempo de permanencia de las colas debe ser
mínima. La
transacción que la crea debe borrarla antes de terminar.
Si
la cola va a ser utilizada por varias transacciones, la última en utilizarla debe borrarla. La
aplicación debe contar con un mecanismo automático para el borrado de colas que ya no se van a utilizar.
7
Utilizaci ó n de colas de Temporary Storage
CONTENIDO No
utilizar en forma indiscriminada
No
guardar información con dependencia aplicativa
No
deben contener TRACES, ni utilizarse para depuración o despliegue de flujo de programas TAMAÑO: Longitud
de la cola.
Cantidad
de colas generadas. 8
Utilizaci ó n de colas de Temporary Storage
NOMENCLATURA Prefijo
con nombre de la aplicación que la genera
No
contener espacios, caracteres especiales o hexadecimales
No
utilizar sufijos (ej. xxxxLBMR
9
VIOLACIONES DE MEMORIA ¿QUÉ SON? Las violaciones de memoria se originan cuando un programa escribe sobre áreas de memoria que no le pertenecen.
Se pueden dividir en 3 tipos:
•Entre campos propios en un mismo programa, por ejemplo: MOVE A TO B en donde B está definido como de menor tamaño, al hacer este movimiento la información se escribe sobre la siguiente área definida. •Traslape de datos sobre el área del programa, por ejemplo MOVE A TO B en donde B es un campo de LINKAGE SECTION (normalmente la COMMAREA) y también está definido de menor tamaño. Al hacer este movimiento los datos traslapan la parte inicial del programa ocasionando un abend 0C4 al tratar de ejecutarse. •Traslape de datos sobre área de otra transacción. 10
VIOLACIONES DE MEMORIA MANEJO DE MEMORIA EN CICS
CICS utiliza una SAA al principio del área y otra al final
SAA
SAA
SAA = System Accounting Area (dirección de memoria, tamaño)
Ejemplo: 07 A PIC X(10). 07 B PIC X(12).
MOVE A TO B. SAA SAA
SAA
10 12
SAA 11
VIOLACIONES DE MEMORIA Ejemplo: 07 A PIC X(10). 07 B PIC X(12).
MOVE B TO A. SAA
SAA
SAA
12
10
SAA VIOLACIÓN DE MEMORIA 12
VIOLACIONES DE MEMORIA Al liberar la memoria utilizada CICS compara la SAA de inicio con la final.
SI
OK
IGUALES NO
SAA
SAA
VIOLACION DE MEMORIA SAA
SAA
13
VIOLACIONES DE MEMORIA EFECTOS DEPENDE DEL NIVEL DE PROTECCIÓN DEL CICS Protección
del código CICS Caídas de CICS Waits de CICS CICS en LOOP
Protección
entre transacciones Abend ASRA (0C1, 0C4) de transacciones Detección al liberar CICS la memoria CICS no detecta algunas violaciones dentro de un mismo programa
14
ERRORES MÁS FRECUENTES Y COMO EVITARLOS
ABENDS MÁS FRECUENTES
USO DE VARIABLES DEPENDIENTES DEL SISTEMA OPERATIVO
VARÍAN DE ACUERDO AL SISTEMA OPERATIVO. EN SU LUGAR UTILIZAR VARIABLES PROPIAS DE CICS
15
INSTRUCCIONES QUE NO DEBEN UTILIZARSE
ACCEPT DISPLAY ACCESO
DIRECTO A ARCHIVOS (OPEN,CLOSE)
SORT USO
DE INTERNAL READERS MENSAJES ENVIADOS AL SYSOUT DE CICS
16
RECOMENDACIONES PROGRAMACIÓN
USO
DE INSTRUCCIONES SENCILLAS
EVITAR
PAGINACIÓN MANTENER LA EJECUCIÓN DEL PROGRAMA LO MAS LINEAR POSIBLE. USO DE RUTINAS O SUBRUTINAS LO MÁS CERCANO AL LLAMADOR MANTENER LAS RUTINAS DE ERROR FUERA DEL FLUJO PRINCIPAL DEL PROGRAMA
INSTRUCCIONES
QUE PROVOCAN “ ESPERAS” (waits) POR EL SISTEMA OPERATIVO. WRITE TO OPERATOR DESTINOS EXTRAPARTITION 17
RECOMENDACIONES PROGRAMACIÓN
EVITAR NO
USO
AFINIDADES UTILIZAR ‘CODIGO DURO’
DE ENQUEUES
RETENER
EL ENQUEUE EL MENOR TIEMPO POSIBLE, DAR EL DEQUEUE DE INMEDIATO
18
CICSPLEX ¿QUE ES UN CICSPLEX?
CICXXX11
CICXYX11
CICXXX1
CICXXX21
CICSPLEX: CONJUNTO DE CICS RELACIONADOS ENTRE SI EJEMPLOS: TOR-AOR, TOR-AORES, AOR-QOR, etc. CICSplex es un conjunto de CICS CICSPlex producto que ayuda al balanceo de carga 19
PROGRAMANDO PARA CICSPLEX
RECURSOS
LOCALES Y COMPARTIDOS
NO
UTILIZAR ‘CODIGO DURO’ NO CREAR AFINIDADES HACIA UN SOLO CICS LECTURA/ESCRITURA
DE COLAS TS COMPARTIDAS
LECTURA:
MANTENER UN COPIA LOCAL EN CADA CICS ESCRITURA: USO DE ENQUEUE/DEQUEUE PARA MANTENER LA INTEGRIDAD DE LOS DATOS
20
¿QUE ES THREADSAFE?
EL
PROCESAMIENTO DE LAS TRANSACCIONES UTILIZAN LA TCB QR La TCB QR atiende un solo programa a la vez. Da control a CICS cuando hay un requerimiento al sistema operativo. No permite proceso paralelo. USO DE OTRAS TCB’s Utiliza otras TCB’s las cuales permiten el proceso paralelo. La TCB L8 la utiliza también DB2.
• LOS COMANDOS NO THREADSAFE SE PROCESAN EN LA TCB QR
QUASIRENT
TCB L8 HANDLE IGNORE READQ SELECT IGNORE HANDLE WRITEQ UPDATE READQ SELECT BROWSE ENQ DEQ •SE MANTIENE EN LA TCB L8 HASTA QUE DETECTA UN COMANDO NO THREADSAFE
THREADSAFE 24
MQSERIES: RECOMENDACIONES
•Diseño lo más sencillo posible para que su
administración y posterior soporte sean más accesibles para todos. •Criticidad y nivel de servicio de la aplicación. •Involucrar a capacity planning, para prevenir que el
servicio pueda ser soportado en el equipo. •Definir el esquema de respaldo y contingencia aplicativo. •El MQ no hará conversión de datos ni formateo de los
mismos, es decir, si la aplicación servidora solo recibe formato PC9), la aplicación cliente deberá enviar los datos en este formato. El MQ solo realiza la conversión de ASCII a EBCDIC bajo los estándares internacionales. El manejo de caracteres especiales debe ser controlado por la aplicación.
25
MQSERIES
•La aplicación deberá manejar los mensajes con
PERSISTENCIA solo cuando lo requieran. •La aplicación deberá manejar la EXPIRACIÓN.
OTRAS CONSIDERACIONES •Probar todas las funciones y servicios antes de su liberación. •En aplicaciones nuevas, el MQSERIES deberá estar instalado con
el último nivel de mantenimiento. .
26
MQSERIES
MODELO DE UTILIZACIÓN
El modelo más eficiente y robusto de MQSERIES es el de SERVER TO SERVER utilizando CICSBRIDGE. Las excepciones a este modelo deberán ser analizadas y autorizadas por infraestructura MQ.
27
MQSERIES EJEMPLO MODELO SERVER TO SERVER: Canales SDR