El Mainframe de IBM




Definición


Cuando hablamos de mainframe u ordenador central nos estamos refiriendo a ordenadores muy potentes, típicamente usados por las grandes empresas y gobiernos en aplicaciones de misión crítica, procesamiento de grandes volúmenes de datos, estadísticas sobre la industria y el consumo, planificación de recursos empresariales (ERP) y procesamiento de transacciones.

La mayoría de los mainframes modernos poseen un hardware redundante para aumentar la tolerancia a fallos y ofrecer alta fiabilidad y seguridad, grandes facilidades de entrada / salida, compatibilidad estricta con el software anterior y gran potencia computacional para procesar grandes volúmenes de información.

Estos ordenadores normalmente se mantienen en ejecución sin interrupción  durante largos períodos de tiempo, garantizando la estabilidad y fiabilidad de sus procesos y aplicaciones.

Características principales de un mainframe


  • Habilidad para ejecutar varios sistemas operativos. De hecho los mainframes fueron los primeros en ejecutar máquinas virtuales, tan populares hoy en día en entornos de servidores e incluso de ordenadores de escritorio. Los mainframes de IBM de las series zSeries, System z9 y System z10 ofrecen dos niveles de virtualización: LPAR (Logical Partition) y máquinas virtuales utilizando el sistema operativo z/VM.
  • Gran capacidad de entrada / salida. Desde los años 1960, los mainframes utilizan procesadores de entrada / salida dedicados, permitiendo liberar de esas tareas al procesador central y a la memoria principal de alta velocidad.
  • Alta tolerancia a fallos. La tolerancia a fallos se logra con un diseño especial de hardware, instrucciones de software y la duplicidad de componentes de la arquitectura.
  • Capacidad de ser combinados en cluster. Es posible lograr aún mayor disponibilidad si podemos combinar varios mainframes en una unidad lógica denominada cluster. Los mainframes de IBM utilizan una facilidad denominada Parallel Sysplex que permite conectar hasta 32 mainframes en una unidad lógica de alta disponibilidad y alta tolerancia a fallos. Estos ordenadores pueden estar dispersos geográficamente (cluster geográfico) facilitando incluso que el sistema pueda recuperarse ante situaciones de desastre, tales como incendios, terremotos, etc.

¿Por qué utilizar un mainframe?


  • 25 de los 25 bancos más importantes a nivel mundial, tienen su núcleo de negocio en un mainframe.
  • 23 de los 25 minoristas más importantes de Estado Unidos, tienen sus aplicativos de núcleo de negocio en un mainframe.
  • 9 de los 10 proveedores de planes de seguros y de retiro tienen como base tecnológica algún mainframe
  • 66% de la transacciones que se realizan en los bancos en corren en sistemas Mainframe.
  • Un solo Mainframe puede ejecutar miles de Servidores Virtuales
  • Anualmente se generan 5 mil millones de líneas de código en Cobol.
  • Existen más de 200 mil millones de líneas de código en Cobol.
  • Reemplazar cada línea de código en Cobol cuesta más de 25 dólares.

El sistema operativo zOS


Es uno de los sistemas operativos de mainframe más utilizados  con las siguientes características:

  • Diseñado para cómputo intensivo de I/O
  • Diseñado para garantizar integridad de datos sin importar que tantos usuarios concurrentes tenga.
  • Puede procesar una gran cantidad de trabajos batch concurrentes, con balanceo de carga automático.
  • Permite incorporar seguridad a aplicaciones, recursos y perfiles de usuarios.
  • Provee varias facilidades para recuperación.
  • Puede correr aplicaciones de misión crítica de forma segura.
  • Puede ser controlado desde una o más terminales de operador.


Para entender la forma de trabajo de un mainframe tenemos que partir de un modelo elemental de proceso de datos.



Los datos a procesar viajan por lo general en un único sentido indicado por las flechas. Primero se captan o coleccionan los datos de entrada, a continuación se procesan estos datos transformándose en datos de salida y por último estos datos son presentados en diferentes formatos (usualmente en forma de reportes que pueden consultarse por diferentes canales y terminales)



Modelo de proceso en una instalación de mainframe


Cumpliendo con el modelo elemental anterior, en una instalación de mainframe se realizan dos grandes ciclos: uno de entrada de información y otro de proceso de información.

