Principios básicos de la optimización de procesos batch



Partiendo de la comprensión de cómo se procesan datos en un mainframe de IBM, cuál es la diferencia entre los procesos online y batch así como la influencia de uno en el otro, vamos a enunciar los principios básicos que influyen en la optimización de los procesos batch:

  • Darle al batch lo que es de batch y a online lo que es de online
  • La optimización batch es un proceso continuo
  • No puede haber optimización si no se reducen los errores de proceso
  • La optimización batch obliga a un diseño tanto de los procesos como de los programas

Dar al batch lo que es de batch y a online lo que es de online


No es posible optimizar el batch si no comprendemos que el proceso de datos en un mainframe se realiza en dos grandes ciclos: la ventana batch y la ventana online.

Dado a que en las condiciones actuales, siempre vamos a tener procesos online, tenemos que procesar en batch con el mínimo impacto sobre la parte online.

No es correcto crear procesos de tratamiento masivo de datos en online (si bien es posible técnicamente) como tampoco intentar crear un proceso de tratamiento masivo de datos que sea interactivo con el usuario.

La siguiente gráfica muestra a lo largo del año, la cantidad de procesos batch que se ejecutan en ventana online:



Debemos explorar con el área de negocio de la empresa la posibilidad de diseñar los procesos intentando separar todo lo que podamos los ciclos batch y online.

La optimización batch es un proceso continuo


La optimización batch es un proceso continuo de mejora. No consiste en instalar un módulo de memoria, ni un disco y olvidarnos porque siempre nos va a sobrar espacio.

Aún en estos casos, el espacio llegará a faltar en algún momento, porque las necesidades de proceso son siempre crecientes: una empresa aspira  a más usuarios de negocio, a más productos y a batir la competencia en satisfacción de sus clientes.

El batch puede mejorarse notablemente reorganizando la planificación de los procesos que más datos procesan y retocando alguno de ellos. Al mismo tiempo hay que establecer normas y controles en la creación y planificación de nuevos procesos para no cometer los errores del pasado y trazar planes realistas en tiempo y coste para abordar las mejoras de los procesos de menor impacto.

Reducir los errores de proceso


Una piedra angular en la optimización del batch es la reducción drástica de los errores de proceso.

El relanzamiento de procesos, las intervenciones humanas en caso de errores graves y las demoras en la cadena de procesos planificados tienen una penalización negativa no solo en la ventana batch, sino que puede que estas demoras provoquen que algunos procesos tengan que ser lanzados justo antes o durante la ventana online del siguiente día.

Una manera óptima de procesar en batch es tener un tiempo de proceso “limpio” en materia de errores.

La siguiente gráfica muestra los procesos batch planificados, no planificados y planificados con error a lo largo del año.



Como esto en la práctica puede que sea imposible (siempre puede haber un error en un caso no tratado o una validación de datos sin realizar), el enfoque correcto es la reducción al máximo de estos errores persiguiendo a los equipos responsables y exigiendo nuevos controles de calidad, no solo en la codificación sino durante las pruebas.

Paralelamente hay que estudiar las estadísticas de proceso. Aunque no se produzcan errores graves que rompan la cadena de proceso, hay que estudiar por qué se rechazan registros de entrada.

Los registros de entrada deben ser cero en cada ejecución de nuestro proceso y cuando se detectan registros rechazados hay que incluir nuevas validaciones no solo en nuestro proceso batch sino en los procesos online que originaron la mayoría de estos datos.

Diseño de procesos y programas


La optimización batch comprende el diseño de procesos (JCL) así como de los programas COBOL que se ejecutan como pasos o tareas de cada uno de estos procesos.

Si un programa hace un uso ineficiente de la base de datos DB2 o realiza una lectura / escritura inadecuada de ficheros, es imposible reducir el tiempo de ejecución del proceso que se va a escapar en la ejecución de este programa.

Si los tipos de datos están mal utilizados o si el programa no está correctamente probado y surgen incidencias nocturnas durante la ventana batch, no es posible hablar de ejecuciones óptimas.

Los desarrolladores tienen que apoyarse no solo en la formación y conocimientos sobre JCL y COBOL, sino también en herramientas que permitan estandarizar la programación como generadores de programas y herramientas de control de calidad del código como SONAR.

Como mínimo los desarrolladores deben tener un libro blanco con las normas aceptadas de codificación de programas y procesos (COBOL y JCL) así como una metodología para realizar las pruebas.

posted under , , |

0 comentarios:

Publicar un comentario

Entrada más reciente Entrada antigua Inicio