La salida o presentación de información puede realizarse en cualquier momento teniendo en cuenta la fecha de actualización (algunos procesos permiten presentar información diaria como el saldo de nuestra cuenta corriente, otro de manera decenal como los informes enviados a Banco de España, otros tienen características mensuales, trimestrales, semestrales y por último anuales.

Por último es importante destacar que a pesar de que estos ciclos definen el grueso de las operaciones que se procesan en el mainframe, por ejemplo en un banco moderno hay procesamiento en línea constante las 24 horas los 7 días a la semana debido a la utilización del canal de Internet y a la reciente incorporación del canal Mobile. En esencia ambos canales son lo mismo, con la particularidad que el canal Mobile aumenta las probabilidades de proceso online ya que independiza al usuario de tener un sitio con ordenador de sobremesa y conexión a Internet para realizar sus operaciones. Cualquiera puede realizar una transferencia o consultar los saldos de sus cuentas sentado en un parque o viajando en el Metro.

Ciclo de entrada de información


El ciclo de entrada de información se realiza entre las 8:00 AM y las 03:00 PM (o entre las 08:00 y las 15:00 horas). En este ciclo las diferentes sucursales bancarias atienden a los clientes de banca prestándoles diferentes servicios. Este ciclo suele denominarse ventana en línea o ventana online.

Estos servicios se realizan “en línea” (online), o sea, el operador introduce datos, se realizan determinados procesos de manera sincrónica y se reciben resultados o feedback en la pantalla del operador a través de una aplicación comúnmente denominada terminal financiero o teleproceso (TP).

Normalmente aunque en muchos casos se realiza un ciclo completo de proceso de información, la característica fundamental de esta operación “en línea” es que se aplica por lo general a un solo cliente.

Por otro lado, y a pesar factores como la carga de trabajo de la sucursal bancaria, la cartera de clientes que tenga o la fecha del mes (no es lo mismo fines de mes donde hay muchas personas ingresando cheques o pagando facturas) por lo general todo este proceso online sirve para darle servicio a un solo cliente.

Si realizamos un ciclo completo de proceso durante la ventana online para un cliente, entonces estamos utilizando  recursos compartidos, en especial las bases de datos.

Por lo general durante la ventana online, los servidores de bases de datos tienen plena capacidad para dar respuesta a las peticiones que se realizan.

Como los datos son solo de un usuario (a pesar de la concurrencia de múltiples sucursales realizando operaciones y de la Banca por Internet), el volumen de datos es pequeño y la velocidad de proceso es elevada, garantizando al usuario una respuesta prácticamente inmediata.

La mayoría de las operaciones de Banca se realizan en un régimen transaccional, o sea los datos son procesados y guardados de manera coherente en las bases de datos solo si tienen los valores adecuados acorde  a la operación que estamos realizando.

Por ejemplo, no es posible realizar una transferencia si la cuenta de origen no tiene saldo, con lo cuál a pesar de que la operación de transferencia consiste en un adeudo (extracción) de la cuenta origen y un abono (ingreso) en la cuenta destino, si la operación de adeudo falla por falta de fondos, se cancela también la de abono. No se queda ninguna operación a medio terminar.

Esto desde el punto de vista de las bases de datos, puede provocar por ejemplo un bloqueo (imposibilidad de que otra sentencia de base de datos modifique la fila concurrentemente) en el caso de que actualicemos el saldo de una cuenta corriente.

Este bloqueo cuando se realiza sobre una solo cuenta suele durar lo suficientemente poco como para no comprometer el tiempo de respuesta que recibe el cliente que esta ejecutando la operación en modo online.

Si este bloqueo se demora más de un tiempo preestablecido ocurre un error por tiempo de respuesta (timeout). Este error se implementa para evitar que un sistema complejo, un componente se quede esperando “eternamente” por la respuesta de otro componente del sistema que puede estar bloqueado o caído.

Técnicamente los procesos online se realizan en el mainframe a través de CICS (Customer Information Control System), que es un mecanismo que permite la ejecución de transacciones.

Ciclo de proceso de información


Este ciclo de proceso comienza por lo general a las 03:00PM y termina a las 08:00 AM del día siguiente (desde las 15:00 del día en curso hasta las 08:00 del día siguiente). A este ciclo de proceso se le suele denominar ventana batch.

En este ciclo se producen los tratamientos de datos de carácter masivo. Para esto se emplean procesos batch implementados en el lenguaje de control de trabajos o procesos de IBM (JCL o Job Control Language).

Los procesos en JCL pueden a su vez ejecutarse de dos formas distintas:

  • Procesos esporádicos: procesos que se lanzan de manera no planificada o esporádica
  • Procesos planificados o periódicos: procesos que por su naturaleza necesitan ser lanzados con una periodicidad fija: diarios, decenales, quincenales, mensuales, etc.

Lo correcto en una instalación es tener el grueso de todos los procesos batch de manera planificada. Los procesos esporádicos deben ser siempre menos del 1 % del volumen total que se ejecuta en la instalación.

Aunque siempre van a existir procesos esporádicos (es imposible preveer cuando va a surgir una necesidad no planificada como procesos de auditoría, control fiscal o simplemente procesos de compensación que permitan arreglar errores o dar marcha atrás a datos asentados de forma masiva), la regla general consiste en minimizar al máximo su creación.

Los procesos planificados se ejecutan utilizando un planificador, que en nuestra instalación es CTRL-M de la compañía BMC Software especializada en productos de mainframe.

Estos procesos se ejecutan no solo en horarios y fechas específicos, sino que unos dan condición a otros (cuando uno termina correctamente se ejecutan uno o más procesos relacionados cuyos datos de entrada son los datos de salida del proceso precedente).

posted under , , |

2 comentarios:

Anónimo dijo...

Excelente introducción a los mainframe dando una visión técnica global de su funcionamiento sin entrar en detalles técnicos del sistema.

luis enrique garcia domador dijo...

Excelente información, para toda persona que le interese la historia de este gigante de los sistemas operativos.

Publicar un comentario

Entrada más reciente Entrada antigua Página principal