libro blanco de system z

131
Libro Blanco System z

Upload: paradescartar

Post on 27-Nov-2015

64 views

Category:

Documents


9 download

DESCRIPTION

zos

TRANSCRIPT

Page 1: Libro Blanco de System Z

Libro Blanco System z

Page 2: Libro Blanco de System Z

IBM Corporation 21/02/2011 2 de 131�

Tabla de contenido

1 Introducción 5

1.1 Objetivo del documento 5 1.2 Organización del documento 5

2 Características de la plataforma 6

2.1 Capacidad 6 2.1.1 Qué entendemos por capacidad 6 2.1.2 Elementos que integran la capacidad de un sistema 6 2.1.3 ¿Pocos o muchos servidores? 7 2.1.4 Cargas mixtas 7 2.1.5 Gestión de Sistemas basado en SLAs 8

2.2 Virtualización de recursos 8 2.2.1 Virtualización de CP 9 2.2.2 Virtualización de memoria 9 2.2.3 Virtualización de E/S 9 2.2.4 Virtualización de comunicaciones. 9 2.2.5 Donde IBM System z triunfa sobre la virtualización de la arquitectura

x86. 10 2.2.6 IBM System z puede tener mucho sentido para determinadas

aplicaciones e iniciativas 11 2.3 Escalabilidad 12

2.3.1 Introducción (conceptos de vertical, horizontal y aprovisionamiento) 12

2.3.2 Escalabilidad del hardware 13 2.3.3 Escalabilidad de los S/O. z/OS z/VM y Linux for System z 14 2.3.4 Sysplex Paralelo 14 2.3.5 Capacidad bajo demanda (lo nuevo de z/OS de aprovisionamiento)

15 2.4 Integridad y Seguridad 15

2.4.1 Integridad 15 2.4.2 Seguridad 17

2.5 Rendimiento 19 2.6 Disponibilidad 20

2.6.1 Construido para los negocios. 20 2.6.2 Una solución para la operación continúa de los negocios. 21 2.6.3 Disponibilidad y fiabilidad de primera clase 21 2.6.4 Fortalezas del corazón del hardware. 22 2.6.5 Mas allá del hardware 23

2.7 Gestión de Sistemas 25 2.7.1 Revisión de la administración de sistemas. 26 2.7.2 El valor de la administración de sistemas en el z/OS 26 2.7.3 Iniciativa del ordenador autónomo de IBM 27 2.7.4 Tecnologías auto-configuradoras. 28 2.7.5 Tecnologías auto-reparadoras 29 2.7.6 Tecnologías auto-optimizadoras 29 2.7.7 Tecnologías auto-protectoras. 29 2.7.8 Administración de los sistemas End-to-end 29

3 Arquitectura System z. Plataforma HW 31

3.1 Conceptos de la arquitectura System z 31 3.1.1 Multiprogramación/Multiproceso/Multithreading 31 3.1.2 Mecanismo de interrupciones 32 3.1.3 Virtualización 34 3.1.4 Otras características importantes del HW 36

3.2 Componentes y sus características 36

Page 3: Libro Blanco de System Z

IBM Corporation 21/02/2011 3 de 131�

3.2.1 Z10 36 3.2.2 Procesadores 37 3.2.3 Memoria 38 3.2.4 E/S 39 3.2.5 Time-of-Day clock 41 3.2.6 CP Assist for Cryptographic 41 3.2.7 HiperSockets 41 3.2.8 Hardware Management Console (HMC) 41 3.2.9 Detalles de virtualización del HW 42 3.2.10 Hiperdispatch 43

4 Arquitectura System z. Plataforma SW- SW Base 44

4.1 IBM z/OS y componentes 44 4.1.1 Gestión de la Memoria 45 4.1.2 Gestión y reparto del Procesador- Workload Manager (WLM) . 46 4.1.3 Resource Recovery Services (RRS). 48 4.1.4 Gestión de los datos DFP(Data Facility Program) 48 4.1.5 Gestión del Almacenamiento 49 4.1.6 Gestión de los bloqueos -Global resource serialization (GRS) 50

4.2 Entorno de programación/ejecución 51 4.2.1 Soporte de Runtime- Language environment 52 4.2.2 ´Compiladores de los lenguajes de programación tradicionales 52 4.2.3 Soporte de Java 52 4.2.4 Lenguajes de reciente incorporación 53 4.2.5 Herramientas de desarrollo de SW 53 4.2.6 XML Services 54 4.2.7 UNIX System Services 54 4.2.8 Security Server 54

4.3 Técnicas de clustering. Sysplex Paralelo 56 4.3.1 Clustering básico 56 4.3.2 ‘Anillo GRS’ 56 4.3.3 Sysplex Paralelo (Resource sharing y Datasharing) 57 4.3.4 Coupling Facility 57

4.4 z/VM 59 4.5 Linux en System z 60

5 Arquitectura System z. Plataforma SW-Middleware Tra nsaccional 61

5.1 CICS 62 5.1.1 El CICS y el z/OS 63 5.1.2 Programas, transacciones y tareas CICS 64 5.1.3 Programación conversacional y pseudo-conversacional 64 5.1.4 Comandos CICS 65

5.2 Servicios CICS para los programas de aplicación 65 5.2.1 Objetos de datos CICS 66 5.2.2 Acceso a datos externos 66 5.2.3 Topología CICS 67 5.2.4 Intercomunicación CICS a CICS 68 5.2.5 Conectividad con sistemas no-CICS 68 5.2.6 Configuración CICS 69 5.2.7 Seguridad 69 5.2.8 Herramientas para depuración y de determinación de problemas 70

5.3 IMS 71 5.3.1 IMS Database Manager (IMS DM) 73 5.3.2 IMS Transaction Manager 75 5.3.3 Servicios de sistema IMS 75 5.3.4 Estructura de los subsistemas IMS 76

5.4 WAS 78 5.4.1 Nodo de servidor base de aplicaciones: 80 5.4.2 Network Deployment Manager: 81

Page 4: Libro Blanco de System Z

IBM Corporation 21/02/2011 4 de 131�

5.5 MQ 86 5.5.1 Tipos de mensajes 88 5.5.2 Gestor de Colas 89 5.5.3 Tipos de colas de mensajes 89 5.5.4 ¿Qué es un canal? 90 5.5.5 ¿Cómo queda asegurada la integridad transaccional? 90 5.5.6 Un ejemplo de mensajería y encolamiento 92 5.5.7 Interfaz con CICS, IMS, Batch, o TSO/E 93

5.6 Middleware Bases de Datos 93 5.6.1 DB2 93

5.7 SW de gestión 101 5.7.1 Gestión de almacenamiento 101 5.7.2 Gestión de la operación (Tivoli SA y Netview) 101 5.7.3 Gestión del Batch 103 5.7.4 Monitorización y rendimiento 104

6 Integración en los modelos IT más usados en la actu alidad 109

6.1 SOA 109 6.1.1 Introducción 109 6.1.2 Estándares en SOA 109 6.1.3 Construyendo las TI con nuevos parámetros 110 6.1.4 Mejores prácticas SOA 112

6.2 Proceso en nube (Cloud computing). 117

La evolución del IBM System z: zEnterprise 122

Modernización empresarial en zEnterprise 122 Transformar sus activos de TI para proteger sus inversiones 124 Modernice su empresa para maximizar la agilidad 124

Consolidación de servidores 126

Introducción 126 Tipos de Consolidación. 127 Consolidación en System z 127

7 Bibliografía 130

Page 5: Libro Blanco de System Z

IBM Corporation 21/02/2011 5 de 131�

1 Introducción

1.1 Objetivo del documento

El objetivo de este documento es describir la plataforma System z en sus componentes más importantes.

Intentamos establecer las características de la plataforma en relación con el tipo de necesidades a las que va dirigida, así como documentar la tecnología que soporta dichas características.

El mundo System z avanza y por lo tanto este documento quedará obsoleto en cuanto se anuncie la siguiente máquina.

No obstante el paradigma System z se ha mantenido a lo largo de los más de 40 años de existencia de la plataforma y esperamos que se mantenga muchos más.

Si bien los detalles pueden cambiar, el contenido de este libro es general de la plataforma.

1.2 Organización del documento

Hemos dividido el documento en tres partes:

1. Una primera (Capítulo 2) que habla de las características que son importante en una plataforma. Las características que todas las plataformas tienen pero cada una en su medida.

Esta diferente manera de ser escalable, o los distintos límites de capacidad, o lo que en cada plataforma se define como alta disponibilidad, es lo que hemos querido reflejar en este primer capítulo.

2. Hay una segunda parte compuesta por los capítulos 3, 4 y 5 que intenta dar una descripción técnica tanto del HW como el SW más usado en el Mainframe.

Esta parte complementa la primera, dotándola de mas profundidad.

3. Y, por último hay un capitulo dedicado al papel e System z en los paradigmas de negocio que están apareciendo a fecha de 2010.

Estos paradigmas están basados en características de la infraestructura que para System z son características de nacimiento, como por ejemplo la seguridad, la integridad, la virtualización, etc.…

Este capítulo pretende solo dar unas pinceladas sobre este papel.

Page 6: Libro Blanco de System Z

IBM Corporation 21/02/2011 6 de 131�

2 Características de la plataforma

2.1 Capacidad

2.1.1 Qué entendemos por capacidad

Mirando en el diccionario de la Real Academia de la Lengua, encontramos las siguientes definiciones:

1. Propiedad de una cosa de contener otras dentro de ciertos límites.

2. Oportunidad, lugar o medio para ejecutar algo.

En el Webster encontramos como definición nº 5:

5. La facilidad o poder para producir, ejecutar o utilizar.

Como vemos se trata de un potencial. Algo que puede llegar a realizarse o no, pero que está a nuestra disposición. Una vez dicho esto, me gustaría definir la capacidad con un ejemplo de la vida cotidiana: Un litro de leche. ¿Qué es un litro de leche? La leche que cabe en una jarra de un litro. Pensemos en el ordenador como la jarra. Ahora bien, si la jarra la llenamos de agua, vino o leche, los resultados de bebernos dicha jarra no son los mismos, y ya no digamos si la jarra la llenamos de ambrosía…

La capacidad de los ordenadores se suele medir por el número de instrucciones que pueden realizar en determinado tiempo. Funciones o peticiones tales como abrir un fichero o leer un registro, dependiendo de en qué lenguaje de programación estén escritas, si es un lenguaje compilado o interpretado, de lo buen o mal programador que seas, del método de acceso utilizado, pueden requerir 10 ó 300 ó 50.000 instrucciones. Una de las características fundamentales del sistema z es su habilidad para utilizar el 100% de su capacidad sin merma en su rendimiento.

El System z dispone de elaboradas utilidades en cuanto a rendimiento, que facilitan la labor a la hora de conocer los consumos de cada recurso.

El CMG (Computer Measurement Group), fundado en 1974, es una organización sin ánimo de lucro de profesionales de la informática dedicada a compartir información y normas de buen uso para asegurar la eficacia y escalabilidad de los sistemas de IT, a través de la medición, el análisis cuantitativo y la predicción. Dispone de una base de datos de artículos en la siguiente página web: http://www.cmg.org/

2.1.2 Elementos que integran la capacidad de un sistema

Para poder conseguir ese potencial debemos basarnos en los elementos que configuran dicho sistema y las interrelaciones entre ellos.

Como elementos fundamentales tenemos: los procesadores, su arquitectura, el juego de instrucciones que dicho procesador es capaz de ejecutar, los elementos de entrada/salida para acceder a los datos, la memoria, los tipos de caché, el direccionamiento y la virtualización. (Esto se verá con más detalle en el capítulo 3º)

Como interrelaciones el elemento más importante del que disponemos es el sistema operativo que permite acceder a los recursos anteriores sin las complejidades de la programación de chips.

Page 7: Libro Blanco de System Z

IBM Corporation 21/02/2011 7 de 131�

Esto en cuanto a elementos que operan a nivel de servidor. Si necesitamos correr varios servidores en una sola máquina tenemos que tener en cuenta otros elementos que influirán a la hora de la capacidad de la máquina, como por ejemplo la compartición de recursos o su imposibilidad, y el nivel de dicha compartición en el caso de que sea posible. Esto también exige la seguridad de que compartimos lo que necesitamos y al nivel requerido, sin intrusiones de un servidor en otro o machaque de áreas privativas.

Más adelante hablaremos de cada una de estas áreas con más detalle. Sólo señalar aquí que el sistema z dispone de las más altas certificaciones de seguridad.

2.1.3 ¿Pocos o muchos servidores?

La evolución del paradigma de sistemas distribuidos “una aplicación, un servidor”, ha llevado al crecimiento desmesurado del número de servidores en una instalación. Baste un ejemplo: Un centro con sólo dos aplicaciones corriendo contra una base de datos. Esto no parece muy complicado: 4 servidores para los servidores de aplicación (dos por aplicación por redundancia), 2 para la base de datos (activo/activo o activo/pasivo), total 6 sistemas. Pero hay que contar con 3 más para el desarrollo y otros 3 para QoS. Si además necesitamos garantizar el servicio ante un desastre necesitamos 6 más para producción y otros 3 para desarrollo, En total ya tenemos 21 servidores/máquinas que manejar. Y esto sólo para dos aplicaciones y sin tener en cuenta el posible crecimiento de la aplicación, que, en general, se solventa con la adición de nuevos servidores.

Cuántos más servidores haya que administrar más complicada es la tarea, más problemas a resolver con más puntos de fallo, más tiempo perdido en tareas puramente administrativas (como el cambio de sistemas operativos o su mantenimiento) y más difíciles de controlar la seguridad y las comunicaciones.

El Mainframe tiene un paradigma diferente: “todas las aplicaciones compartiendo un sistema”. A simple vista esto parece más sencillo de manejar, y en realidad lo es si el sistema es capaz de priorizar las tareas importantes y serializar las peticiones a los recursos para evitar que tareas intrascendentes monopolicen la máquina y para garantizar la integridad de las operaciones.

2.1.3.1 Muchos servidores

Como resumen, muchos servidores dificultan las tareas administrativas, aumentan el tiempo de la resolución de problemas (sobre todo si los sistemas pertenecen a distintas organizaciones), complican los procedimientos de pruebas y de recuperación ante un desastre y generan conflictos de propiedad entre departamentos.

Y además, gastan más energía (hay entidades que han tenido problemas de suministro e incluso en determinados países se está publicando legislación para impedir que se consuma más allá de un máximo de energía) y utilizan más espacio, cableado y conectores.

2.1.3.2 Pocos servidores.

Como contrapartida, cuantos menos servidores, se utiliza menos energía, menos espacio, se tarda menos tiempo en la resolución de problemas y la administración de los sistemas es más sencilla, es decir, se mejoran todos los aspectos anteriores

2.1.4 Cargas mixtas

El concepto de carga mixta va emparejado con el paradigma del Mainframe. Es el tipo de trabajo que se realiza cuando todo tipo de aplicaciones corren en un solo servidor, así tenemos transacciones on-line que se generan a través de middleware del tipo CICS/WAS/IMS, manejo de datos ya sea a través de ficheros, secuenciales o de

Page 8: Libro Blanco de System Z

IBM Corporation 21/02/2011 8 de 131�

acceso directo, o de bases de datos, comunicaciones con los distintos tipos de terminales, tareas en lotes, gestión de seguridad, etc.

El sistema z, gracias a su arquitectura y características únicas, es capaz de combinar un gran número de cargas priorizando las tareas importantes, asignando los recursos necesarios y ofreciendo seguridad a medida, compartiendo al mismo tiempo todos los recursos del sistema de una forma segura.

Un factor importante en este punto es el WLM, (Work Load Manager), elemento integrado en el sistema operativo, que permite definir las prioridades del sistema a través de políticas, con un lenguaje igual al utilizado en los compromisos de niveles de servicio. Dicho componente, además de priorizar las tareas, asigna los recursos necesarios para conseguir el rendimiento deseado según los SLA’s y balancea la carga a lo largo de un Sysplex para conseguir los máximos beneficios de capacidad y rendimiento que ofrece el System z.

2.1.5 Gestión de Sistemas basado en SLAs

En una instalación se manejan muchos tipos de trabajo: producción, desarrollo, test, administración, pruebas de calidad, etc.

También se dispone de muchos tipos de aplicaciones, algunas de las cuales son prioritarias y requieren inmediatez en su ejecución, mientras que otras pueden esperar incluso minutos, sin que por ello pierdan efectividad.

Generalmente, este tipo de conocimiento escapa a la gente que administra los sistemas, ya que éste pertenece al ámbito del negocio. Por eso se establecen compromisos de SLA’s (Service Level Agreement). En este tipo de acuerdos se establecen niveles de servicio tales como tiempo de respuesta, disponibilidad de la aplicación, requerimientos de recuperación, etc.

Este tipo de acuerdos también sirve para una posible facturación interna de los servicios prestados.

El sistema z permite la definición de la importancia de las tareas con políticas basadas directamente en los SLA’s. Estas políticas se actualizan on-line,

2.2 Virtualización de recursos

La virtualización hace referencia a la técnica de ocultar las características físicas de los recursos informáticos a los usuarios de dichos recursos.

El hecho es que la virtualización no es de ninguna manera un concepto nuevo o un nuevo invento de la tecnología, aunque ahora se aplique también a la informática distribuida, ya que la plataforma System z de IBM la ha soportado durante mucho tiempo y la ha ido perfeccionado a lo largo de décadas. No olvidemos que MVS, el nombre antiguo del z/OS, significa ‘Multiple Virtual System’ y VM, el nombre que desde los 70 ha llevado el nuevo z/VM significa ‘Virtual Machine’.

Algunos expertos de la industria sostienen que la virtualización de los servidores está convirtiendo el centro de datos a una arquitectura que “imita” al Mainframe. Esto es relativamente cierto aunque un poco simplista ya que esta teoría ignora el hecho de que la arquitectura x86 tiene unos límites de escalabilidad, fiabilidad y rendimiento que constituyen la quintaesencia de la plataforma System z de IBM. Y la simple virtualización no incorpora la gestión integrada en la plataforma System z.

Page 9: Libro Blanco de System Z

IBM Corporation 21/02/2011 9 de 131�

2.2.1 Virtualización de CP

Processor Resource/Systems Manager™ (PR/SM™) es un hipervisor integrado en todos los System z que correlaciona los recursos físicos de la máquina con recursos virtuales. Esto permite que muchas particiones lógicas puedan compartir dichos recursos físicos.

Los CP’s quedan integrados en un pool y a cada partición se le asocia un número lógico de ellos. El PR/SM proporciona los procesadores físicos y en caso de necesitar más CP’s de los que haya físicamente disponibles, decide dar los recursos de acuerdo al peso otorgado a cada partición.

En el z10, para evitar pérdidas de rendimiento debidas a los movimientos de cache entre los procesadores físicos, surge el hiperdispatch.

2.2.2 Virtualización de memoria

La memoria no se puede ser compartir entre particiones. Cosa lógica porque ahí es donde están los datos de cada aplicación. Sin embargo en el sistema z existen varias opciones que permiten una mejor utilización de la memoria.

En primer lugar se pueden pasar trozos de memoria de unas particiones a otras por medio de comandos. Así nos aseguramos que se han salvado los datos pertinentes y que éstos no están en uso por alguna aplicación.

En segundo lugar, dentro de cada partición, la memoria se virtualiza dependiendo del sistema operativo. Tanto z/OS como z/VM son capaces de virtualizar la memoria hasta conseguir un alto rendimiento en su utilización.

El z/OS dispone de tablas de direccionamiento de memoria que permiten que cada espacio de direcciones pueda funcionar como si dispusiera de toda la memoria, no sólo la existente realmente, sino toda la que pueda direccionar. Para ello dispone de ficheros de paginación, en los que se puede respaldar memoria que no esté en uso, permitiendo así que dicha memoria pueda ser usada por otra aplicación.

El z/VM se encarga de distribuir la memoria entre sus huéspedes. Puede obtener un over-commit de hasta dos veces su capacidad.

2.2.3 Virtualización de E/S

El sistema z es el único en el mercado que dispone de un ‘subsistema de canales’ encargado de realizar la E/S para todas las particiones, convirtiéndose así en el paradigma de la virtualización. Este subsistema de canales distribuye su inteligencia entre un procesador especializado (SAP) y los canales, que también disponen de procesadores.

Por otro lado también dispone del EMIF, que permite compartir canales entre las distintas particiones, sin necesidad de disponer de cableados adicionales para cada sistema.

2.2.4 Virtualización de comunicaciones.

Puede compartir tarjetas de comunicación IP entre varias particiones.

Page 10: Libro Blanco de System Z

IBM Corporation 21/02/2011 10 de 131�

Dispone de un mecanismo de comunicación entre particiones denominado HiperSockets que permite comunicaciones IP entre particiones sin necesidad de cableado, a velocidad de memoria.

Dentro del z/VM dispone de mecanismos tales como la ‘guest LAN”, que es una red LAN virtualizada, y el virtual switch.

2.2.5 Donde IBM System z triunfa sobre la virtualización de la arquitectura x86.

La llegada de la virtualización de los servidores x86 está proporcionando grandes avances dentro de los departamentos de IT, pero aún tiene defectos y fallos cuando lo que las organizaciones buscan es ejecutar modernas aplicaciones de empresa.

La tecnología de virtualización de servidor es realmente buena al hacer un uso más eficiente del hardware con la ventaja añadida de una mejora en la recuperación ante un desastre.

Por otra parte, IBM System z se ha construido desde el principio para ejecutar aplicaciones empresariales críticas que demandan una plataforma de hardware flexible, escalable y de una alta disponibilidad.

Mientras que la virtualización del x86 puede gestionar bien tareas sencillas, la virtualización del Mainframe se aprovecha de más de 30 años de innovaciones tales como:

Un hardware tolerante al fallo que excede en mucho cualquier cosa que la virtualización x86 pueda ofrecer. El System z de IBM se ha diseñado para tolerar fallos de hardware sin comprometer la disponibilidad o el rendimiento del sistema.

Capacidad bajo demanda (CoD), donde las necesidades de capacidad de proceso y de memoria se acceden bajo petición. El System z de IBM se entrega con capacidad integrada que se puede activar cuando las cargas excedan los requerimientos de la capacidad original.

Virtualización de E/S para ofrecer un rendimiento predecible que escala fácilmente cuando la aplicación lo requiera. Los cuellos de botella en la E/S son uno de los obstáculos fundamentales en las soluciones de virtualización del x86.

Seguridad e integridad, reforzadas ambas dentro de la arquitectura del System z de IBM y probadas fehacientemente en los más exigentes entornos de aplicación. Mientras que las plataformas de virtualización x86 son relativamente nuevas y aún tienen que demostrar su valor en entornos que requieran las más altas medidas de seguridad.

Elegir la solución de virtualización no es tan blanco o negro como pueda parecer.

Las ventajas básicas de la virtualización incluyen la consolidación y la mejora en la utilización de recursos, beneficios que son bienvenidos en todas las organizaciones.

Se necesitan otras consideraciones para comprender las aplicaciones y el impacto positivo que la virtualización tendrá a varios niveles en los tier de infraestructura subyacente.

Page 11: Libro Blanco de System Z

IBM Corporation 21/02/2011 11 de 131�

2.2.6 IBM System z puede tener mucho sentido para determinadas aplicaciones e iniciativas

La tecnología Mainframe de IBM, tal vez injustamente, ha llevado el sambenito de unidades de proceso caras (MIPS) y un historial de excelente rendimiento para cargas específicas en sectores específicos.

Por ejemplo, si desea implementar SOA y WebSphere para optimizar el beneficio del proveedor y para investigar la elegibilidad de proceso en el sector sanitario, el IBM System z es el camino a seguir.

Sin embargo, estos conceptos están cambiando a la vez que grandes entornos Linux se consolidan en Mainframe con un TCO mejorado en comparación con el despliegue del mismo entorno en arquitectura x86.

La arquitectura de IBM System z es satisfactoria en mercados que:

• Tengan cargas antiguas de UNIX que requieran actualizaciones de software y de hardware o hayan llegado al final de su vida útil. El System z de IBM puede ser la plataforma ideal para la consolidación de estos entornos.

• Requieran capacidad bajo demanda para escalar hasta la potencia de proceso requerida para cargas que experimenten un pico en su actividad. Los clientes sólo tienen que pagar por la potencia adicional cuando la necesiten.

• Deban desplegar nuevas cargas y aplicaciones desde el principio que hayan sido específicamente diseñadas para el Mainframe o destinadas a una infraestructura, que como el Mainframe, pueda ofrecer rendimiento, fiabilidad y estabilidad sin parangón.

• Tengan implementaciones grandes de Linux, Oracle, WebSphere y DB2. Estos entornos operativos han probado su éxito y consiguen todas las ventajas que la arquitectura del Mainframe proporciona.

¿Qué pasa con las cargas de Microsoft Windows?

La mayoría de los entornos virtualizados x86 ejecutan cargas de trabajo basadas en aplicaciones típicas de Microsoft (es decir, Exchange, SQL Server, SharePoint), Oracle y SAP. Se soportan otros sistemas operativos, que incluyen Linux y Solaris, pero son una porción muy pequeña del total de entornos virtualizados x86.

Las plataformas Windows no se pueden ejecutar como máquinas virtuales en IBM System z, al menos no hoy. Para ello, IBM tendría que emular el hardware x86, algo que podría funcionar en teoría, pero que puede no ser el camino más económico a seguir por el cliente.

Page 12: Libro Blanco de System Z

IBM Corporation 21/02/2011 12 de 131�

2.3 Escalabilidad

En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad deseable de un sistema, red o proceso, que indica su habilidad para extender el margen de operaciones sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos.

En general, también se podría definir como la capacidad del sistema informático de modificar su tamaño o configuración para adaptarse a las circunstancias cambiantes.

La escalabilidad como propiedad de los sistemas es generalmente difícil de definir, en particular es necesario definir los requerimientos específicos para la escalabilidad en esos proyectos donde se crea que son importantes. Es una característica altamente significativa en sistemas electrónicos, bases de datos, ordenadores, routers y redes.

Un sistema escalable es aquél cuyo rendimiento mejora, después de haberle añadido más capacidad de hardware, proporcionalmente a la capacidad añadida.

2.3.1 Introducción (conceptos de vertical, horizontal y aprovisionamiento)

Hablamos de escalabilidad horizontal cuando para ampliar la capacidad de un sistema lo que añadimos es otro sistema similar.

Nos referimos a escalabilidad vertical cuando lo que hacemos es aumentar la capacidad dentro de la misma máquina, por ejemplo aumentando el número de procesadores.

Page 13: Libro Blanco de System Z

IBM Corporation 21/02/2011 13 de 131�

Aprovisionamiento es el proceso de preparar y configurar cualquier sistema requerido, proveer a los usuarios del acceso a datos y recursos tecnológicos, y en particular se refiere a todo el proceso de administración de los recursos requeridos.

2.3.2 Escalabilidad del hardware

Nos referimos a la escalabilidad del hardware cuando hablamos de escalabilidad vertical. Dentro del System z se obtiene la más alta escalabilidad debido a los múltiples modelos de máquinas que pueden ir de un solo procesador corriendo en modo de subcapacidad a 64 que permiten correr hasta 60 imágenes de z/OS.

Como vimos en la parte dedicada a capacidad, éste es un concepto ambiguo cuya medición depende realmente de lo que se esté haciendo. Por eso es complicado comparar distintas máquinas corriendo distintos tipos de aplicaciones. Aún así comparar máquinas puede ser interesante. IBM realiza comparaciones con distintos tipos de trabajos para sus máquinas del System z y publica los resultados en http://www-03.ibm.com/systems/z/advantages/management/lspr/index.html.

Si vemos una gráfica comparativa de la familia z10 nos encontramos con lo siguiente para los modelos z10 BC:

Es decir de 26 a 2760 PCI’s (Procesor Capacity Index). Para los modelos z10 EC nos encontramos con lo siguiente:

Es decir con una capacidad de 216 a 5848 PCI’s para los modelos en subcapacidad y de 920 a 30667 PCI’s para los que no corren en subcapacidad. Con esto vemos que podemos ir de 26 a 30600 PCI’s dentro de la misma familia. Se pueden realizar

Page 14: Libro Blanco de System Z

IBM Corporation 21/02/2011 14 de 131�

cambios de modelo se forma sencilla, algunos incluso sin necesidad de parar la máquina.

2.3.3 Escalabilidad de los S/O. z/OS z/VM y Linux for System z

La escalabilidad, obviamente, no depende sólo del hardware, el sistema operativo debe poder administrar esa capacidad. Dentro de la plataforma System z es habitual que en una misma máquina corran varias imágenes, debido a los distintos tipos de entorno, como pueden ser producción, desarrollo, test, sistemas, etc. El sistema operativo z/OS puede administrar miles de millones de transacciones al año, con su habitual rendimiento y disponibilidad, además de la seguridad implícita

El sistema z/VM funciona generalmente como un programa hipervisor, pudiendo arrancar huéspedes variopintos, desde z/OS hasta Linux pasando por z/VSE. El Linux para System z corre habitualmente como un huésped del z/VM, pudiendo generarse miles de instancias en una sola partición.

2.3.4 Sysplex Paralelo

El Sysplex paralelo nació como una técnica para aumentar la disponibilidad del MVS. Permite utilizar varias imágenes de z/OS como si fuera un único sistema operativo, compartiendo entre todas ellas recursos tales como los datos, las impresoras, las cintas, la base de datos de RACF, etc.

Ésta sigue siendo la característica más importante del Sysplex paralelo, pero como resultado añadido nos encontramos con que dicha técnica permite una escalabilidad horizontal con unas propiedades únicas dentro de dicha posibilidad.

El Sysplex paralelo permite unir hasta 32 imágenes de z/OS compartiendo los datos y actuando como una única imagen sin pérdida de la in tegridad de los datos. Esto es lo que no ocurre con el resto de sistemas que se decantan por una escalabilidad horizontal: cada sistema es responsable de sus propios recursos y estos no se comparten con el resto.

Un esquema de Sysplex paralelo podría ser el siguiente:

Page 15: Libro Blanco de System Z

IBM Corporation 21/02/2011 15 de 131�

Como característica importante vemos la importancia de tener una única hora en todas las máquinas, pieza clave a la hora de conseguir integridad en los datos. Hasta ahora esto venía dado por una máquina especial, el ‘Sysplex timer’, ahora se consigue con un acoplamiento especial y un protocolo propio, que es similar aunque no igual al SNTP, el STP.

2.3.5 Capacidad bajo demanda (lo nuevo de z/OS de aprovisionamiento)

Acontecimientos inesperados, tales como incrementos impredecibles en la carga, o desastres naturales pueden requerir que la capacidad del IT se incremente de forma inesperada. IBM puede proporcionar la capacidad necesaria sencilla y rápidamente. Capacity on Demand es el dispositivo clave que permite ajustar la memoria y la capacidad de proceso a necesidades específicas sin necesidad de apagar o reiniciar el servidor, y sin tener que realizar un IPL al sistema operativo.

Capacity on Demand (CoD) puede proporcionar subidas de capacidad temporales o permanentes.

CIU (Customer initiated upgrade), es la propuesta de CoD que permite realizar una subida de capacidad definitiva en el momento más conveniente para el cliente. Sólo permite subidas de LICCC, no proporciona subidas de dispositivos de entrada/salida.

Los cambios de capacidad temporales pueden ser de varias clases:

CBU (Capacity Back-up upgrade) es una activación concurrente de capacidad de proceso para reemplazar la capacidad perdida en una instalación a consecuencia de un desastre. Esta opción no se puede utilizar para un pico en la carga de trabajo. Puede utilizarse hasta 90 días después de que el desastre ocurra. También permite realizar 5 pruebas de 10 días al año.

CPE (Capacity for planned events) permite un incremento de capacidad temporal para reemplazar capacidad perdida temporalmente debida a paradas planificadas, por ejemplo para realizar cambios en el centro de procesos. No se puede utilizar para picos de carga o para situaciones de desastre. Puede estar activado durante 72 horas.

ON/OFF Capacity on Demand (On/off CoD) permite subidas temporales de capacidad. Se trata de la oferta de CoD que permite dirigir los incrementos en la capacidad debida a picos en la carga de trabajo.

z/OS Capacity Provisionig (CP) ayuda a manejar la capacidad de los procesadores de System z que corran z/OS. Utilizando la On/Off CoD, se puede activar y desactivar capacidad temporal basándose en los requerimientos actuales de la carga. z/OS CP también simplifica la monitorización de cargas críticas y sus posibilidades de automatización permiten activar recursos adicionales más rápidamente que si se tuviera que realizar manualmente.

2.4 Integridad y Seguridad

Los programas y los datos de una instalación se deben proteger de accesos no autorizados –tanto internos (empleados) como externos (clientes, proveedores, hackers, etc.). Para entender el z/OS, se necesita comprender la importancia de la seguridad y las funciones que el z/OS utiliza para implementarla.

2.4.1 Integridad

Se define como integridad de un sistema a la capacidad del sistema de protegerse a sí mismo contra accesos no autorizados hasta el punto en que no se puedan comprometer los controles de seguridad.

Page 16: Libro Blanco de System Z

IBM Corporation 21/02/2011 16 de 131�

Emitido primero en 1973, el compromiso de integridad del sistema de IBM para el MVS TM (IBM’s MVS TM System Integrity Statement), y subsecuentemente para el OS/390 y el z/OS, se ha mantenido a lo largo de tres décadas como un símbolo de la confianza y el compromiso de IBM hacia el sistema operativo z/OS. IBM reafirma su compromiso con la integridad del sistema z/OS.

El compromiso de IBM incluye prácticas de diseño y desarrollo que pretenden evitar que programas de aplicación, subsistemas y usuarios no autorizados traspasen la seguridad del z/OS –esto es, evitar que accedan, eludan, inhabiliten, alteren o consigan control de procesos claves y recursos del z/OS a menos que tengan permiso de la instalación-. Específicamente, z/OS “System Integrity” se define como la incapacidad de cualquier programa no autorizado por un mecanismo bajo el control de la instalación a eludir o inhabilitar memoria o adquirir protección o acceder a un recurso protegido por RACF u obtener control de forma autorizada; esto es, en estado supervisor, con una clave de protección menor de 8, o autorizado APF (Authorized Program Facility). En el caso en que se reporte un problema en la integridad del sistema, IBM siempre tomará medidas para solucionarlo.

El largo compromiso de IBM con la integridad del sistema es único en la industria, y constituye la base del liderazgo del z/OS en la seguridad del sistema. z/OS está diseñado para ayudar a los clientes a proteger su sistema, sus datos y transacciones de modificaciones accidentales o maliciosas. Esta es una de las muchas razones que hacen que el System z siga siendo líder como servidor de cargas de trabajo críticas para la empresa.

2.4.1.1 Serialización

Es el mecanismo que impide que varios procesos modifiquen a la vez un recurso, comprometiendo así la integridad de la operación.

GRS (Global Resource Serialization) es el mecanismo que se encarga de serializar los recursos dentro del z/OS, y puede hacerlo tanto dentro de un único sistema, como a lo largo de un conjunto de ellos conectados en un GRS (generalmente coincidente con un SYSPLEX Paralelo)

2.4.1.2 RRS

Resource recovery services (RRS) proporciona un gestor global de sincronización que cualquier gestor de recursos en el z/OS puede utilizar. Permite a las transacciones modificar recursos protegidos administrados por diversos gestores de recursos sin pérdida de integridad.

El RRS se está convirtiendo cada vez más en un prerrequisito para los nuevos gestores de recursos y para nuevas funcionalidades en los existentes. Más que implementar su propio protocolo de commit en dos fases, estos productos pueden utilizar el soporte que proporciona el RRS.

2.4.1.3 Backups

Para proporcionar una integridad en los datos tener copias de back-up de los ficheros, no es condición suficiente, aunque sí necesaria. Para poder asegurar la integridad ante un fallo, es necesario recurrir a técnicas de apunte de las transacciones ejecutadas entre puntos de sincronismo. Tanto el DB2, como el CICS, como el resto de gestores que hagan uso del RRS, disponen de dichas técnicas, que permiten recuperar los datos a un punto de sincronismos, es decir, sin pérdida de integridad,

Page 17: Libro Blanco de System Z

IBM Corporation 21/02/2011 17 de 131�

2.4.2 Seguridad

Acceder y crear información computerizada se ha hecho más fácil a lo largo del tiempo. El acceso a los sistemas hace tiempo que dejó de estar limitado a un pequeño grupo de programadores especializados. Cualquier persona que se tome la molestia de familiarizarse con los nuevos lenguajes de búsqueda, puede tener acceso a la información, contenida en los modernos medios puestos a su alcance, e incluso puede crearla en dichos medios.

La gente depende cada vez más de los ordenadores y de la información que se guarda en ellos. A medida que la alfabetización informática y el número de gente que usa los ordenadores se incrementan, la necesidad de la seguridad de los datos ha adoptado un nuevo y dramático cariz. Las empresas ya no pueden confiar en que tienen sus datos seguros simplemente porque nadie sabe como llegar a ellos.

Proteger los datos es algo más que hacer inaccesible la información confidencial a aquéllos que no debieran verla. También incluye la prevención de la destrucción inadvertida de ficheros por gente que puede incluso no ser consciente de que estén manipulando datos incorrectamente. Las buenas prácticas de seguridad reducen los riesgos de que personas no autorizadas puedan acceder a los datos, modificarlos o destruirlos, tanto de forma inadvertida o como deliberada.

El acceso, en un entorno informático significa la habilidad para realizar algo con un recurso del ordenador (por ejemplo, utilizar, cambiar o ver un fichero). El control de accesos es el método por el cual se permite o prohíbe expresamente dicha capacidad. Este tipo de acceso se denomina acceso de control lógico. Estos son mecanismos de control que permiten a los usuarios acceder sólo a aquello que es apropiado para ellos...

Los accesos de control lógicos se construyen generalmente dentro del propio sistema operativo, aunque también pueden ser parte de la lógica de la aplicación o de determinadas utilidades, tales como los sistemas gestores de bases de datos. También se puede implementar a través de paquetes de seguridad que se instalan sobre el sistema operativo, dichos paquetes están disponibles para una gran variedad de sistemas, incluyendo los PC’s y los Mainframe. Además, los controles lógicos de acceso pueden estar presentes en componentes especializadas que regulan las comunicaciones entre ordenadores y redes.

Las facilidades que incorpora el z/OS proveen de su alto nivel de seguridad e integridad. El System z es el único en poseer la calificación EAL5 de seguridad.

Los datos acerca de los clientes son una información vital dentro de los activos de una empresa. Dicha información podría ser vendida a los competidores con grave trastorno para el funcionamiento de dicha empresa. Así el objetivo de cualquier política de seguridad es dar a los usuarios sólo el requerido nivel de acceso y denegar los accesos no autorizados. Esta es una de las razones por las cuales los auditores de seguridad prefieren que se otorgue a los usuarios o grupos un acceso específico, más que utilizar facilidades de acceso universal. El objetivo tradicional en la seguridad del Mainframe era el impedir a personas no autorizadas el acceso al sistema, y después conseguir darles permiso únicamente a los datos pertinentes a su trabajo. A medida que los Mainframe se están convirtiendo en servidores de Internet se requieren medidas adicionales de seguridad. Existen peligros externos tales como hackers, virus y caballos de Toya; el servidor de seguridad debe incluir herramientas para enfrentarse a dichos problemas.

Sin embargo, frecuentemente el mayor riesgo paro los datos de la compañía viene de dentro. Un empleado dentro de una empresa tiene muchas más oportunidades de obtener datos que alguien externo. Una política de seguridad bien implementada es siempre la primera línea de defensa.

Page 18: Libro Blanco de System Z

IBM Corporation 21/02/2011 18 de 131�

El z/OS contiene un conjunto de características de integridad del sistema que minimizan los daños intencionados o accidentales de otros programas. Por ejemplo, muchas instalaciones tienen diversas imágenes de z/OS y frecuentemente no permiten el acceso de usuarios de TSO/ISPF a los sistemas de producción.

En cualquier caso los controles de seguridad del z/OS pueden proteger los entornos de producción si se configuran convenientemente y prevenir que usuarios de TOS/ISPF (accidental o maliciosamente) Impacten el importante trabajo de producción.

2.4.2.1 Control de programas con privilegios (APF)

APF (authorized program facility) se emplea para permitir a la instalación la identificación de programas, ya sean de usuario o de sistemas, que puedan utilizar funciones sensitivas del sistema. Para mantener la integridad y seguridad del sistema, un programa debe estar autorizado por el APF antes de que pueda acceder a funciones restringidas, tales como ejecutarse en modo sistema. Ayuda a evitar riesgos de la integridad; siendo la instalación la que identifica qué librerías contienen funciones especiales. A estas librerías se les denomina librerías APF.

Un programa autorizado puede hacer virtualmente cualquier cosa que quiera. Es esencialmente una extensión del sistema operativo. Se puede poner en estado supervisor o con clave de sistema. Puede modificar los bloques de control del sistema. Puede ejecutar instrucciones privilegiadas (mientras esté en estado supervisor). Puede suspender el diario para cubrir sus trazas. Claramente esta autorización debe darse con moderación y monitorizarse cuidadosamente.

Una instalación puede utilizar el APF para identificar programas de usuario o sistema que puedan ejecutar funciones sensitivas de sistema. Por ejemplo, APF permite a una instalación restringir la utilización de rutinas sensitivas de SVC, a programas APF. También permite al sistema que cargue todos los módulos en un trabajo autorizado sólo de librerías autorizadas, para prevenir que programas puedan cargar módulos que no sean los correctos.

2.4.2.2 Control del acceso a memoria (Claves de protección de la memoria)

El hardware del System z tiene una función de protección de memoria, que se emplea generalmente para evitar la modificación no autorizada de la memoria. La protección de memoria también se usa para prevenir la lectura no autorizada de áreas de memoria, aunque el z/OS protege sólo pequeñas áreas de memoria de esta forma.

La protección de memoria trabaja con páginas de 4K. Trata sólo con memoria real, no virtual. Cuando una página de memoria virtual se copia del disco a una página libre de la memoria principal, z/OS aplica la adecuada clave de protección en dicha página.

La protección de memoria era mucho más importante cuando no existían los múltiples espacios de direcciones. Cuando varios usuarios y trabajos compartían un único espacio de direcciones (o estaban todos en memoria real antes aún), proteger la memoria del usuario para evitar la corrupción (o la lectura inapropiada) era esencial. Con el z/OS, la primera protección para la memoria de cada usuario es el aislamiento proporcionado por los múltiples espacios de direcciones.

Los programas de aplicación no pueden alterar las claves de protección de la memoria. No existe forma, utilizando la función de protección de memoria, de que un programa de aplicación normal (no un programa autorizado) pueda proteger parte de su memoria virtual de otras partes de la aplicación corriendo en el mismo espacio de direcciones.

Un bit adicional de protección de memoria (para cada página de 4K de memoria real) es el bit de protección de página. Este previene que incluso las rutinas del sistema (que corren con clave 0, lo que habitualmente les permite escribir en cualquier sitio) puedan

Page 19: Libro Blanco de System Z

IBM Corporation 21/02/2011 19 de 131�

almacenar datos en esa página. Este bit se utiliza generalmente para proteger páginas de la LPA de daños inadvertidos causados por las rutinas del sistema.

2.4.2.3 Control del uso de instrucciones privilegiadas (Llamadas al Supervisor (SVCs))

La ejecución de instrucciones en el sistema, está protegido por un mecanismo al que llamamos estados de ejecución.

Existen dos posibles estados: Estado problema y estado supervisor. La mayoría de las instrucciones se pueden ejecutar en estado problema, aunque hay algunas (referentes al uso de de registros de control, al uso de E/S, etc.…) que exigen estado supervisor.

Para evitar el uso indiscriminado del estado supervisor (por los riesgos que acarrea) existen unos APIs llamados SVC (Supervisor Calls) que fuerzan a los programas a utilizar las operaciones restringidas de manera controlada.

2.4.2.4 SAF

SAF (System authorization facility) es una interfaz definida por el MVS que permite a los programas utilizar servicios de autorización del sistema para controlar el acceso a recursos, tales como ficheros y comandos de MVS. SAF o bien procesa las autorizaciones de seguridad directamente o trabaja en conjunto con el RACF, u otro producto de seguridad, para llevarlas a cabo.

2.5 Rendimiento

Según la Real Academia de la Lengua, rendimiento es el producto o utilidad que rinde o da alguien o algo, o la proporción entre el producto o el resultado obtenido y los medios utilizados. Como siempre, en el lenguaje de los ordenadores estas definiciones no son exactas. Como rendimiento entendemos lo ‘afinado’ que está un sistema, si las expectativas que tenemos acerca de lo que puede proporcionar, se corresponden con la realidad, o más exactamente, si el tiempo de respuesta que conseguimos es el adecuado.

En un sistema operativo como el z/OS, que realiza múltiples aplicaciones, cada una con sus expectativas dispares, afinar el sistema no parece una tarea simple. Pero las facilidades que ha ido incorporando el z/OS a lo largo de los años hacen que cada día resulte más sencillo disponer de un sistema con un rendimiento inigualable.

Entre estas facilidades destaca el WLM, (Work Load Manager), que permite definir los objetivos de las aplicaciones en un lenguaje acorde con los compromisos de servicio pedidos por los usuarios (SLA’s). El WLM se encarga de proporcionar los recursos necesarios para conseguir los objetivos acordados.

También se dispone del RMF, que permite obtener informes, e incorporarlos a hojas de cálculo, para comprobar que se cumplen los objetivos y detectar posibles fuentes de problemas si es que se incumplen.

Page 20: Libro Blanco de System Z

IBM Corporation 21/02/2011 20 de 131�

2.6 Disponibilidad

La solidez1 se considera como una de las propuestas de valor más importantes de la plataforma, y los estrategas del negocio generalmente consideran System z como la plataforma más robusta.

Este apartado comienza con el debate sobre el coste del tiempo de parada y la necesidad de flexibilidad para luego continuar detallando las ventajas intrínsecas que convierten la plataforma System z en resistente, que incluyen:

• Las características fundamentales del hardware que hacen del System z una máquina capaz de proporcionar una disponibilidad fuera de clase.

• Funciones que ayudan a la empresa a eliminar las interrupciones planificadas tanto para los cambios de hardware como de software.

• Características de diseño del z/OS, Sysplex paralelo y GDPS, y cómo éstas mejoran la flexibilidad de la plataforma System z.

2.6.1 Construido para los negocios.

El coste de inactividad es alto, lo cual obliga a las empresas a intentar evitar cualquier tipo de paradas. Una empresa debe recuperarse rápidamente de todas las interrupciones, ya sean planificadas o no. Casi nada es peor que ser sorprendido por una caída del sistema, incluso si la duración de ésta son sólo algunos minutos. Considere cómo una interrupción inesperada, provocada quizás por una catástrofe natural o un fallo menor en el software, puede poner en juego las relaciones con los clientes, la productividad, y posiblemente millones de dólares, si aplicaciones y datos vitales quedan desprotegidos.

La resiliencia de los negocios, que se puede considerar como la capacidad de una empresa para seguir funcionando eficazmente ante errores informáticos o humanos y desastres que afecten a su IT, ha sido una de las tres propuestas de valor más importantes del centro de procesos, junto con la competitividad y el ahorro de costes. Los estrategas empresariales normalmente consideran el entorno System z como la plataforma más robusta, con cuya solidez se puede contar. Actualmente dicha solidez debe estar integrada con el resto de sistemas de la empresa para lograr los objetivos de resiliencia de los negocios. La plataforma System z, con sus características de disponibilidad y fiabilidad, es una plataforma ideal a partir de la cual construir una infraestructura robusta y desde la cual probar nuevas tecnologías y estrategias de resistencia.

Algunas plataformas pueden haberse diseñado originalmente para fines académicos u otros propósitos, pero la plataforma System z fue creada como una solución para las empresas. Durante los años, las tecnologías de resiliencia han evolucionado y se han ido incorporando al diseño fundamental del sistema z. Hoy, la plataforma z continúa innovando y mejorando su tecnología de resiliencia. La solidez es imprescindible para la línea de negocios de una empresa y el sistema z es la mejor plataforma para garantizar que los sistemas comerciales se mantendrán funcionando a lo largo de una recuperación ante un desastre, de una reparación o actualización, y también ante cambios en el software y las aplicaciones.

1 Solidez flexibilidad y resistencia se emplean como la traducción del término inglés ‘resiliency’, de difícil traducción en este contexto. Es la capacidad que tiene un sistema de recuperarse ante fallos imprevistos.

Page 21: Libro Blanco de System Z

IBM Corporation 21/02/2011 21 de 131�

2.6.2 Una solución para la operación continúa de los negocios.

La inactividad es costosa. El coste de las paradas es tan grande que muchas de las empresas de hoy ya no pueden permitirse las interrupciones, planificadas o no. Las estadísticas dicen que las empresas pueden perder entre decenas de miles a varios millones de dólares por hora de inactividad. Incluso más allá de los aspectos financieros, la inactividad también puede afectar a áreas clave como la fidelidad de los clientes, la competitividad en el mercado, y la conformidad legislativa. Por ejemplo, si un sitio Web no está accesible, los clientes de Internet irán a otra parte. La operación continua es un imperativo empresarial, y requiere tener lo mejor en tecnología robusta.

Algunas empresas deben parar sus sistemas para realizar actualizaciones planificadas, aplicar mantenimiento, o renovar sus servidores. Características incorporadas en la plataforma System z, sin embargo, permiten a las empresas evitar estas interrupciones planificadas. Además de ser una solución excelente para la eliminación de las paradas planificadas, System z es también una excelente plataforma para evitar interrupciones no planificadas. Con tecnologías tales como el Sysplex paralelo y GDPS, el System z proporciona una cobertura ante un desastre única en el mercado, pudiendo recuperar sus sistemas con un RTO y RPO preestablecidos, y ofreciendo procedimientos estándar ante fallos generales y la posibilidad de crear sus propios escenarios de una forma sencilla y comprobable.

2.6.3 Disponibilidad y fiabilidad de primera clase

Cada minuto, el ritmo de crecimiento de los negocios mundiales aumenta y el volumen de datos crece. Las empresas necesitan mantenerse operando 24x7 y superar problemas tales como un mayor tráfico en la red, picos de carga imprevisibles, y bases de datos difíciles de controlar. Los componentes del System z, hardware, firmware, middleware y los sistemas operativos están diseñados, y estrechamente integrados, para proporcionar un entorno de aplicación, con un nivel único en el mercado, para la alta disponibilidad. System z proporciona las mejores tecnologías para asegurar la disponibilidad y fiabilidad.

La disponibilidad del sistema puede medirse en distintos contextos. Una medida común es la disponibilidad de hardware contra las interrupciones no planificadas. Una medida más estricta de la disponibilidad examina las aplicaciones a nivel de usuario, incluyendo las interrupciones planificadas. Medir la disponibilidad desde la perspectiva del usuario requiere la consideración del hardware, OS, middleware y aplicaciones. El Sistema z se mantiene en las más estrictas medidas y puede lograr una disponibilidad de primera clase a nivel de usuario.

Page 22: Libro Blanco de System Z

IBM Corporation 21/02/2011 22 de 131�

2.6.4 Fortalezas del corazón del hardware.

El Sistema z, construido para la recuperación y la operación continuas, es un servidor de alta disponibilidad. El resultado de la atención a la solidez es un punto de diseño llamado tiempo medio entre fallos (MTBF). El sistema z está diseñado para ofrecer capa sobre capa de tolerancia a los fallos y puntos de comprobación de errores. Si se produce una anomalía, la redundancia construida en la plataforma cambia el trabajo desde el componente anómalo a otro operativo para evitar que la aplicación o el servicio de usuario queden interrumpidos. Además, los componentes que hayan fallado se pueden reemplazar mientras las aplicaciones están activas y siguen funcionando, eliminando tiempo de parada.

Los errores se pueden producir por muchas causas. Hay errores transitorios, debidos a las condiciones del medio ambiente como ruido o partículas cósmicas, y errores más permanentes, como fallos de hardware. Los productos de System z están diseñados para enfrentarse a estas diversas circunstancias. La detección y corrección de errores está construida dentro de la lógica para detectar errores en memoria y corregirlos. Tecnologías similares ayudan a encontrar los problemas en el primer momento posible y habilitan el entorno System z para que adopte las acciones necesarias para corregirlos, ayudando así a minimizar el impacto que puedan causar en las aplicaciones. La estrategia de System z también se centra en un diseño de recuperación de errores que los enmascare y los haga transparente a las operaciones del cliente. Una amplia tecnología de la recuperación está incorporada en el hardware.

A lo largo de los años, más y más dispositivos se han ido añadiendo para mejorar la solidez y flexibilidad el la plataforma System z. Las versiones más recientes, el hardware del sistema z9 y z10, incorporan tecnologías únicas que aplican las más modernas innovaciones en la tecnología de la resiliencia.

2.6.4.1 Redundancia

La redundancia es quizás el mecanismo más frecuente para garantizar la solidez, y es un tema clave en toda la plataforma System z. Los diseñadores del sistema z han trabajado a lo largo de los años para eliminar cualquier punto único de fallo. La plataforma tiene muchos componentes redundantes. Por ejemplo, hay dos tomas de corriente que permiten al sistema sobrevivir a la pérdida de uno de ellos. Hay dos MRUs (Módulo De Refrigeración de Unidades). El subsistema de servicios, la batería interna, el oscilador y todos los procesadores son redundantes. Considere un sistema z9 completamente lleno: 54 procesadores centrales, ocho SAP, dos CP de respaldo y 336 PowerPC para los canales FICON, Suman un total de 400 procesadores. Después de tener en cuenta la redundancia, ese mismo sistema podría tener 800 procesadores.

2.6.4.2 Eliminación de paradas planificadas mediante cambios concurrentes en el hardware

En el pasado, frecuentemente las empresas tenían que cerrar un sistema las noches de los sábados para realizar cambios o mantenimiento en el hardware. Hoy la plataforma System z elimina dichas paradas planificadas con su capacidad para cambiar el hardware sin que afecte a la aplicación. La capacidad de realizar cambios concurrentes ayuda al System z a dar servicio a sus usuarios en cualquier momento, 24x7, sin paradas planificadas para mantenimiento de los datos o del sistema.

En el mundo de los negocios actuales, los backups y el mantenimiento de los sistemas, tales como subidas de nivel o cambios, se deben realizar sin interrumpir las operaciones. Muchos componentes del System z se pueden mantener y subir de nivel de concurrentemente, incluyendo los procesadores, books, memoria, tarjetas criptográficas y canales de la CF. Incluso elementos no redundantes como las tarjetas

Page 23: Libro Blanco de System Z

IBM Corporation 21/02/2011 23 de 131�

de canal se pueden enchufar en caliente, y reemplazar sin ningún impacto en la aplicación.

2.6.5 Mas allá del hardware

La solidez del System z va mucho mas allá del hardware. El punto focal del diseño de la flexibilidad del System z son las aplicaciones, esto da como resultado un entorno integrado donde el hardware, firmware, sistema operativo y middleware trabajan en conjunto para proveer de disponibilidad a la aplicación y a los datos.

2.6.5.1 z/OS

El sistema operativo z/OS incluye un comprensivo conjunto de capacidades que provee, junto al hardware del System z, una calidad de servicio única. Con z/OS, la mayoría de los problemas quedan enmascarados totalmente de las aplicaciones, y en los casos en que el daño sea severo resulta en una degradación paulatina más que en una completa parada. z/OS tiene una disponibilidad, fiabilidad, escalabilidad, flexibilidad e integridad sin parangón. Más aún, lleva mucho tiempo siendo el servidor de referencia para servidores de datos y transaccionales, y también uno de los preferidos para aplicaciones Web que requieran la más alta calidad de servicio.

La filosofía del diseño del z/OS requiere un aislamiento, identificación y recuperación de los errores comprensible. Todos los componentes y subsistemas del z/OS disponen de rutinas de error. Más aún, todo el código del z/OS sigue unas guías que contienen un conjunto de normas para la disponibilidad y el servicio. Por diseño, si una aplicación falla, el trabajo puede continuar en un backup de la aplicación corriendo en el mismo hardware físico. Además, el z/OS provee de un dispositivo basado en políticas predefinidas por la instalación que permite la recuperación automática y el arranque de los servicios transaccionales.

El software del z/OS también tiene un compromiso total con la integridad. Utilizando técnicas tales como claves de memoria y múltiples espacios de direcciones, los datos y las funciones del sistema están protegidos contra accesos no autorizados. Con un two-phase-commit a nivel sistema, los datos de la aplicación del cliente se pueden recuperar incluso cuando ocurran fallos a nivel de hardware o software. Algunas funciones se diseñan además para soportar middleware clave, como el CICS, lo cual permite altos niveles de disponibilidad para la ejecución de transacciones.

2.6.5.2 z/VM

Además del principal sistema operativo, z/OS, el sistema operativo z/VM tiene muchas componentes internas para la solidez.

Aquéllos familiarizados con el Linux para el System z probablemente hayan oído la historia de ese usuario que arrancó, como ejercicio de prueba de concepto, miles de instancias de Linux en un procesador de z9.

Este hecho demuestra la gran escalabilidad de System z (número de máquinas de Linux es impresionante) y también, aunque sea menos espectacular, la fiabilidad demostrada por el z/VM: Cuándo el z/VM se queda sin recursos (cosa que, evidentemente ocurre al arrancar miles de instancias), no se cae, sigue funcionando a un nivel aceptable de rendimiento, repartiendo sus recursos de la mejor manera posible.

2.6.5.3 Eliminación de paradas planificadas.

Además de los numerosos métodos para evitar las paradas no planificadas, El System z tiene métodos para eliminar las pardas planificadas debidas a las subidas de firmware y a las reconfiguraciones.

Page 24: Libro Blanco de System Z

IBM Corporation 21/02/2011 24 de 131�

Clientes que tienen aplicaciones críticas, generalmente aquéllos que no disponen de un entorno Sysplex, tienen dificultades para encontrar el tiempo necesario para añadir nuevas funcionalidades. En el System z, un dispositivo conocido como ‘Enhanced Driver Maintenance’ (o ‘Concurrent Driver Upgrade’) permite a los clientes subir el firmware hasta el siguiente nivel sin impactar en el trabajo. El ‘Enhanced Driver Maintenance’ permite subidas del LIC para CP’s, IFL’s, ICF’s, zAAP’s, zIIP’s, memoria y adaptadores de E/S de forma transparente para la aplicación.

También es posible realizar reconfiguraciones de la E/S sin tener que planificar una parada. Esta capacidad de reconfiguración se denomina ‘Dynamic I/O Reconfiguration’, y permite añadir, borrar o modificar definiciones de canales, unidades de control y dispositivos de E/S a las configuraciones hardware y software.

2.6.5.4 Sysplex paralelo

El Sysplex paralelo se basa en la fortaleza del Systems z para dar incluso una mayor disponibilidad y flexibilidad a la hora de las paradas tanto planificadas como imprevistas. El Sysplex paralelo no es un producto, sino una serie de colaboración entre distintos sistemas z/OS. El enfoque único de cluster del Sysplex paralelo permite que la topología de escala de múltiples servidores parezca una única y masiva configuración de SMP (Symmetric Multiprocessing).

La arquitectura de Sysplex paralelo permite a un conjunto de System z’s la compartición de recursos, el balanceo de cargas y la compartición de datos para centros de datos a la carta, ofreciendo lo último en flexibilidad y soportando a la vez diferentes topologías de aplicación.

Podemos pensar en el Sysplex paralelo como si fuera una orquesta sinfónica, con cada clase de instrumento representando un producto distinto en el Sysplex. Hay varias de cada instrumento, igual que puede haber varias imágenes del mismo producto en un Sysplex. Todos los violines, por ejemplo, suenan igual y tocan la misma parte. Hay suficientes violinistas para que en caso de que uno caiga enfermo, no se vea afectado el concierto. Y si dicho violinista dimite, pueda ser reemplazado. De modo similar en un Sysplex, todos los sistemas, o un subconjunto de ellos, son similares y realizan el mismo trabajo. Un Sysplex exhibe análogas características de disponibilidad: un fallo o una desconexión planificada de un sistema del Sysplex no resultará en la pérdida de la aplicación o en la disponibilidad de los datos, sólo en una pérdida temporal de capacidad.

Otra ventaja de la tecnología del Sysplex paralelo es su capacidad para instalar o mantener hardware o software sin interrupciones. Se pueden quitar o añadir servidores mientras la aplicación continúa corriendo en otros sistemas. Diferentes sistemas pueden estar corriendo a distintos niveles de software, haciendo de este modo las modificaciones de software más fáciles. El software se puede modificar en un sistema mientras el resto permanece disponible. Los cambios más importantes de software se pueden realizar utilizando la técnica del “rolling IPL” durante la etapa de los cambios sin necesidad de interrumpir la disponibilidad de la aplicación.

Con la técnica de cluster del Sysplex paralelo y su habilidad para soportar la compartición de datos entre servidores, los arquitectos de IT pueden diseñar y desarrollar aplicaciones que tengan una vista integrada de los datos, eliminando efectivamente la necesidad de dividir las bases de datos. La compartición de datos del Sysplex paralelo ofrece la ventaja única de permitir el crecimiento de la base de datos sin interrupciones y con balanceo de cargas automático. En un entorno de bases de datos particionadas, el crecimiento de la base de datos o de la aplicación requeriría un tiempo de parada largo y un trabajo de re-particionado complejo. Las capacidades del Sysplex paralelo ayudan a evitar los obstáculos que se encuentran con la arquitectura de las bases de datos particionadas.

Page 25: Libro Blanco de System Z

IBM Corporation 21/02/2011 25 de 131�

El middleware del System z explota las capacidades del Sysplex paralelo para proporcionar una operación continua de las aplicaciones. CICS Transaccion Server, DB2 for z/OS, WebSphere MQ, WebSphere Application Server, IMS Transaction Manager, TCP/IP, VTAM, APPC/MVS, RACF son algunos de los productos de IBM que explotan la tecnología de Sysplex paralelo.

2.6.5.5 GDPS

Imagina por un momento una sala de operaciones de un centro medio inmediatamente después de un fallo básico del sistema. Los teléfonos suenan, los directores merodean para saber cuándo estará todo recuperado, los operadores buscan procedimientos, y los técnicos de sistemas se pelean con los operadores por el control de las consolas. Ahora imagina en su lugar un escenario donde la única operación manual requerida es confirmar si se debe continuar con un procedimiento de recuperación ya probado. Este escenario de recuperación suave, requiere una solución de negocio tal como la proporciona el GDPS.

GDPS, la solución principal de IBM para la alta disponibilidad, ofrece soluciones de continuidad tanto para fallos de sistema como para situaciones de recuperación ante desastres. Basado en la separación geográfica y en técnicas de automatización avanzadas, el GDPS es una aplicación multi-centros que ofrece la capacidad de manejar de forma remota la configuración de subsistemas de almacenamiento, automatizar tareas de operación del Sysplex paralelo y realizar la recuperación desde un único punto de control. Extiende la compartición de recursos, el balanceo de cargas y la disponibilidad continua del Sysplex paralelo. También mejora significativamente la capacidad de una empresa de recuperarse ante un desastre y otros fallos y mejorar las excepciones a los cambios planificados.

GDPS es una solución para entornos que necesiten proteger y minimizar los riesgos operacionales. Dos requerimientos de negocio claves que se deben tener en cuenta a la hora de analizar el GDPS son:

Recovery Time Objetive (RTO), el tiempo que un negocio puede permitirse esperar para que sus servicios de IT se recuperen después de que haya ocurrido un desastre.

Recovery Point Objective (RPO) que representa la cantidad de datos que un negocio debe recuperar en el caso de un desastre. Por ejemplo, para un RPO de seis horas, el objetivo podría ser restaurar los sistemas al estado en el que estaban seis horas antes.

Ambos, el RTO y el RPO son factores importantes a la hora de diseñar una solución de GDPS. Cualquier recurso que no pueda ser reemplazado en el RTO debería estar disponible en varias localizaciones, y esto no significa sólo edificios y hardware sino también empleados y datos. Clientes que desean un RPO de cero, es decir, que no se pierdan datos, requerirá una solución de copia remota síncrona, como la que provee el GDPS/PPRC, una de las diferentes soluciones del GDPS.

Además la tecnología de GDPS puede administrar un entorno heterogéneo de datos de z/OS y entornos abiertos. Esto es importante para la solución habitual de aplicaciones multi-tier que tienen dependencias de distintas arquitecturas de sistemas.

2.7 Gestión de Sistemas

Vamos a ver los principios de la administración de sistemas y su evolución desde un proceso casi manual hasta uno donde el ordenador se puede auto-adaptar y cambiar el sistema de acuerdo con políticas de negocio.

Page 26: Libro Blanco de System Z

IBM Corporation 21/02/2011 26 de 131�

2.7.1 Revisión de la administración de sistemas.

El entorno de IT es más complejo que nunca y los recursos que se requieren para administrar esos sistemas son cada vez más difíciles de encontrar. La creciente complejidad del hardware y el software de los sistemas modernos han alcanzado un punto en el que las personas no pueden, razonablemente, gestionarlos con los métodos tradicionales.

Administración de sistemas es la administración a lo largo de la compañía de los sistemas de ordenadores, incluyendo el hardware, los sistemas operativos, el middleware, las aplicaciones y los subsistemas de almacenamiento. La administración de sistemas consiste en los procesos, técnicas y herramientas que se requieren para manejar dichos sistemas. El hardware y software del System z ofrece un conjunto robusto de herramientas de administración para ayudar a los profesionales de IT a monitorizar, administrar y automatizar sus sistemas.

La administración de sistemas, una de las fortalezas del z/OS, proporciona uno de los pilares fundamentales que dan el valor añadido del z/OS. En el entorno de mezcla de tipos de trabajo que soporta el System z, los recursos del sistema se utilizan en una alta capacidad, eliminando recursos inactivos tales como CPU’s sin uso o memoria infrautilizada a la espera de que lleguen los datos.

El objetivo del sistema z/OS es que sea cada vez más fácil de utilizar, incrementar la disponibilidad de las aplicaciones y reducir los requerimientos y el coste de la administración del sistema proporcionando una solución ‘end-to-end’.

2.7.2 El valor de la administración de sistemas en el z/OS

z/OS tiene una larga historia en la administración de sistemas y esta es una de las fortalezas más valoradas del System z.

Aparte el System z tiene la habilidad de realizar el mantenimiento y la instalación tanto de hardware como de software de forma ininterrumpida en un entorno de Sysplex paralelo.

2.7.2.1 Alta disponibilidad y subidas de nivel

Con los sistemas configurados como un Sysplex paralelo, se pueden añadir o eliminar sistemas dinámicamente al conjunto, permitiendo la instalación de un nuevo hardware o el mantenimiento del existente. Mientras tanto, el resto de sistemas continúa el trabajo.

IBM también tiene una política de co-existencia que permite las subidas de hardware y software con hasta tres versiones previas de z/OS. Esto permite a los clientes añadir nuevo hardware sin necesidad de subir de nivel el sistema operativo en todas las máquinas del Sysplex.

El middleware de IBM también co-existe con la versión previa, dando a los arquitectos de software la oportunidad de decidir cuando cambiar el middleware basándose en las políticas de negocio y no en el momento del cambio del hardware.

z/OS también permite realizar mantenimiento de hardware y software de una manera escalonada, denominada ‘rolling’, de forma ininterrumpida. Esto permite a las empresas implementar funciones críticas para el negocio y reaccionar a un crecimiento rápido sin afectar a la disponibilidad del sistema.

2.7.2.2 Datos contables integrados.

Un centro de datos debe mantener un registro de sus recursos para poder determinar así sus gastos y que éstos puedan ser atribuidos a las distintas unidades de negocio.

Page 27: Libro Blanco de System Z

IBM Corporation 21/02/2011 27 de 131�

En el entorno distribuido se suele mantener el ratio aplicación/servidor uno a uno para que el centro de proceso pueda mantener este registro de gastos. Este modelo puede llegar a ser muy caro a causa de la baja utilización de los recursos de los sistemas, el aumento del espacio requerido, el crecimiento en la utilización de energía, etc. En el z/OS, si una aplicación está ociosa, los recursos se pueden dar a otra. El System Management Facility (SMF) proporciona un registro a nivel de sistema que permite distintas funciones. Entre ella destaca la de contabilidad, que permite atribuir a cada tarea la cantidad de recursos consumida. Cualquier componente del sistema, o programa que lo desee, puede hacer uso de la facilidad del SMF

La información que mantiene el SMF se puede utilizar para:

Facturar a los usuarios.

Informes de fiabilidad

Análisis de la configuración

Informes de la actividad de los discos

Analizar el uso de los recursos del sistema.

Auditar la seguridad del sistema.

Etc.

Para más información acerca del SMF, véase ‘z/OS VxRx MVS System Management Facilities’, SA22-7630

2.7.2.3 Administración de recursos

El Resource Measurement Facility (RMF) es el administrador y calibrador de los recursos estándar del z/OS. El RMF está diseñado para simplificar el manejo de uno o varios tipos de cargas. Con el RMF, se puede detectar un potencial cuello de botella antes y se pueden evitar o minimizar los retrasos que pudiera llegar a producir. El RMF utiliza los registros del SMF para realizar medidas de rendimiento y adaptar recursos tales como CPU, memoria, paginación, dispositivos de E/S, CF, cintas, memoria virtual, contenedores de XCF, colas del sistema….

El RMF proporciona los informes que se necesitan para entender el rendimiento de un Sysplex desde un único punto de vista. Utiliza objetivos integrados con los negocios para determinar si el sistema está alcanzando sus objetivos de rendimiento.

El RMF permite cargar sus informes en aplicaciones de hojas de cálculo e integrar datos históricos de rendimiento.

2.7.3 Iniciativa del ordenador autónomo de IBM

Los ordenadores no se convierten en autónomos de la noche a la mañana. Este es un proceso que evoluciona a lo largo del tiempo. Prueba y error van conformando las mejores estrategias. Para que un ordenador pueda ser autónomo, la lógica de estas estrategias debe estar incluida en la lógica del software. Los sistemas autónomos evolucionan a lo largo del tiempo a medida que los diseñadores de sistemas aprenden a predecir y arreglar los problemas. Los negocios incorporan los principios autónomos despacio en su infraestructura de IT. La madurez autónoma es un continuo de las propiedades auto-administrativas de un sistema. Existen cinco niveles de madurez autónoma: básico, administrado, predictivo, adaptativo y autónomo.

Page 28: Libro Blanco de System Z

IBM Corporation 21/02/2011 28 de 131�

Básico-Los profesionales de IP administran cada elemento de la infraestructura independientemente.

Administrado-Se utilizan técnicas de administración de sistemas para reunir información en menos consolas.

Predictivo-Se introducen procesos analíticos en el sistema para monitorizar las situaciones que surjan y se analizan éstas para proporcionar posibles cursos de acción, pero el profesional de IT decide lo que hay que hacer.

Adaptativo-El entorno de IT puede ejecutar acciones basadas en la información disponible y el conocimiento de lo que está sucediendo en el sistema.

Autónomo-Políticas de negocio y objetivos gobiernan la operación de la infraestructura de IT. Los profesionales de IT monitorizan los procesos de negocio, no los procesos de IT, y alteran los objetivos del sistema basados en las políticas de negocio.

En el mercado actual hay ejemplos de sistemas predictivos y adaptativos, pero la mayoría continúan en un nivel básico o administrado. z/OS está continuamente reforzando sus capacidades autónomas con el objetivo de llegar a un sistema totalmente autónomo.

Actualmente los productos de System z incorporan una amplia variedad de capacidades autónomas basadas en las cuatro características de los sistemas auto-administrados: auto-configurado, auto-reparador, auto-optimizante y auto-protegido.

2.7.4 Tecnologías auto-configuradoras.

z/OS no es todavía totalmente auto-configurado, pero sí dispone de ‘dynamic configuration’ lo cual significa que se puede cambiar la configuración mientras el sistema está activo.

Con la plataforma System z, un centro de procesos no tiene que subir de nivel el sistema operativo cuando añade una máquina nueva. El hardware de System z siempre podrá correr la release actual y las tres anteriores de z/OS. (Para el middleware es la actual y la anterior) Esto permite a los centros de procesos reducir la complejidad de las modificaciones pudiendo elegir actualizar primero el hardware y más tarde el software y el middleware.

El z/OS no requiere paradas para realizar cambios en la configuración incluso aunque haya más de una imagen en el sistema. Las tecnologías de auto-configuración no intentan simplificar la complejidad del z/OS, solo simplificar su configuración. El z/OS dispone de herramientas para ayudar en la configuración dinámica de los sistemas.

Las siguientes herramientas son algunas de las que sirven para ayudar a configurar el z/OS:

Ayudas del z/OS (z/OS wizards): Ayudantes que se encuentran en la web, pensados para dar consejos a la hora de parametrizar el sistema, basados en reglas de uso y prácticas reconocidas.

Configuración del hardware: Hardware Configuration Definition (HCD) es una parte integrada del sistema operativo. Proporciona una interfaz para configurar el subsistema de canales y los dispositivos conectados al hardware y al software.

Page 29: Libro Blanco de System Z

IBM Corporation 21/02/2011 29 de 131�

2.7.5 Tecnologías auto-reparadoras

Desde su concepción el z/OS ha incorporado filosofías auto-reparadoras y características de disponibilidad, fiabilidad y servicio. Los nuevos desarrollos en el z/OS tratan de mejorar estas características continuamente.

Entre estas técnicas podemos citar la automatización del Sysplex paralelo, basada en el “IBM Tivoli System Automation for z/OS” que proporciona elementos auto-reparadores para aplicaciones, sistema y recursos del Sysplex.

También podemos hablar del “IBM Health Checker for z/OS” que ayuda a simplificar y automatizar la identificación de problemas potenciales de configuración antes de que afecten a la disponibilidad del sistema o causen una caída. Compara los parámetros y valores del sistema activo con valores sugeridos por IBM o definidos previamente por la instalación. Es una herramienta preventiva que se está ejecutando continuamente, y alerta cuando parámetros y valores críticos varían. Provee al z/OS de capacidades predictivas.

2.7.6 Tecnologías auto-optimizadoras

Una de las ventajas fundamentales del z/OS es su habilidad para priorizar las cargas corriendo en el sistema para poder utilizar plenamente los recursos del sistema. El z/OS dispone de una larga historia en el área de auto-optimización en el manejo de cargas y virtualización. La virtualización de recursos en el z/OS significa que éstos se pueden dirigir a dónde quiera que éstos se necesiten, no a dónde estén conectados físicamente.

El “Workload Manager” y el DFSMS, son productos que proporcionan estas características de optimización al z/OS, así como el “Intelligent Resource Director”

2.7.7 Tecnologías auto-protectoras.

El aislamiento proporcionado a las aplicaciones por el z/OS es un factor diferenciador clave. Este aislamiento permite que las aplicaciones corriendo en el mismo sistema no se dañen unas a otras. El z/OS no es vulnerable a la sobreescritura de los búferes debido a dicho aislamiento.

“Intrusion Detection Services” es un ejemplo de las nuevas tecnologías que mejoran las características auto-protectoras del z/OS.

2.7.8 Administración de los sistemas End-to-end

IBM Tivoli System Automation para z/OS (SA z/OS) juega un papel importante en la automatización end-to-end dentro de la iniciativa de lBM de computación autónoma: aúna las cuatro caras del automatismo para proporcionar una infraestructura auto-administrada para el z/OS. SA z/OS puede ayudar a los clientes a manejar sistemas de z/OS aislados o en Sysplex paralelo, reduciendo la frecuencia y duración de los incidentes que puedan tener un impacto en la disponibilidad del IT.

SA z/OS ayuda a los clientes a simplificar la administración, minimizar los costes y maximizar la disponibilidad de las aplicaciones. SA z/OS es una solución de alta disponibilidad para aplicaciones críticas, proporcionando procesos auto-reparadores y automatización para la E/S, los procesadores y la operación del sistema. Los administradores del sistema definen el estado ‘deseado’ y el software monitorizará y aplicará la respuesta apropiada en el sistema si se desvía del estado deseado.

SA z/OS trae más de 40 plug-and-play módulos de políticas de automatización incluyendo IMS, CICS, Tivoli Workload Scheduler, DB2, mySAP, GDPS y WebSphere.

Page 30: Libro Blanco de System Z

IBM Corporation 21/02/2011 30 de 131�

Estos módulos se basan en las prácticas aconsejadas, experiencias de clientes y el conocimiento profundo de cada aplicación. Muchas aplicaciones comerciales y componentes del z/OS proporcionan una administración automática de mensajes ‘lista para usar’ que requieren un esfuerzo mínimo para su puesta en marcha y ayudan a conseguir una instalación de primer nivel. Esta poderosa política de mensajes soporta diferentes tipos de automatización para diferentes tipos de códigos de mensajes.

SA z/OS se puede usar como base para desarrollar una solución automática end-to-end para la administración de sistemas.

2.7.8.1 El valor del SA z/OS

La automatización en el entorno z/OS es importante hasta el punto de ser casi un requerimiento.

Una ventaja de SA z/OS es que convierte la automatización del Sysplex paralelo en una realidad. Maneja cualquier número de sistemas individuales y clusters desde un único punto de control, dispone de una interfaz amigable basada en Java, que permite agrupar los recursos, definir las dependencias y los objetivos a un nivel de Sysplex.

Otra ventaja de SA z/OS es que es auto-reparadora de acuerdo con políticas definidas. Reduce la complejidad, el tiempo de implantación, el código y el esfuerzo requerido para el mantenimiento a través de políticas de automatización que se pueden compartir o clonar a lo largo de todo el entorno. El beneficio de esto es que las políticas se construyen fácilmente usando variables de clonación y predefiniendo normas auto-configurables de los mensajes. Con AS z/OS se puede monitorizar el sistema a la búsqueda de señales de daños y aliviar dichas condiciones antes de que el daño pase a mayores. SA z/OS incluye información sobre rendimiento proporcionada por el IBM Tivoli OMEGAMON en el marco del proceso de automatización. Este marco permite informar proactivamente al técnico responsable de problemas con el rendimiento en el sistema y finalizar Jobs o mover cargas de acuerdo con las acciones apropiadas definidas en la política antes de que ocurra el daño.

SA z/OS se integra con otros productos de Tivoli incluyendo IBM Tivoli Enterprise Console y IBM Tivoli Business System Manager para proporcionar un complejo de automatización tanto para el sistema como para las comunicaciones.

2.7.8.2 Administración de los sistemas a nivel de empresa

IBM Tivoli System Automation for Multiplatforms utiliza un adaptador de infraestructura para integrarse con SA z/OS, permitiendo automatizar efectivamente aplicaciones compuestas que se expanden a través de distintos sistemas. Este es un punto único de alta disponibilidad para z/OS, Linux y IBM AIX. Permite consultar el estado, agregado y detallado, de los componentes de la aplicación, manejar todos los componentes de la aplicación con una única interfaz e incrementar la disponibilidad ayudando a resolver las dependencias cruzadas entre plataformas. SA z/OS en conjunto con SA for Multiplatforms permite establecer un equipo único para la operación y automatización de aplicaciones en z/OS, Linux y AIX. Esto simplifica en gran medida la determinación y resolución de problemas.

Page 31: Libro Blanco de System Z

IBM Corporation 21/02/2011 31 de 131�

3 Arquitectura System z. Plataforma HW

3.1 Conceptos de la arquitectura System z

La arquitectura System z se diseñó, desde su origen, con un concepto clave: COMPARTIR.

Esto compartir empezó en los componentes HW (primero la CPU, a continuación la memoria y por último la E/S y la red) y ha terminando compartiendo hasta los datos usados por los distintos sistemas de la plataforma.

Otra característica importante es la existencia de múltiples procesadores adicionales a los que figuran como tales.

Cuando se dispone de un procesador de 6 vías que accede a la red IP, que tienen acceso a dos baterías de discos y a un robot, estamos, no se dispone solo de las 6 vías del nombre, si no que se dispone de 12 procesadores mas para la E/S, otros dos para el acceso a la red y 4 o 6 mas para las tareas de cifrado y compresión.

Antes de ver un esquema más general, vamos a describir algunos conceptos clave en esta arquitectura. Son conceptos con significados diferentes según la arquitectura de que se trate. Esta ambigüedad puede llevar a error y eso se pretende evitar aquí.

3.1.1 Multiprogramación/Multiproceso/Multithreading

Los primeros sistemas operativos en los predecesores de System z eran mono programa. Sin embargo muy pronto apareció la necesidad de compartir la CPU entre más de un usuario y en la actualidad todos los sistemas son multiprograma, es decir son capaces de ejecutar más de un programa simultáneamente.

Cuando un trabajo no puede usar el procesador por la razón que sea (porque esta esperando por una operación de E/S asíncrona, por ejemplo) la multiprogramación, permite suspender el trabajo y liberar, por tanto, el procesador para ejecutar instrucciones de otro trabajo. Cuando la operación asíncrona de E/S termina, el segundo trabajo se interrumpe y el primero vuelve a estar listo para usar la CPU.

Los sistemas operativos pueden repartir de este modo la CPU porque capturan y salvan toda la información de estado del programa que se interrumpe antes de quitarle el control. De esta manera, son capaces de restaurar al punto exacto de ejecución en que se quedó.

EL rendimiento de la multiprogramación está muy relacionado con el ‘como’ y el ‘donde’ se salva el estado del programa interrumpido.

El como es con una mezcla de HW/SW llamado PSW Switch que será descrito más adelante.

El donde es en los distintos niveles de Cache del sistema. Cuanto mas memoria cache haya y mas próxima esté al procesador, mas posibilidad hay de que los datos de una ejecución, se restauren con un consumo mínimo de ciclos de CPU.

Cuando una máquina tiene múltiples procesadores, el sistema operativo soporta multiproceso que es la capacidad de que múltiples procesadores procesen instrucciones de de varios programas simultáneamente.

Page 32: Libro Blanco de System Z

IBM Corporation 21/02/2011 32 de 131�

Para que esto sea posible, tiene que ocurrir que los procesadores compartan los distintos recursos HW necesarios, como memoria y disco externo.

El multiproceso permite tanto la multiprogramación (un procesador ejecuta varios programas simultáneamente), como la ejecución en paralelo (un único programa puede utilizar distintos procesadores a la vez para hacer trabajo en paralelo).

El entorno System z soporta multiprogramación y multiproceso desde hace muchos años, prácticamente desde sus orígenes.

La carga típica de un Mainframe es una mezcla de gestores de BBDD (que son tareas ‘long running’) y que actualizan millones de registros mezclado con programas ‘batch’ y con aplicaciones ‘online’ usadas por miles de usuarios.

3.1.1.1 Multiproceso en z/Architecture

z/Architecture® define que un procesador puede procesar una corriente de instrucciones, y solo una, en cada instante de tiempo.

z/Architecture está documentada en el manual: ‘Principles of Operation, A22-7832-04.

Este manual define el HW System z incluyendo las instrucciones y los recursos requeridos para usarlo.

Cuando se añaden mas procesadores a un servidor, cada procesador comparte la memoria del mismo y procesa su corriente de instrucciones simultáneamente, y de forma independiente, de los otros procesadores.

Hay instrucciones de z/Architecture diseñadas específicamente para asegurar la integridad en un entorno multiproceso; estas instrucciones pueden ser usadas por los sistemas operativos (por ejemplo z/OS) para implementar el mecanismo de ‘locking’ que protege, entre otras cosas, el acceso a ciertos campos de memoria compartida externa.

Una única instancia del sistema operativo maneja todos los procesadores, y es el responsable de asignar trabajo a un procesador disponible. Si un procesador falla, el HW de z10 asignará uno de reserva y el trabajo continuará sin interrupción.

3.1.2 Mecanismo de interrupciones

La multiprogramación en System z está basado en un esquema de interrupciones.

La multiprogramación requiere que exista alguna técnica para cambiar el control de un programa a otro para que, por ejemplo, cuando el programa A esté esperando a que una petición de E/S se complete, el programa B pueda ejecutarse.

En el z/OS esto se consigue a través de las interrupciones, que son eventos que alteran la secuencia en la cual el procesador ejecuta las instrucciones. Cuando ocurre una interrupción, el sistema salva el estado de la rutina interrumpida y analiza el proceso de interrupción.

Una interrupción puede ser planificada, es decir solicitada por un programa en ejecución, o no planificada, es decir causada por un evento que no necesariamente tiene relación con el programa en ejecución.

Como ejemplo de las planificadas están las que necesitan la ejecución de rutinas especiales del sistema. Bien para operaciones especiales (llamadas al supervisor o

Page 33: Libro Blanco de System Z

IBM Corporation 21/02/2011 33 de 131�

SVC) o para intentar solucionar o al menos recopilar datos cuando hay algún error. Estas últimas se llaman interrupciones de programa.

Son no-planificadas, las de E/S que se producen cuando ha terminado una operación de E/S asíncrona, las de Restart que se produce cuando el operador selecciona la opción Restart, y las Externas que incluyen diversos eventos externos, como una llamada desde otra CPU o la expiración de un intervalo de tiempo.

También son no-planificadas las que se producen cuando hay un error de máquina.

A modo de anexo se incluye una descripción de los distintos tipos de interrupciones

El z/OS utiliza los siguientes tipos de interrupciones:

1. Llamadas al supervisor o interrupciones SVC. Estas interrupciones ocurren cuando el programa lanza una SVC para pedir un determinado servicio del sistema. Una SVC interrumpe el programa que se está ejecutando y da el control al supervisor para que pueda realizar el servicio requerido. Los programas piden estos servicios a través de macros tales como OPEN (abrir un fichero), GETMAIN (obtener memoria), o WTO (escribir un mensaje al operador del sistema).

2. Interrupciones de E/S. Estas interrupciones ocurren cuando el subsistema de canales señala un cambio de estado, tal como la finalización de una operación de E/S, la ocurrencia de un error, o que un dispositivo de E/S, tal como una impresora, está listo para empezar a trabajar.

3. Interrupciones externas. Estas interrupciones pueden indicar varios acontecimientos, tales como la expiración de un intervalo de tiempo, una interrupción desde la consola, o que el procesador reciba una señal desde otro procesador.

4. Interrupciones de reinicio (Restart interrupts). Esta interrupción ocurre cuando el operador selecciona la función ‘RESTART’ en la consola o cuando la instrucción restart SIGP se recibe desde otro procesador.

5. Interrupciones de programa. Estas interrupciones son causadas por errores de programa (por ejemplo que el programa intente ejecutar una operación inválida), ‘page faults’ (el programa referencia una página que no está en la memoria central), o pide monitorizar un suceso.

6. Interrupciones de error máquina. Estas interrupciones las causa un error del procesador y su resolución termina en asignación de un procesador de reserva en sustitución del que ha fallado.

3.1.2.1 Uso de las interrupciones para controlar la secuencia de ejecución

Para identificar y mantener un registro de su trabajo, el z/OS representa cada unidad de control con un bloque de control. Existen dos tipos de bloques de control: ‘Task control blocks’ o TCB’s, que representan tareas ejecutándose dentro de los espacios de direcciones y ‘service request blocks’ o SRB’s que representan servicios de sistema cuyo ámbito no se restringe a un solo A.S..

Después de que se ejecute la interrupción, el sistema operativo determina qué unidad de control (de entre todas las presentes en el sistema) está lista para ejecutarse y tiene la prioridad más alta, entonces le pasa el control.

Page 34: Libro Blanco de System Z

IBM Corporation 21/02/2011 34 de 131�

En la arquitectura System z, y cuando el sistema operativo es z/OS, el control del procesador esta implementado con el uso de una zona de memoria en la que se indica la siguiente instrucción a ejecutar y las direcciones donde se encuentran los datos, así como información de control. Esta zona de memoria se llama PSW (Program Status Word) y existe una por cada procesador.

Es un área de 128 bits en la que además de la siguiente instrucción a ejecutar, indica las condiciones de ejecución, por medio de diversos bits. Indican, por ejemplo si la secuencia de instrucciones puede ser interrumpida o no o incluso que tipo de interrupciones se admiten y cuales no.

La siguiente tabla indica los bits más representativos:

6 Habilita las interrupciones de E/S

7 Habilita las interrupciones externas

8-11 Clave de memoria

15 Estado privilegiado o de usuario

31-32 Modo de direccionamiento: 16, 31 o 64 bits

Cada tipo de interrupción tiene una zona de memoria asociada que consta de dos partes:

La llamada PSW vieja que es donde se guarda el contexto (la PSW) del programa que se estaba ejecutando cuando la interrupción se produjo.

La llamada PSW nueva que es la que se carga como activa cuando se produce la interrupción. Esta contiene la dirección y las condiciones de ejecución de la rutina asociada con la interrupción.

En un sistema de multiprogramación, casi cualquier secuencia de instrucciones puede ser interrumpida para ejecutarse más tarde. Si dicho conjunto de instrucciones está manipulando o modificando un recurso (por ejemplo, un bloque de control o un fichero), el sistema operativo debe impedir que otros programas usen ese recurso hasta que el programa interrumpido haya completado su proceso sobre dicho recurso.

El z/OS asegura la integridad mediante los métodos de serialización de encolamiento (GRS) bloqueo (lock) y una tercera técnica llamada latching.

Todos los usuarios pueden usar el encolado pero sólo rutinas autorizadas pueden usar el bloqueo para la serialización de los recursos.

3.1.3 Virtualización

Como se ha visto en el capítulo anterior, la capacidad de compartir todos los recursos esta basada en una de las características más importantes y básicas del diseño de System z. System z es una arquitectura virtual y que nació vi rtual.

Page 35: Libro Blanco de System Z

IBM Corporation 21/02/2011 35 de 131�

Es un concepto que, en la actualidad, está muy extendido y que se podría definir como la técnica de esconder las características físicas de los recursos a los usuarios de dichos recursos.

Por ejemplo, cada sistema operativo ejecutándose en una partición lógica de la plataforma System z ‘cree’ que tiene acceso exclusivo al HW. La técnica de virtualización esconde el hecho de que ese HW esta siendo compartido por todas las particiones lógicas.

Como se ha dicho mas arriba, la virtualización no es un añadido a la plataforma. z/Architecture contiene facilidades tanto en el HW como en le SW base (sistemas operativos) que facilitan la compartición de los recursos. Todos los elementos de System z contienen componentes que facilitan la virtualización.

Virtualizar el entorno System z, implica crear sistemas virtuales (Particiones lógicas y máquinas virtuales) y asignar recursos virtuales, como memoria, capacidad de proceso, capacidad de E/S o capacidad de networking a dichos sistemas. .

Los recursos se pueden añadir o quitar dinámicamente a estas particiones lógicas mediante el uso de comandos de operador.

Aunque se hablará mas adelante, también el HW real se puede añadir en muchos casos dinámicamente. Tanto CPU como memoria como E/S.

El particionamiento lógico y las máquinas virtuales, incrementan, por tanto, la flexibilidad al permitir que recursos físicos se añadan o quiten de manera dinámica y no disruptiva de los sistemas virtuales.(LPAR o Virtual machines) activos y en uso.

El esquema de virtualización de los sistemas actuales, suele corresponder a uno de los siguientes tipos:

• Particionamiento HW . El servidor se subdivide en fracciones, cada una de ellas con su parte de CPU, Memoria y E/S. En cada una de estas fracciones se ejecutan instancias diferentes del sistema operativo.

• Hypervisor Bare Metal . Los recursos son propiedad de un SW Hypervisor que se ejecuta directamente en el HW y que reparte los recursos entre los usuarios

Hypervisor Hosted . Lo mismo que el anterior pero el SW hypervisor necesita ejecutarse en un SO que es el propietario de los recursos.

Los dos esquemas de virtualización de System z son del segundo tipo.

En la figura se describen las capacidades de virtualización de System z

Page 36: Libro Blanco de System Z

IBM Corporation 21/02/2011 36 de 131�

3.1.4 Otras características importantes del HW

Para finalizar esta sección algunas peculiaridades más:

• Registros . Son zonas de memoria especiales con misiones específicas. Una de sus misiones es contener las direcciones de memoria virtual, tanto las de las operaciones como las de los datos.

• Instrucciones . Son el conjunto de instrucciones que el microcódigo de System z suministra. Son las que usa tanto los S.O como el middleware. Están publicadas en el manual ‘Principles of Operation’. Este juego se va ampliando de manera integrada con las modificaciones en el HW. Esta es la razón de que exista una sinergia tan grande en System z entre el HW y el SW base. Las mejoras en el HW de z10 fueron acompañadas por la inclusión de 50 instrucciones más en el juego de instrucciones.

• Direccionamiento de 24, 31 y 64 bits. System z soporta el direccionamiento en los 3 modos de modo que al mismo tiempo que sirve aplicaciones con grandes necesidades de memoria (64 bits) permite seguir ejecutando sin inversión adicional programas escritos para 24 bits sin modificación ni migración. Este último hecho forma parte del compromiso de protección de la inversión en System z

3.2 Componentes y sus características

System z como todos los sistemas esta construido a partir de componentes HW. La mayoría de estas componentes se incluyeron en el diseño inicial en los años 60/70 y se han ido mejorando y desarrollando a lo largo de los años .

La siguiente figura es un diagrama esquemático de estas componentes

3.2.1 Z10

El modelo de HW actual es el 2097 y se fabrican 2 modelos: z10 EC de 1 a 64 procesadores y el z10 BC de 1 a 10 procesadores.

3.2.1.1 System z frames and cages

Jaula o ‘cage’ es la estructura en la que se insertan los distintos componentes. Hay dos tipos:

1. CEC cage: Contiene las processor units (PU), la memoria física y conectores a las otras jaulas.

2. I/O cage: Contiene las tarjetas de canal que conectan con los dispositivos externos.

Los sistemas se componen de una jaula tipo CEC y de 1 a 3 jaulas de E/S.

3.2.1.2 System z book.

El concepto de book viene de la generación n-3. Un book contiene procesadores, memoria y la conexión a la ‘jaula’ E/S.

Los books están insertados en la jaula del CEC. Cada System z contiene de 1 a 4 books, y cada uno contiene:

Page 37: Libro Blanco de System Z

IBM Corporation 21/02/2011 37 de 131�

� 16 unidades de proceso (PU). De estas se emplean algunas para dedicarlas a las operaciones de E/S y siempre existe algún procesador de reserva (spare). Por eso aunque, teóricamente, la capacidad máxima es de 64 procesadores, el modelo mayor dispone de 54 procesadores, ya que el resto se dedican a funciones de reserva y de E/S.

� 16 a 128 GB de memoria física

� Hasta ocho ‘memory bus adapters’ que son los responsables de la conectividad a la jaula de la E/S.

En la figura se ve un book de z10

3.2.2 Procesadores

La unida de proceso (processing unit (PU)) es el corazón de cualquier HW. La plataforma System z tiene una unidad de proceso única con su propio conjunto de instrucciones

Las unidades de proceso están basadas en un chip de cuatro PUs organizadas de acuerdo al siguiente esquema:

Estos procesadores son ayudados por otros dos (COP en la figura) que están especializados en servicios de compresión y cifrado. La función de cifrado se llama CP Assist for Cryptographic Function (CPACF) y permite:

• Cifrar y descifrar con protocolos DES/TDES/AES. El resto de protocolos utilizan la tarjeta Crypto Express de la que se hablará mas adelante.

• Algoritmos de generación de MAC, hashing seguro y generación de números Pseudo Random.

Page 38: Libro Blanco de System Z

IBM Corporation 21/02/2011 38 de 131�

Hay diferentes tipos de Pus, aunque todas ellas usan el mismo chip. Se caracterizan como distintos tipos dependiendo del uso.

Si un proceso está sin caracterizar, esta como disponible. Si ocurre un fallo de HW en cualquier tipo de procesador, el sistema caracteriza uno de los disponibles con el mismo tipo y lo sustituye.

En z10, existen los siguientes tipos de procesador:

• Central processor (CP). Este es el procesador básico y en el se ejecutan los Sistemas Operativos y las aplicaciones. Si existe algún procesador de otro tipo, parte de ese trabajo se descargará.

• Integrated Facility for Linux (IFL). Es un CP en el que solo se ejecuta Linux o z/VM con guest Linux. Este tipo de procesador no se tiene en cuenta para el cálculo del coste SW.

• System z Application Assist Processor (zAAP). Los zAAP los usa la IBM Java Virtual Machine (JVM™) para ejecutar código JAVA. Lo mismo que con los IFLs, lo que se ejecute en zAAP no contribuye al coste de SW.

• System z Integrated Information Processor (zIIP). Los zIIP están pensados, principalmente, para descargar parte del proceso de acceso a los datos (DB2), aunque no es el único. También ejecuta código de cifrado, XML, etc. Igualmente, lo ejecutado en zIIP no contribuye al cálculo del coste HW.

• Integrated Coupling Facility (ICF). Estos procesadores solo ejecutan un código especial : Coupling Facility Control Code (CFCC). Es el código de control de la memoria externa en la que esta basado el clustering (que en System z se llama SYSPLEX)

Spare Es una PU sin caracterizar y disponible para, en caso de error en cualquiera de los otros, sustituir al procesador que falla adquiriendo su caracterización. Forma parte del diseño N+1.

Procesador SAP. En cada máquina System z existe, al menos, un procesador SAP. Este no esta disponible para los Sistemas operativos aunque está en los mismos Chips que el resto. Este procesador ejecuta un código interno que es parte del subsistema de E/S del servidor. Esto descarga de los procesadores centrales el trabajo de comunicación con los canales, dejando disponibles los mismos para la ejecución de las aplicaciones. La unidad de instalación en el z10 es el book. Del total de Pus (entre 17 y 20) se activan las contratadas, pero el resto están. Eso hace que se pueda añadir potencia de forma dinámica. Ante un pico de demanda, ante la necesidad de absorber la carga de otra máquina bien por parada planificada o por error, es necesario a veces poder disponer de memoria adicional sin depender del suministrador. En z10, existen varias opciones de Capacity On Demand que permiten dicha flexibilidad.

3.2.3 Memoria

3.2.3.1 Memoria Central

Los sistemas z utilizan módulos DIMM (Dual In line Memory Module) de 4 GB u 8 GB. La suma total disponible por book es de 384 GB lo que da, en los modelos actuales, un total por máquina de 1,5 TB.

Page 39: Libro Blanco de System Z

IBM Corporation 21/02/2011 39 de 131�

Esta memoria se reparte entre las particiones, aunque algunos sistemas operativos como el z/OS permiten reservar memoria para ser asignada a otra partición en caso de necesidad.

También la memoria se instala en módulos completos permitiendo la posibilidad de añadir memoria de forma dinámica, activando la que ya se encuentra instalada.

3.2.3.2 Memoria Cache

Además de la memoria central, existen una serie de niveles de cache que permite un mayor rendimiento en el acceso de las Pus a los datos.

Cuanto mas cerca estén los datos de las unidades de proceso, menos ciclos de máquina se desperdiciarán a la espera del dato y, por tanto, mayor será el rendimiento global.

En las máquinas z10 existen varios niveles de Cache:

Asociados a la PU

Nivel 1. 64K para instrucciones y 128K para datos

Nivel 1.5 3MB

Asociados al Book y compartidas entre las Pus que contiene

Nivel 2 2 Cache de 24 MB cada una. En total 48 MB

3.2.3.3 Memoria Compartida (Coupling Facility)

Procesador especializado y memoria dedicada para compartir la información entre las imágenes de un Sysplex.

3.2.4 E/S

3.2.4.1 Subsistema de canales

Una de las mayores fortalezas de los Mainframe es su capacidad para manejar un gran número de operaciones de E/S simultáneas. Esta capacidad proviene en gran parte de la existencia de un subsistema especializado así como del uso de procesadores específicos (SAP y canales)

Como se ha dicho mas arriba, esto permite simultanear la ejecución de las aplicaciones con el proceso de la E/S.

El subsistema de canales o CSS (channel subsystem ) maneja el flujo entre los dispositivos de E/S y la memoria.

SAP usa la configuración de E/S para saber encaminar la petición por el canal correspondiente al dispositivo de destino.

Los canales controlan la transmisión del dato entre la memoria y el dispositivo. Suelen ser compartidos entre todas las particiones que existen en un sistema.

Page 40: Libro Blanco de System Z

IBM Corporation 21/02/2011 40 de 131�

Hay canales de varios tipos:

• Acceso a almacenamiento externo (SAN)

o Canales ESCON. Son los mas antiguos y se mantienen por compatibilidad con dispositivos antiguos. Usan conexiones de fibra y el protocolo de transmisión es de tipo Full dúplex.

o Canales FICON. Existen de distintas velocidades (en la actualidad con un máximo de 8 GB/S). La gran mayoría de los dispositivos tienen adaptadores para este tipo de canal y se pueden configurar de dos maneras:

� Como canales FICON para los dispositivos que manejen z/OS y z/VM.

� Como dispositivos FCP para dispositivos con Adaptadores SCSI. Esto permite a los usuarios de Linux, acceder a ambos mundos. A dispositivos FICON virtualizados por el z/VM o a dispositivos SCSI directamente o bajo z/VM

• Acceso a la Red Ethernet

o Canales OSA. La tarjeta OSA (Open System Adapter) conecta el System z con la red Ethernet. Es usada principalmente por el TCP/IP y además de proveer la conexión con el mundo exterior, descarga al TCP/IP de ciertas funciones, como por ejemplo la segmentación de mensajes.

• Comunicación con la Memoria externa (Coupling Facility)

Son canales que se manejan con distintos protocolos y que conectan los sistemas a la memoria externa. Hay de varios tipos dependiendo de la conectividad y del protocolo usado.

o ICB (Integrated Cluster Bus) La conexión es de cobre y tiene, por tanto limitación de distancia. Es el que da mas velocidad y mas ancho de banda

o ISC (Inter System Coupling). La conexión es de fibra y se propaga a más distancia. No obstante su ancho de banda y su velocidad son menores.

o IFB Infiniband. En la última versión se ha empezado a utilizar el estándar Infiniband para la conexión a la memoria externa. La conexión es de fibra como en ISC, pero el protocolo es distinto.

3.2.4.2 Control units y dispositivos

Los dispositivos de almacenamiento que se acceden desde System z pueden ser, tanto los tradicionalmente soportado por el Sistema operativo z/OS y con protocolo exclusivo, como los accedidos desde Linux en z que se acceden con protocolos mas estándar.

En su origen, los dispositivos disponibles para el predecesor de z/OS necesitaban una unidad de control especializada en su manejo. Además los dispositivos de acceso directo (o discos) tenían una tecnología de discos accedidos en paralelo que formaban pistas y cilindros.

Page 41: Libro Blanco de System Z

IBM Corporation 21/02/2011 41 de 131�

Aunque el z/OS sigue trabajando con pistas y cilindros, en la actualidad el z/OS soporta loas llamados EAV (Extended Adres Volumes) que permiten acceder sin las limitaciones de la antigua tecnología a los datos residentes en la nueva.

Al mismo tiempo, y fiel a su política de ‘backward compatibility’, se pueden seguir ejecutando los programas antiguos que siguen creyendo que sus datos residen en los antiguos dispositivos.

3.2.5 Time-of-Day clock Cuando hay proceso cooperativo de varios sistemas (como ocurre en la mayor parte de las instalaciones System z) es importante que todos ellos tengan sincronizados sus relojes internos con un alto nivel de precisión, ya que los tiempos que se manejan están entre los nanosegundos y los microsegundos. STP (Server Time Protocol) es una facilidad que se incluye en el microcódigo para la sincronización de tiempos. Es una versión para System z del protocolo NTP que está ampliamente difundido. La comunicación entre sistemas se hace utilizando las conexiones con la memoria externa o CF(Coupling Facility), ya que la existencia de la CF es condición imprescindible para el proceso cooperativo.

Para las aplicaciones multiplataforma que necesitan coordinación de tiempos con el resto de servidores, el STP puede actuar tanto como servidor (dando la hora al resto de servidores) como siendo cliente(y tomando la hora del servidor de tiempos que se defina).

3.2.6 CP Assist for Cryptographic

En System z las capacidades de seguridad están integradas en el HW. Además de las tarjetas criptográficas, existen coprocesadores especializados en el cifrado que forman parte del chip en que residen las Pus.

Estos procesadores son llamados “CP Assist for Cryptographic”

3.2.7 HiperSockets Se llama HiperSockets a la tecnología que provee conexión TCP/IP de gran velocidad entre servidores de distintas LPAR de la misma máquina. La comunicación se establece utilizando la memoria de la máquina, con lo que se evita la salida al exterior y se ahorra, por tanto, la latencia de la red.

3.2.8 Hardware Management Console (HMC)

El HW System z se puede manejar desde el Support Element (un Thinkpad conectado directamente al chasis y al que se accede abriendo la puerta del 2097, o desde la Hardware Management Console (HMC), que es una aplicación Desktop basada en linux que suministra la Interfaz de usuario para controlar y monitorizar el estado del sistema.

Trabajando desde la HMC, los operadores, los técnicos de sistemas o el personal técnico de IBM pueden efectuar las operaciones básicas en los servidores System z.

Las operaciones más comunes son:

Cargar la configuración HW

Cargar o restaurar un sistema (z/VM, z/OS, …)

Cambiar la configuración de las LPAR.

Page 42: Libro Blanco de System Z

IBM Corporation 21/02/2011 42 de 131�

Modificar el HW(añadir o quitar CPs, canales, etc.). La mayor parte de estas modificaciones son dinámicas.

Acceder a los Logs de HW

Comprobar el uso de los CPs y los Canales.

Comprobar el consumo de energía

La HMC esta conectada al servidor(es) a través de una red IP privada.

Aunque habitualmente existen 2 HMCs por redundancia, desde una sola HMC se puede controlar todo el HW que exista en la red. Todos los servidores y las particiones lógicas definidas en los mismos así como toda la E/S asociada.

3.2.9 Detalles de virtualización del HW

3.2.9.1 PR/SM y Particiones Lógicas (LPAR)

Procesor Resource/Systems Manager™ (PR/SM™) es un hypervisor integrado con todas las componentes de System z que mapea los recursos físicos en lógicos para que las distintas LPARs los puedan utilizar de manera simultanea .

Esta componente permite agregar recursos de un tipo (por ejemplo CPs) en ‘pooles’ desde los que los usuarios virtuales reciben los recursos virtuales.

Esta es una característica muy importante y crucial para permitir una consolidación de cargas que permita un uso más efectivo de recursos. Es decir que aumente el porcentaje de ocupación de los recursos manteniendo el rendimiento.

PR/SM permite el particionamiento lógico del z10 en diversos z10 virtuales denominados LPARs (Logical PARtition).

EL PR/SM mantiene el aislamiento entre las diversas LPAR, lo que permite usar las LPAR como si fueran máquinas separadas. Tanto desde el punto de vista de la integridad de datos y procesos como desde el punto de vista de la seguridad lógica, Los estándares de seguridad EAL han dado la ‘calificación’ de EAL5 al particionamiento lógico.

Cada LPAR (hasta 60 en el z10) ejecuta su propio sistema operativo (cualquiera de los que soporta el HW: z/VM®, z/OS, Linux on IBM System z, z/TPF, z/VSE)

PR/SM virtualiza los procesadores y la E/S, mientras que la memoria es virtualizada por los sistemas operativos.

Gestión de la CPU por el PR/SM

Cada partición lógica (LPAR) es definida con un peso. Este peso determina el porcentaje de la máquina que se le asegura en caso de que, con cargas altas, haya más de una LPAR compitiendo por el uso de los procesadores.

Este peso es siempre un mínimo aunque en caso necesario puede ser también un máximo si establecemos la condición de ‘capped’ para esta partición.

Estos pesos son fijos y el operador los puede cambiar de forma dinámica.

Si se necesita que la distribución de estos pesos vaya variando con el tiempo y ajustándose a los SLAs de las cargas, se puede utilizar el IRD (Intelligent Resource Director)

Page 43: Libro Blanco de System Z

IBM Corporation 21/02/2011 43 de 131�

Este, extiende el control de la gestión de cargas por objetivos de rendimiento en una LPAR (WLM) al control de los pesos de las particiones así como del nivel de multiprogramación requerido (número máximo de procesadores lógicos)

El IRD es también capaz de gestionar la prioridad en la E/S para conseguir los objetivos de rendimiento.

3.2.9.2 Virtualización de E/S

La virtualización de E/S permite a las LPARs compartir los mismos canales de acceso al exterior.

De esta manera las distintas particiones pueden acceder de manera concurrente tanto al almacenamiento (discos y cartuchos) como a la red.

La virtualización hace que cada LPAR crea que tiene uso exclusivo y es el microcódigo quien se encarga de ordenar dicho acceso.

La componente del microcódigo dedicada a esta virtualización se llama EMIF.

3.2.10 Hiperdispatch

Es una función que permite mejorar el rendimiento aumentando las posibilidades de que el dato que necesita una instrucción se encuentre en la memoria cache más próxima.

El Hiperdispatch tiene dos componentes, una HW (o microcódigo del PR/SM) y otra SW (en el dispatcher del z/OS).

La primera aplantilla una CPU lógica sobre una física utilizando un algoritmo que busca la reutilización del primer nivel de cache. Es decir siempre busca aplantillar la CPU lógica sobre la última física en la que se ejecutó. En caso de que no esté disponible, aplantilla sobre otra. En ningún caso hace esperar por esta causa.

Esta es la componente HW.

La componente SW (el dispatcher o repartidor de la CPU) divide los procesadores lógicos en grupos de cuatro y asocia a cada grupo un conjunto de tareas.

De esta manera cada tarea tiene mas probabilidades de ejecutarse en la misma CPU lógica, que a su vez se procura aplantillar sobre la misma física, de manera que los datos que había referentes a la tarea en los distintos niveles de cache están aún ahí, y no han sido sustituidos por otros.

Page 44: Libro Blanco de System Z

IBM Corporation 21/02/2011 44 de 131�

4 Arquitectura System z. Plataforma SW- SW Base

Podemos clasificar los componentes software que se requieren dentro del entorno z/OS en los siguientes bloques funcionales:

� Sistema Operativo (IBM z/OS) y componentes � “Middleware” (gestor de colas ,gestor transaccional, gestor de BBDD) � gestión de sistema

En este capítulo nos centraremos en el primer punto y el capitulo siguiente, cubrirá el resto

4.1 IBM z/OS y componentes

El sistema operativo z/OS, “buque insignia” del Mainframe de IBM, está diseñado para proporcionar las más altas calidades de servicio para los datos y transacciones de las empresas y extiende estas calidades a las nuevas aplicaciones utilizando las últimas tecnologías de software.

Ofrece una base altamente segura, escalable y de alto rendimiento en la que implantar aplicaciones habilitadas para SOA utilizando tanto tecnologías altamente implantadas y estables tipo OLTP, como tecnologías Internet y Java™, proporcionando un completo y diverso entorno de ejecución, así como un almacén de datos de empresa altamente seguro y flexible.

Las excelentes características y solidez de este sistema operativo, abarcan un amplio número de categorías:

� Modelo de proceso centralizado. � Seguridad. � Gestión. � Virtualización y gestión de las cargas de trabajo. � Fiabilidad. � Escalabilidad. � Disponibilidad. � Comunicaciones y I/O. � Procesos transaccionales. � Procesos batch.

El IBM System z/OS consigue sus calidades de servicio (QoS) en la combinación del hardware del IBM System z y de las capacidades del Parallel Sysplex. Para proporcionar estas características, el IBM System z/OS incluye un amplio conjunto de capacidades y herramientas.

z/OS es el Sistema Operativo mas característico de System z y su desarrollo ha ido para lelo al del HW. Por eso es el que mejor explota todas las capacidades del mismo.

Se encarga de repartir los recursos de que dispone, procesador y memoria, entro las distintas unidades de trabajo lo necesitan

Aunque nació como un sistema operativo para dirigir la ejecución de un único trabajo, rápidamente se convirtió en un sistema operativo que es capaz de manejar muchos miles de programas y usuarios concurrentemente.

Page 45: Libro Blanco de System Z

IBM Corporation 21/02/2011 45 de 131�

Desde sus inicios el diseño de z/OS tiene como objetivo primordial alcanzar el la máxima calidad de servicio posible utilizando la tecnología disponible en cada momento.

Esta calidad de servicio forma parte intrínseca del sistema, y por lo tanto es aplicable tanto a las transacciones operativas que utilizan Middleware tradicional como a las nuevas aplicaciones que utilizan las últimas tecnologías software.

Es, por ejemplo, una plataforma escalable y segura en la que desplegar aplicaciones SOA usando tecnología JAVA o adaptando la tecnología tradicional.

El diseño de z/OS, está basado en la distintos componentes que trabajan de modo cooperativo para llevar a cabo las tareas del sistema. A continuación se describen los más importantes

4.1.1 Gestión de la Memoria

En la gestión de memoria, hay algunos conceptos importantes:

• Address Space (A.S.) Es el rango de direcciones que el sistema asigna a una unidad de trabajo.

En estas direcciones es donde se almacenan las instrucciones y datos a ejecutar.

Una unidad de trabajo, puede ser un usuario, un programa, un subsistema, etc…

Su tamaño lo da el esquema de direccionamiento. En la actualidad el direccionamiento es de 64 bits y por lo tanto el máximo tamaño de un A.S. es de 16 hexabytes.

Normalmente se utiliza solo una parte del mismo.

Estas direcciones virtuales se hacen corresponder con direcciones reales por medio de unas tablas de páginas. Las páginas en z/OS son de 4 K o de 1MB.

Una unidad de trabajo ejecutándose en un AS, no puede ver la memoria de otra unidad de trabajo.

Este hecho es muy importante para el la fiabilidad final, ya que impide que un error en una unidad de trabajo arrastre a otras. De la misma forma facilita la recuperación.

Dentro de cada AS hay una zona compartida por todos que se usa como memoria de comunicación y donde residen los módulos del sistema, o, en general, todos los que tienen un uso común. Hay por tanto tres tipos de memoria: Memoria virtual, que no es más que un rango de direcciones

Memoria real, que es donde se ejecutan las instrucciones y residen los datos que estas necesitan

Memoria auxiliar. Son ficheros donde se almacenan el contenido de la memoria real cuando se necesita para otra unidad de trabajo.

Page 46: Libro Blanco de System Z

IBM Corporation 21/02/2011 46 de 131�

Utilizando un esquema LRU (Least Recently Used) el sistema va enviando a memoria auxiliar el contenido de las páginas de memoria real que hace más tiempo que no se referencian.

El objetivo es tener siempre disponibles páginas de memoria real donde poder volver a cargar los datos necesarios para los programas en ejecución.

Esta paginación es, por supuesto, totalmente transparente al usuario.

4.1.2 Gestión y reparto del Procesador- Workload Manager (WLM) .

Una de las fortalezas de la plataforma System z y sus sistemas operativos, es la capacidad de correr múltiples tipos de carga a la vez, y manejar las prioridades relativas de dichas cargas. La función que hace esto posible, es el WLM (WorkLoad Manager)

La idea es poder especificar objetivos de rendimiento para los distintos trabajos en términos de negocio ( por ejemplo percentil de transacciones con tiempo de respuesta en bornas de CPU menor de 1 segundo) y hacer que el WLM utilizando unas construcciones técnicas (reglas de asociación, prioridades de ejecución arranque automático de servidores, etc…) entendibles por el sistema operativo.

La definición de los tipos de carga y las reglas para manejarlos, es lo que constituye una política del WLM.

A cada tipo de carga se le asigna un objetivo y una importancia. El objetivo, define como se espera que se comporte este tipo de carga o el compromiso adquirido con otros (Service Level Agreement o SLAs). El WLM usa estas definiciones de objetivos para manejar el trabajo. La política es compartida por todos los sistemas que trabajen de forma cooperativa (Sysplex) WLM tiene dos métodos para cumplir los objetivos marcados:

• Repartir recursos del sistema (procesadores memoria e I/O) ajustando las prioridades.

• Controlar el encaminamiento de la carga a los distintos servidores de aplicaciones disponibles o, incluso, arrancar servidores nuevos en caso necesario.

La identificación de la carga la llevan a cabo de manera conjunta el middleware y el sistema operativo.

Los distintos Middleware (CICS, IMS, WAS, SAP, etc…) informan al WLM cuando entra al sistema una unidad de trabajo. Esta unidad de trabajo, llega con un conjunto de características (nombre de la transacción, nombre del servidor origen, dirección origen, etc..) que permiten al WLM asignarle (siguiendo el conjunto de reglas previamente definidas) una clase de servicio.

Una clase de servicio representa el objetivo de rendimiento de un tipo concreto de carga, así como su importancia relativa. Como hemos visto antes, el WLM gestiona y distribuye los recursos del sistema para intentar cumplir esos objetivos.

Page 47: Libro Blanco de System Z

IBM Corporation 21/02/2011 47 de 131�

Los tipos de objetivos pueden ser:

De tiempo de respuesta .- Estos se usan principalmente para trabajo de tipo transaccional y se puede especificar, bien la media (es decir el objetivo es que la media del tiempo de respuesta de las transacciones XXXX sea menor que 0,2 segundos) o bien el percentil si esperamos una dispersión en los tiempos de respuesta que hagan poco significativas las medias (es decir el objetivo es que el 95% de las transacciones XXXX tengan un tiempo de respuesta menor que 0,2 segundos). WLM monitoriza los tiempos de respuesta de las transacciones y va ajustando la utilización de recursos para ir consiguiendo los objetivos.

De velocity .- Cuando el tipo de trabajo no tiene asociado un tiempo de respuesta claramente medible, WLM proporciona otro tipo de objetivo. En este se pretende indicar como de ‘deprisa’ tiene que ser servido.

Para ello WLM utiliza un mecanismo de muestreo que le permite detectar cuando una tarea esta retrasada por un recurso (es decir ha pedido el recurso y no lo ha obtenido) Con estas muestras obtiene un índice llamado ‘velocity’ que es el que se asocia como objetivo. Las tareas ‘long running’ son apropiadas para este tipo de objetivo.

Ciertos gestores de transacciones pueden crear un tipo de trabajo llamado enclave.

Lo mismo que otras unidades de trabajo, a este se le asigna una clase de servicio siguiendo las reglas de clasificación.

Los enclaves tienen la característica especial de que la unidad de trabajo que representan se puede ejecutar en múltiples espacios de direcciones,

Page 48: Libro Blanco de System Z

IBM Corporation 21/02/2011 48 de 131�

4.1.3 Resource Recovery Services (RRS). Una transacción puede acceder a múltiples BBDD y obtener servicio de múltiples regiones servidoras y tiene que tener, en caso de error, la capacidad de deshacer todo lo hecho (back-out). Si una transacción solo modifica en una BBDD gestionada por un único gestor, la recuperación la hace el gestor de BBDD sin necesidad de coordinación.

Sin embargo, si una transacción escribe en una ,o mas, bases de datos y/o también en un fichero secuencial o, incluso, en una Base de datos jerárquica, la recuperación que harán los distintos gestores, debe ser coordinada desde un único punto Este punto único de gestión, es un componente llamado RRS. Los gestores de transacciones, pueden llamar al RRS para coordinar la recuperación en caso de fallo o pueden utilizar sus propios mecanismos de recuperación en caso que no haya más que un componente involucrado. . RRS proporciona un gestor de puntos de sincronismo (syncpoint) que cualquiera que lo necesite puede explotar.

4.1.4 Gestión de los datos DFP(Data Facility Program)

DFP es la parte del z/OS que se encarga del acceso a los datos. Su principal componente es una conjunto de métodos de acceso.

Un método de acceso define la técnica usada para almacenar y recuperar datos. Los métodos de acceso tienen sus propias estructuras de ficheros para organizar los datos, sus programas proporcionados con el sistema (macros) para definir los ficheros, así como programas de utilidad para procesar estos.

Los métodos de acceso, forman parte de la filosofía general del z/OS de liberar a los programadores de aplicación de la codificación de todo lo que no sean procesos de negocio. Además su utilización permite optimizar el acceso a los datos.

Los métodos de acceso se identifican en primera instancia por la organización de los ficheros. Los usuarios de z/OS, por ejemplo, usan el Basic Sequential Access Method (BSAM) o el Queued sequential access method (QSAM) para ficheros secuenciales.

Hay veces que un método de acceso identificado con una organización se puede usar para procesar un fichero organizado de manera diferente. Por ejemplo, un fichero secuencial creado usando BSAM puede procesarse por un BDAM (basic direct access method), o viceversa. Otro ejemplo son los ficheros UNIX, que se pueden procesar usando BSAM, QSAM, BPAM (basic particioned access method), o VSAM (virtual storage access method); Estos últimos son los mas utilizados en la actualidad.

Aunque el uso de los Bases de Datos está totalmente generalizado desde hace mucho tiempo, aún existen muchas instalaciones que siguen teniendo aplicaciones en producción con sus datos gestionados en VSAM.

Como ya se ha citado anteriormente, el término VSAM aplica tanto al tipo de fichero como al método de acceso que se usa para gestionar los diferentes tipos de datos. Como método de acceso, VSAM proporciona funciones más complejas que otros métodos de acceso de disco.

Se usa principalmente para guardar datos de las aplicaciones. Para guardar programas fuente, JCLs o módulos de carga se utilizan los ficheros particionados o librerías.

Page 49: Libro Blanco de System Z

IBM Corporation 21/02/2011 49 de 131�

Hay elementos de middleware del z/OS que internamente guardan también sus datos en ficheros VSAM, como es el caso de DB2, o los ficheros zFS de los servicios UNIX

Se puede usar el VSAM para organizar los registros en cuatro tipos diferentes de ficheros, secuenciados por clave (key-sequenced), secuenciados por entrada (entry-sequenced), lineales (linear) y de registro relativo (relative record). La diferencia principal entre ellos es la forma en la que se almacenan y acceden sus registros. Veamos una breve descripción de los mismos:

• Key Sequence Data Set (KSDS) – cada registro tiene uno o más campos de clave y un registro se lee (o inserta) por valor de la clave. Esto proporciona acceso al azar a los datos. Los registros son de longitud variable.

• Entry Sequence Data Set (ESDS) – esta tipo de VSAM guarda los registros en secuencia. Los registros de acceden secuencialmente. Lo usa el IMS, el DB2 y los USS del z/OS.

• Relative Record Data Set (RRDS) – permite la lectura de los registros por número, registro 1, registro 2, … Proporciona un acceso al azar y asume que la aplicación tiene forma de derivar los números de registro que quiere obtener.

• Linear Data Set (LDS) – Esto es, en efecto, un fichero byte-stream y es el único de este tipo en el entorno z/OS tradicional (no-USS). Hay un número alto de funciones del sistema z/OS que usan este formato ampliamente, pero es raro que lo usen programas de aplicación.

4.1.5 Gestión del Almacenamiento

La gestión de los datos, consiste en la asignación de espacio, ubicación del mismo, monitorización, migración, backup, recall, recuperación y borrado de ficheros.

Estas actividades se pueden llevar a cabo o manualmente o usando procesos automatizados. Cuando se usa este segundo método (lo mas normal) es el sistema quien se encarga de toda la gestión.

Todas las características de ubicación, migración, backup y borrado se establecen mediante un conjunto de reglas basadas en distintas características del fichero como el nombre, el entorno en que se crea, el tamaño, el usuario que lo pide, etc….

De esta manera y de manera automática a cada tipo de dato se le da el tratamiento que requiere. Un ejemplo sería:

o El que hace tiempo que no se usa se migra a cartucho de manera transparente

o Los datos críticos tienen backup diario y se guardan diez versiones.

o Los muy críticos tienen copia instantánea (Flash Copy ) cada cierto tiempo.

Lo que llamamos DFSMS (Data Facility Storage Management Subsystem) es un conjunto de productos de software que administra automáticamente los datos, desde su creación a su expiración. El DFSMS proporciona controles para la ubicación de los datos de acuerdo con la disponibilidad y el rendimiento, servicios de back-up/recuperación y recuperación ante el desastre, administración del espacio en disco, administración de los medios magnéticos e informes y simulaciones para afinar el rendimiento y la configuración.

Page 50: Libro Blanco de System Z

IBM Corporation 21/02/2011 50 de 131�

Proporciona una solución integrada y comprensiva para la administración de datos.

Facilita una administración del almacenamiento de acuerdo con los SLA’s definidos.

Se puede conseguir hasta un 50% de incremento en la capacidad efectiva del almacenamiento. Esto redunda en la reducción de costes en el almacenamiento.

Componentes:

• DFSMSdfp: como se ha descrito en el epígrafe anterior, proporciona funciones básicas de almacenamiento de datos, programas y dispositivos y algunas funciones de copia.

• DFSMSdss: con funciones para el movimiento de datos, copia, back-up y administración de espacio.

• DFSMShsm: administra y automatiza las funciones de back-up, recuperación, migración (archivado) y limpieza del espacio desaprovechado.

• DFSMSrmm: proporciona funciones administrativas para los recursos removibles, tales como librerías, cartuchos, y volúmenes lógicos y virtuales.

• DFSMStvm: es un componente con cargo que permite que transacciones CICS y trabajos BATCH accedan a ficheros VSAM concurrentemente.

• DFSORT: producto separado y complementario que proporciona funciones de ordenado, mezcla, copia, informes y análisis de datos con un alto grado de rendimiento.

4.1.6 Gestión de los bloqueos -Global resource serialization (GRS) Como se ha dicho en el capítulo 2, la serialización es clave en System z para permitir tanto el uso compartido de recursos como la multiprogramación. 3.3.6 Global resource

La serialización de recursos es la técnica usada para coordinar los recursos que usa más de una aplicación. Los programas que cambian algo, necesitan un control exclusivo del recurso, en caso contrario el recurso se podría corromper.. Esta protección se suele llamar integridad de escritura.

Por otro lado, los programas que solo necesitan leer pueden acceder al recurso sin problemas de integridad.. GRS es la componente de z/OS que gestiona esta serialización por encolamiento tanto en una única imagen z/OS como entre varias formando un Sysplex.

Serializa los recursos de manera que si hay un usuario con acceso compartido (de lectura si es un dato) no permite el acceso a ningún usuario que lo necesite exclusivo. De la misma manera garantiza que si hay un usuario con acceso exclusivo (de escritura si es un dato) ningún otro puede acceder.

4.1.6.1 Encolamientos (ENQ) Cuando un programa necesita el acceso al recurso, es su responsabilidad pedir acceso ordenado a él. Dependiendo del uso que prevea darle, pedirá un uso exclusive o compartido. Esto se hace a través de llamadas al sistema en Assembler ENQ/DEQ.

1. El programa pide la utilización de un recurso con una petición de ENQ seguida de un nombre. Este nombre representa un recurso de cualquier tipo, desde un fichero a una zona de memoria a la utilización de un programa, etc…

Page 51: Libro Blanco de System Z

IBM Corporation 21/02/2011 51 de 131�

2. Si el recurso no esta disponible, el propio GRS lo pone en estado suspendido o en espera. De esta situación le saca el GRS en el momento en que el recurso por el que estaba esperando queda libre.

3. El recurso se queda libre cuando el programa que lo estaba utilizando no lo necesita mas y hace DEQ del mismo

Aunque los programas escritos por un usuario pueden utilizar estas interfases, son usadas principalmente por las componentes del sistema para poder utilizar de forma segura los ficheros y demás recursos.

El ámbito del GRS puede ser Local si las colas se refieren a peticionarios dentro de una única imagen de z/OS o Global si en las colas de GRS hay peticionarios de los sistemas de un Sysplex. En este último caso, y para permitir el acceso a todos los sistemas al mismo dato, las colas residen en la memoria externa del Sysplex o CF (Coupling Facility).

4.1.6.2 Bloqueos El uso de bloqueos (o locking) es una forma rápida de serializar el uso de recursos de sistema por parte de rutina específicas. Un ‘lock’ es una zona de memoria que indica si un recurso está siendo usado y quién lo usa.

Este procedimiento lo usan la mayor parte de los sistemas con multiproceso para proteger el acceso a la memoria y otros recursos compartidos.

Para usar un recurso que está protegido por un lock, la rutina debe primero obtener el lock para ese recurso. Si el recurso no está disponible (porque lo tiene otra rutina) el peticionario puede:

Continuar pidiéndolo en un bucle hasta que lo consiga (Spin lock) o quedarse en espera (suspend lock).

Este esquema posibilita una situación no deseada en la que Usuario A pide lock1 y usuario B pide lock2. A continuación usuario A pide lock2 y usuario B pide lock1.

Si esto ocurriera, ambos usuarios se quedarían parados en lo que se llama un deadlock o abrazo mortal.

Para evitar esta situación, los locks z/OS siguen una jerarquía y no se puede pedir uno de nivel superior sin haber conseguido antes el de nivel inferior.

4.2 Entorno de programación/ejecución

La plataforma System z ofrece las herramientas necesarias para implementar los estándares de la industria en desarrollo de SW.

El microcódigo de System z ha ido incorporando a lo largo del tiempo, instrucciones para mejorar el rendimiento de los programas compilados en ejecución.

De la misma manera que se incluyeron instrucciones de microcódigo que mejoraban los programas Cobol y PL/I, en las últimas versiones se están incluyendo instrucciones que optimizan programas en Java, C++, Pearl, etc…

Page 52: Libro Blanco de System Z

IBM Corporation 21/02/2011 52 de 131�

4.2.1 Soporte de Runtime- Language environment

En z/OS y z/VM existe un entorno de run-time único para C, C++, COBOL, Fortran, Assembler y PL/I.

Las librerías de este entorno, incluyen servicios comunes tales como mensajes, funciones de fecha y tiempo , funciones matemáticas, utilidades, servicios del sistema y subsistemas

Todos estos servicios, están disponibles a través de interfaces comunes a todos los lenguajes. Estas interfaces comunes, minimizan la influencia del lenguaje de programación elegido en los resultados de la aplicación.

4.2.2 ´Compiladores de los lenguajes de programación tradicionales z/OS soporta los lenguajes de programación clásicos: COBOL, PL/1, Assembler, C/C++ en sus versiones mas recientes.

4.2.3 Soporte de Java

IBM soporta el lenguaje JAVA en todas sus plataformas incluido Systemz. Existe soporte de Java para todos los sistemas operativos que corren en System z: Linux, por supuesto, y z/VW así como z/OS.

Page 53: Libro Blanco de System Z

IBM Corporation 21/02/2011 53 de 131�

En z/OS el lenguaje JAVA (es decir la JVM) dispone de los mismos APIs que en el resto de las plataformas. Pero además IBM ha mejorado el JAVA en z/OS para permitirle utilizar funciones peculiares de System z, tales como el HW criptográfico o los sistemas de ficheros UNIX en z/OS.

Además existen interfaces entre los lenguajes tradicionales (Cobol, C/C++, etc..) y el lenguaje JAVA.

Por último y como se ha dicho anteriormente, la ejecución dentro de la Java Virtual Machine (JVM) se descarga en su mayoría (alrededor del 90%) en procesadores zAAP que, como hemos visto, es potencia que no se incluye a la hora de calcular la potencia de la máquina desde el punto de vista del SW.

Además de poder ser ejecutados de manera interactiva, como en el resto de las plataformas, los programas Java en z/OS pueden ser ejecutados, también, en batch.

4.2.4 Lenguajes de reciente incorporación

z/OS va incluyendo en sus diferentes versiones el soporte de los distintos lenguajes que en algún momento se consideran de utilidad en el Mainframe.

Los últimos en ser incluidos (en el z/OS 1.9) han sido Pearl y Metal

También existe el soporte de lenguajes de cuarta generación 4GL para los programadores mas familiarizados o que prefieren los lenguajes procedimentales frente a los orientado a objetos como JAVA.

4.2.5 Herramientas de desarrollo de SW

IBM WebSphere Developer for System z V7 incluye capacidades que permiten desarrollar SW para Mainframe en cualquiera de sus posibilidades.

Esta herramienta permite acelerar el desarrollo de:

• Piezas de una arquitectura orientada a servicios (SOA) incluyendo servicios desplegables en CICS, IMS, WebSphere Application Server, y DB2 Stored Procedure

• Aplicaciones Web dinámicas tanto en Java como en J2EE • Aplicaciones tradicionales COBOL, PL/I , C, C++, y High-Level Assembler así

como aplicaciones JAVA para correr bajo JZOS en Z/OS • Servicios Web para integrar esas aplicaciones

Permite también:

Desplegar en múltiples entornos que incluyen WebSphere, CICS, IMS, batch, y DB2 vía Stored Procedures.

Aprovechar los conocimientos existente para escribir aplicaciones JAVA o Cobol utilizando EGL(Enterprise Generation Language).

• Adaptar y extender el entorno de desarrollo mediante el uso de diversos plug-in • Visualizar y editar gráficamente código J2EE usando el UML Visual Editor. • Detectar problemas de rendimiento y cuellos de botella con las herramientas de

trace y de ‘performance profiling’ para aplicaciones Websphere • Generar Enterprise COBOL XML para aplicaciones basadas en los servicios

Web de CICS y IMS

Page 54: Libro Blanco de System Z

IBM Corporation 21/02/2011 54 de 131�

• Generar WSDL y JavaBeans™ para probar y desplegar servicios Web

4.2.6 XML Services

z/OS dispone de diversos modos de ejecutar servicios relacionados con el lenguaje XML.

El sistema incorpora unas rutinas de parsing de XML a partir de sus últimas releases. EL gestor de BBDD DB2 que es uno de sus usuarios principales, también dispone de sus propias rutinas de parsing.

DB2 incorpora un parsing de XML propio, aunque también e

4.2.7 UNIX System Services

Unix System Services, es la componente del sistema operativo que permite ejecutar programas Unix bajo el control de z/OS.

Es un sistema Unix standard que cumple las especificaciones XPG en sus distintos niveles.

Además de su disponibilidad para el usuario, hay diversas componentes que lo usan, como el TCP/IP que ejecuta parte de su código bajo USS y parte bajo una STC. De esta manera la integración está más optimizada.

4.2.8 Security Server

Como se ha visto anteriormente, la seguridad en System z es una combinación de HW y SW.

z/OS conjuga la seguridad tradicional hardware, de sistema operativo, subsistemas y aplicaciones, con nuevos elementos de seguridad de redes y transacciones, que permite contar con un entorno de seguridad robusto para aplicaciones ebusiness, reduciendo el número de sistemas y componentes a gestionar.

Los aspectos básicos de seguridad z/OS se sustentan en dos funcionalidades básicas:

• Integridad.- Funciones de aislamiento hardware e integridad del sistema. • Seguridad de sistema z/OS y sus componentes, que integra la protección de

usuarios y aplicaciones, incluyendo seguridad de red y de transacciones.

Las funciones de aislamiento e integridad han sido descritas con anterioridad, en este apartado nos centraremos en los aspectos de seguridad.

Los servicios de seguridad z/OS se pueden agrupar en los siguientes bloques:

• z/OS Cryptographic Services

Las funciones criptográficas incorporan la base de seguridad de red y de transacciones, permitiendo la utilización de técnicas de cifrado que proporcionan autenticación, confidencialidad e integridad de datos.

o ICSF (Integrated Cryptographic Service Facility)

Componente de z/OS para la gestión de los procesadores criptográficos del zSeries, que proporciona los API de la arquitectura criptográfica de IBM CCA

Page 55: Libro Blanco de System Z

IBM Corporation 21/02/2011 55 de 131�

(Common Cryptography Architecture) a las aplicaciones y middleware que utilizan los servicios criptográficos software. ICSF es la base fundamental de criptografía en z/OS posibilitando el cifrado y descifrado de datos, la generación y gestión de claves y la realización de otras funciones criptográficas de integridad de datos y firmas digitales.

o System SSL / TLS (Secure Socket Layer / Transaction Layer Security)

Componente base de z/OS que proporciona integración de las funciones SSL /TLS de autenticación y cifrado (integridad y confidencialidad) a las aplicaciones y servidores z/OS. Esta integración proporciona servicios de cliente y de servidor SSL estandarizando y centralizando las funciones de los servicios SSL y las utilidades de gestión de certificados. System SSL/TLS se beneficia de las funcionalidades del hardware criptográfico, y de cache del Sysplex para obtener altas tasas de rendimiento.

o PKI Services (Public Key Infrastructure Services)

Componente base de z/OS que proporciona las funciones de gestión de Autoridad Certificadora estándares (Identrus compliant) en el entorno z/OS.

PKI Services soporta X.509 v3 (PKIX) y Common Data Security Architecture (CDSA), y la gestión de certificados para Secure Sockets Layer (SSL), Internet Protocol Security (IPSEC) y Secure Multipurpose Internet Mail Extensions (S/MIME). PKI explota las funcionalidades de protección de RACF y del hardware criptográfico para la seguridad de comunicaciones y para la protección de clave privada de CA.

o RACF (Resource Access Control facility)

RACF ha sido el componente básico de seguridad del sistema Mainframe desde sus inicios, centralizando las funciones de seguridad (identificación y autenticación, control de acceso a recursos y auditoría) para el sistema operativo y los productos y subsistemas. Las peticiones a RACF se realizan de manera centralizada y estructurada a través de SAF (System Authorization Facility (SAF) y su ámbito de cobertura es muy amplio, proporcionando seguridad tanto a gestores tradicionales con nuevas funcionalidades, como a nuevos servidores en entorno z/OS, que continuamente está evolucionando para cubrir las nuevas necesidades. A manera de ejemplo cabe mencionar las posibilidades de:

o Autenticación de usuarios aplicando diferentes tecnologías: verificación de usuario con password, password-phrase y passticket; autenticación de usuarios previamente verificados por otros mecanismos: mapping de certificados digitales, de Lotus Notes, de Kerberos, traspaso de identidad entre servidores, etc.

o Control de acceso a recursos granularizado (subsistemas, datos, transacciones, colas MQ, clases Java, elementos IP, funciones y privilegios Unix System Services, recursos DB2…) proporcionado por los gestores de recursos del sistema.

o Gestión de certificados digitales. El RACF puede crear, gestionar y almacenar certificados digitales, sus claves asociadas RSA/DSA y los ficheros de claves (key rings), así como generar solicitudes de certificación a autoridades certificadoras (CA), además de proporcionar protección de acceso a claves y certificados.

o Log y auditoría integrada en el log del sistema (SMF), incluso para accesos a recursos no protegidos por RACF (como ficheros y directorios USS, filas DB2).

Page 56: Libro Blanco de System Z

IBM Corporation 21/02/2011 56 de 131�

4.3 Técnicas de clustering. Sysplex Paralelo Las técnicas para compartir datos entre más de una imagen del sistema operativo es lo que generalmente se llaman técnicas de clustering. Estas pueden ir desde el simple acceso compartido a una unidad de disco con control manual de la integridad a simple hasta las mas sofisticadas basadas en mecanismos de ‘locking’ y encolamiento. Entre otros beneficios, estas técnicas previenen la concurrencia no deseada. La más sofisticada de estas técnicas es la de Sysplex Paralelo

Cada servidor en un Sysplex Paralelo, tiene acceso a todos los recursos (tanto datos como recursos del sistema) consiguiendo así que en cada uno de los servidores pueda correr un ‘clon’ de cada aplicación.

La clave es la tecnología que permite compartir los datos con integridad tanto de lectura como de escritura de manera altamente efectiva.

La tecnología de clustering de sistemas con datos compartidos, ha ido evolucionando en z/OS desde la compartición básica de datos en discos hasta el Sysplex Paralelo, pasando por el llamado ‘anillo GRS’.

4.3.1 Clustering básico Se basa en la protección por un bloque global del dispositivo mientras está siendo actualizado en algún fichero de uso común. Ej.- VTOCs e índices de los discos, catálogos, ficheros comunes del online, etc…

No toda actualización implica un bloqueo, ya que aunque se comparten algunos datos, hay otros muchos que son propios de cada imagen.

Este método bloquea al mismo tiempo toda la información contenida en un dispositivo y exige, por tanto, una cuidadosa (y bastante estable) configuración del contenido de los mismos. También exige una cuidadosa `planificación en los accesos para evitar el ‘dead lock’ arriba descrito.

Pese a sus limitaciones, esta técnica ha permitido a los Mainframe compartir datos entre distintas instancias del sistema operativo, desde los años 80.

4.3.2 ‘Anillo GRS’ Esta técnica de control de bloqueos es una mejora respecto a la anterior. Da una mayor granularidad respecto al elemento bloqueado.

Se construye uniendo los sistemas (dos o más) a través de conexiones de canal formando un anillo.

Cuando desde un sistema se va a actualizar algún elemento compartido (fichero u otro tipo) lanza una petición que viaja por el anillo para comprobar la disponibilidad del elemento(y para obtener su control en caso positivo) en cada uno de los sistemas.

Este tipo de técnica se ha utilizado principalmente para: o Serializar el acceso a ficheros o discos. Esto permite tener una copia

única de los ficheros y evitar duplicados. o Compartir información acerca de las características de los trabajos. De

esta manera se puede tener una cola de trabajos compartida y sus elementos se pueden ejecutar en cualquiera de los sistemas conectados.

o Compartir los controles de seguridad, de forma que las políticas se apliquen exactamente igual en cada uno de los sistemas.

Page 57: Libro Blanco de System Z

IBM Corporation 21/02/2011 57 de 131�

Esta técnica permite mayor dinamicidad en el contenido de los dispositivos, así como mayor flexibilidad en la planificación. La limitación es el delay que introduce en las peticiones y que hace que, en algunos casos, se siga utilizando la técnica anterior.

Desde su origen, el z/OS ha tenido una componente encargada de la serialización de acceso a los ficheros llamada GRS( Global Resource Manager). En principio, su utilidad era proteger el acceso a los ficheros y recursos desde las distintas aplicaciones que se ejecutan en los distintos AS.

La primera componente del sistema que utilizó el anillo de canales para extender la serialización de intra-sistema a inter-sistema fue el GRS y de ahí la denominación de ‘anillo GRS’. Esta técnica se ha estado utilizando hasta hace pocos años.

4.3.3 Sysplex Paralelo (Resource sharing y Datasharing)

Un Sysplex Paralelo, es una colección de sistemas z/OS que cooperan para procesar los trabajos como si fueran un único sistema. Para esto se utilizan tanto piezas de HW como de SW.

Esta tecnología es la base de la obtención de la disponibilidad continua. Al haber mas de una instancia de z/OS procesando trabajos, una parada (por error o planificada) de uno de ellos no implica una parada en el servicio, ya que el resto de imágenes de la aplicación siguen funcionando.

Sysplex paralelo, también posibilita un crecimiento ‘horizontal’ (añadir un sistema con su potencia al conjunto) frente al crecimiento ‘vertical’ (añadir potencia simplemente). Este crecimiento horizontal amplia el techo de crecimiento con System z. El límite teórico en la actualidad es de 32 sistemas con 64 procesadores cada uno.

El Sysplex Paralelo esta basado en una tecnología que permite el acceso compartido a bajo coste en overhead y con la integridad asegurada.

De esta forma las transacciones o unidades de trabajo se pueden ejecutar indistintamente en cualquiera de los sistemas que componen un Sysplex.

Las componentes de una configuración de Sysplex paralelo son:

Recursos HW- Coupling Facilities y Coupling Links

Recursos SW:

SW que se ejecuta en la CF

Adaptación del SW para usar las Interfases de accesos a la CF

4.3.4 Coupling Facility Una Coupling Facility es el conjunto formado por uno o más procesadores, unos GB de memoria , conexiones con los sistemas del Sysplex y un sistema operativo propio que se distribuye a la vez.

Page 58: Libro Blanco de System Z

IBM Corporation 21/02/2011 58 de 131�

La CF funciona como una gran buffer donde los datos pueden ser accedidos desde los sistemas con un mecanismo de serialización adecuado al tipo de dato.

Los Información que almacena es de tres tipos

• Información de lock que es compartida entre todos los sistemas del Sysplex

• Información de cache (por ejemplo los datos de seguridad o los datos de la BBDD de empleados)

• Lista de datos

La Coupling Facility puede ser un sistema aparte o una LPAR dentro de un sistema. En la figura se ve la configuración de un Sysplex paralelo con 2 imágenes.

Como funcionalidades más relevantes de un Sysplex Paralelo, se podrían destacar las siguientes:

• En muchos aspectos, un Sysplex Paralelo parece un único sistema.

• Tiene una internase única de operación

• Planificando adecuadamente, una carga se puede ejecutar en una o varios sistemas

Page 59: Libro Blanco de System Z

IBM Corporation 21/02/2011 59 de 131�

• Si uno de los sistemas falla, y los sistemas están preparados para ello (ver GDPS mas adelante) su carga es desviada automáticamente al resto sin pérdida de servicio.

• De la misma forma, si algún de los sistemas necesita mantenimiento, su carga se puede desviar al resto sin pérdida de servicio. Esto hace que incluso actualizaciones HW (cambio de máquinas) o de SW (cambio de Sistemas Operativos) se puedan llevar a cabo sin pérdida de servicio. Por supuesto con los límites de compatibilidad entre versiones que marca la política de IBM.

4.4 z/VM

z/VM es un Sistema operativo basado en la z/Architecture (64-bit) y que corre en la plataforma System z.

VM son las siglas de Virtual Machine y este sistema operativo es, como indica su nombre, la implementación de la tecnología IBM para virtualización de servidores en la plataforma. Cada máquina virtual es vista por el sistema operativo ‘guest’ o huésped como una máquina física.

Da la capacidad de correr otro tipo de sistemas operativos cono z/VSE o zLinux y también z/OS puede ser ejecutado bajo z/VM.

z/VM soporta huéspedes en arquitecturas de 24, 31 y 64 bits.

z/VM suministra a cada usuario un entorno de trabajo individual, que es lo que llamamos máquina virtual, que el usuario ve como HW y se dirige a él utilizando las instrucciones HW que usaría en modo nativo.

Las máquinas virtuales bajo z/VM comparten todos los recursos del sistema

El procesador y la memoria son asignados a los servidores que la necesitan cuando la necesitan. La asignación del procesador es por intervalos, es decir que se tiene una granularidad menor que un procesador.

z/VM también permite virtualizar la E/S ( discos, cartuchos, etc. ) así como la red.

La virtualización permite además enriquecer el entorno por medio de funciones tales como:

• Uso de técnicas de ‘Data in Memory’ para mejorar el rendimiento de la E/S. Un disco virtual puede estar en memoria.

• Simular Procesador, memoria y dispositivos que no existen en el HW real.

• Compartir una copia única del kernel entre distintos huéspedes.

z/VM permite compartir espacio en disco entre las imágenes zLinux. Esto permite que se pueda compartir el código read-only entre dichas imágenes.

Esta facilidad, además de mejorar el uso del espacio en disco, permite gestionar mejor las versiones de las aplicaciones y reduce la complejidad del mantenimiento del SW.

La comunicación entre los distintos sistemas huéspedes es también virtual. Además de ser más rápida, ya que los datos no salen de la memoria del procesador, simplifica enormemente el cableado y mejora la seguridad reduciendo la necesidad de Firewalls intermedios,

Page 60: Libro Blanco de System Z

IBM Corporation 21/02/2011 60 de 131�

4.5 Linux en System z

IBM apostó desde el principio por Linux como sistema operativo multiplataforma y colabora con la comunidad Linux para proveer interfaces con el HW Systemz.

Linux en System z, soporta, por tanto los procesadores como los dispositivos propios de la plataforma.

Hay dos distribuciones ‘oficiales’ que suministran Linux capaces de ejecutarse en System z: _ Novell SUSE _ Red Hat

Linux on System z es el mismo Linux que en el resto de las plataformas. Tiene la misma funcionalidad que el S.O. Linux en otras plataformas, con el añadido del soporte y uso del HW del que dispone System z.

• Soporte Criptográfico : PCICA, CPA, PCIXCC, CryptoExpress2, CryptoExpress3

• I/O Mainframe y distribuido- Protocolo Ficon y/o SCSI

• Soporte de OSA-Express ,OSA-Express2 y OSA-Express3 para comunicación de alta velocidad fuera del CEC.

• HiperSockets para comunicación de muy alta velocidad dentro del CEC, entre particiones con z/OS, z/VSE y Linux. HiperSockets es una funcionalidad de System z que permite una comunicación TCP/IP a alta velocidad entre LPAR. Usa la memoria como canal de comunicación y usa un protocolo TCP/IP aligerado de las funciones relativas al medio físico.

En general, zLinux hereda de manera automática, las fortalezas del HW del Mainframe.

Usado como huésped de z/VM suministra una base para la consolidación de servidores muy eficiente, muy escalable, capaz de soportar altos niveles de carga cercanos al 100% y por lo tanto muy efectivo desde el punto de vista del coste.

Page 61: Libro Blanco de System Z

IBM Corporation 21/02/2011 61 de 131�

5 Arquitectura System z. Plataforma SW-

Middleware Transaccional

Las transacciones ocurren en nuestra vida diaria constantemente; por ejemplo cuando sacamos dinero de un cajero o buscamos en Internet. Una transacción es un intercambio, generalmente una petición y su respuesta, que ocurre como un hecho rutinario para ejecutar operaciones del día a día de una organización. Las transacciones tienen las siguientes características:

• Se procesan y transfieren pequeños volúmenes de información por cada transacción.

• Tienen gran número de usuarios.

• La duración es corta.

• Se ejecutan con mucha frecuencia o en grandes cantidades.

• Los datos que manejan son compartidos.

Una transacción de negocio es un acuerdo de negocio autocontenido. Algunas transacciones suponen una conversación corta (por ejemplo, el cambio de un domicilio). Otras, por el contrario, acarrean varias acciones que tienen lugar a lo largo de un periodo de tiempo más o menos amplio (por ejemplo, la reserva de un viaje, incluyendo coche, hotel y billetes de avión).

Una transacción simple puede constar de muchos programas de aplicación que llevar a cabo el proceso requerido. Los sistemas transaccionales de alta capacidad como CICS se ayudan de las capacidades de multitarea y multithread del z/OS para procesar más de una tarea en un momento determinado, cada una guardando sus propios datos variables y siguiendo las instrucciones específicas del usuario que la ejecuta.

La capacidad de multitarea es fundamental en cualquier entorno en el que se conecten miles de usuarios al mismo tiempo. Cuando un sistema transaccional multitarea recibe una petición para ejecutar una transacción, puede arrancar una nueva tarea que se asocia con una instancia de la ejecución de la transacción, o lo que es lo mismo con su conjunto particular de datos para un determinado usuario en un terminal determinado.

La capacidad de multithreading permite que una copia simple de un programa de aplicación se procese por varias transacciones concurrentemente. Se requiere que todos los programas de aplicación transaccional sean reentrantes, o lo que es lo mismo, los programas deben ser reusables en serie entre puntos de entrada y salida; la reentrancia se asegura obteniendo una copia nueva de la memoria de trabajo cada vez que se invoca el programa.

En un sistema transaccional, las transacciones deben cumplir con cuatro requerimientos primarios, conocidos en conjunto con el nemotécnico A-C-I-D o ACID:

Page 62: Libro Blanco de System Z

IBM Corporation 21/02/2011 62 de 131�

Atomicidad – los procesos ejecutados por la transacción o se ejecutan como un todo o no lo hacen en absoluto.

Consistencia – la transacción sólo trabaja con información consistente.

Isolation (aislamiento) – los procesos que proceden de dos o más transacciones deben estar aislados entre sí.

Durabilidad – los cambios hechos por la transacción deben ser permanentes.

Generalmente las transacciones se inician por usuarios finales que interactúan con el sistema transaccional a través de un terminal. En el pasado, los sistemas transaccionales sólo soportaban terminales y dispositivos conectados a través de una red de teleproceso 2. Hoy día los sistemas transaccionales pueden servir peticiones provenientes de:

• Una página web • Un programa en una estación de trabajo remota • Una aplicación en otro sistema transaccional • Un disparo automático en un momento predefinido o ante un suceso

determinado

En los siguientes puntos se detallan cada uno de los servidores de aplicación transaccionales.

5.1 CICS

CICS son las iniciales de Customer Information Control System 3; es un subsistema de propósito general del z/OS para procesar transacciones.

El CICS proporciona los servicios para ejecutar una aplicación online, a petición, y al mismo tiempo que otros usuarios están submitiendo peticiones para ejecutar la misma aplicación utilizando los mismos ficheros y programas.

El CICS gestiona la compartición de los recursos, la integridad de los datos y la priorización de la ejecución de las aplicaciones. El CICS autoriza a los usuarios, aloca los recursos (memoria y procesamiento), y pasa las peticiones de bases de datos de las aplicaciones al gestor de base de datos correspondiente (por ejemplo, DB2). Podríamos decir que el CICS actúa (y lleva a cabo muchas de las mismas funciones) como el sistema operativo z/OS.

Una aplicación CICS es una colección de programas relacionados que llevan a cabo juntos una operación de de negocio, como presentar una declaración de renta por vía telemática o abrir una solicitud de ayuda para personas con dependencia.

2 De aquí deriva la denominación de monitores de teleproceso que se ha dado tradicionalmente a los sistemas transaccionales.

3 Aunque desde hace unos años al nombre CICS se le han añadido las iniciales TS de Transaction Server, en este libro seguiremos refiriéndonos a este middleware como CICS a secas.

Page 63: Libro Blanco de System Z

IBM Corporation 21/02/2011 63 de 131�

Las aplicaciones se ejecutan bajo control del CICS utilizando servicios CICS e interfaces para acceder a programas y ficheros. La ejecución de una transacción incluye la ejecución de uno o más programas de aplicación que implementan la función que se requiere. En la documentación de CICS se puede encontrar que a los programas de aplicación CICS se les llama simplemente programas, y algunas veces el término transacción se usa para indicar el proceso hecho por los programas de aplicación.

5.1.1 El CICS y el z/OS

En un sistema z/OS, el CICS proporciona el nivel funcional para gestionar las transacciones, mientras el sistema operativo sigue siendo la interfaz final con el hardware. El CICS separa fundamentalmente un tipo particular de programa de aplicación (la llamada aplicación online) de otros en el sistema, y los gestiona él mismo. Cuando un programa de aplicación accede a un terminal o a cualquier dispositivo, por ejemplo, no se comunica con él directamente. El programa lanza comandos para comunicarse con el CICS, qué a su vez se comunica con los métodos de acceso correspondientes del sistema operativo. Finalmente, el método de acceso se comunica con el terminal o dispositivo.

Figura n: Sistema transaccional y sistema operativo

Un sistema z/OS podría tener múltiples copias de CICS ejecutándose a la vez. Cada CICS arranca un espacio de direcciones z/OS separado. El CICS proporciona una opción llamada operación multiregión (MRO son las iniciales en inglés), y que permite la separación de funciones CICS diferentes en regiones diferentes (espacios de direcciones); así un espacio de direcciones CICS (o más) podría hacer el control de los terminales y se le llamaría terminal-owning regions (TOR). Otras posibilidades incluyen application-owning regions (AORs) para las aplicaciones y file-owning regions (FORs) para los ficheros.

Page 64: Libro Blanco de System Z

IBM Corporation 21/02/2011 64 de 131�

5.1.2 Programas, transacciones y tareas CICS

El CICS permite separar la lógica de la aplicación de los recursos de la aplicación. Para desarrollar y ejecutar transacciones CICS, se necesita entender la relación entre los programas CICS, transacciones y tareas. Estos términos se usan a lo largo de las publicaciones CICS y aparecen en muchos comandos.

• Transacción.- Es una pieza de procesamiento iniciada por una simple petición. Se puede iniciar desde un usuario en un terminal, pero también desde una página web, o desde un programa en una estación de trabajo remota, una aplicación en otro sistema transaccional o por un disparo automático en un momento predefinido o ante un suceso determinado. A cada transacción se le da un nombre de cuatro caracteres, que se define en la tabla de control de programas (PCT).

• Programa de aplicación.- Una transacción simple puede constar de uno o más programas de aplicación, y que cuando se ejecutan, llevan a cabo el procesamiento requerido. Sin embargo, el término transacción en CICS significa tanto un sencillo evento o todas las transacciones del mismo tipo. Cada transacción se describe en el CICS con la definición de recurso transacción (transaction resource definition). Esta definición le da a la transacción un nombre (identificador de la transacción o TRANSID) e informa a CICS de varias cosas como qué programa se invoca desde el principio y qué tipo de autenticación se requiere durante la ejecución de la transacción. Se ejecuta la transacción especificándole al CICS el nombre de la transacción (TRANSID); éste usa la información guardada en la definición de la transacción para establecer el entorno de ejecución adecuado, y arrancar el primer programa.

• Unidad de trabajo Utilizamos este término para denominar a una operación completa que es recuperable; puede ser confirmada o deshecha en su totalidad como resultado de un comando programado o fallo del sistema. En muchas ocasiones, el ámbito de una transacción CICS es el de una sola unidad de trabajo.

• Tarea La palabra tarea también tiene un significado especial en CICS. Cuando el CICS recibe una petición para ejecutar una transacción, arranca una nueva tarea asociada con esta instancia de la ejecución de la misma. A la tarea se le puede también considerar como un thread, Cuando la transacción se completa, se termina la tarea.

5.1.3 Programación conversacional y pseudo-conversacional

En CICS, cuando los programas que se están ejecutando entran en conversación con el usuario hablamos de transacción conversacional. Una transacción no conversacional, por el contrario, procesa una entrada, responde y acaba (desaparece). Nunca se queda parada (en pausa) para leer una segunda entrada que le venga del terminal, de manera que no hay una conversación real. Hay una técnica en CICS que se llama procesamiento pseudo-conversacional en el que a través de una serie de transacciones no conversacionales se da la apariencia al usuario de que existe una transacción conversacional. No existe transacción mientras el usuario está esperando por la entrada; cuando éste la envía, el CICS arranca la transacción para leer y procesar los datos; justo después de enviar respuesta de nuevo al usuario, acaba la transacción. Es fundamental entender que la principal diferencia entre ambas técnicas radica en los recursos que están alocados en cada momento; mientras en la transacción conversacional los programas mantienen los recursos mientras esperan a recibir los

Page 65: Libro Blanco de System Z

IBM Corporation 21/02/2011 65 de 131�

datos, en el caso de la programación pseudo-conversacional, no se mantiene alocado ningún recurso durante estas esperas.

5.1.4 Comandos CICS

El formato general de un comando CICS es EXECUTE CICS (o EXEC CICS) seguido por el nombre del comando y posiblemente una o más opciones. Cuando se necesita un servicio del CICS, por ejemplo para leer un registro de un fichero, sólo tienen que incluirse el comando CICS dentro del código del programa.

5.2 Servicios CICS para los programas de aplicación

El API CICS proporciona acceso a un junto amplio de servicios que pueden usarse para construir aplicaciones.

Los programas CICS que usan el API pueden llevar a cabo las siguientes operaciones:

• Acceso a datos en ficheros VSAM y BDAM y en bases de datos DB2 e IMS.

• Comunicación con variedad de terminales y dispositivos.

• Conexión a programas en otras plataformas que usan protocolos SNA y TCP/IP.

• Interactuar con clientes y servidores HTTP.

• Operar como un peticionario o proveedor de servicios web.

• Intercambiar datos con otros programas en la misma transacción y con otras transacciones.

Los programas CICS se ejecutan como parte de una transacción bajo el control de una tarea CICS y pueden llevar a cabo las siguientes acciones:

• Obtener información sobre el entorno del programa.

• Iniciar otras transacciones inmediatamente o en el futuro.

• Confirmar o deshacer la unidad de trabajo en curso.

• Reservar o liberar bloqueos sobre los recursos que se comparten con otras tareas.

• Ajustar la prioridad de la tarea, y dejar el control a favor de otras tareas que tienen mayor prioridad.

• Identificar y autenticar usuarios que inician transacciones mediante los servicios de un gestor de seguridad externo.

• Capturar datos en journals que se pueden usar para reconstruir eventos o cambios a los datos.

• Interactuar con el sistema operativo, incluyendo la consola del sistema y el spool del JES.

Page 66: Libro Blanco de System Z

IBM Corporation 21/02/2011 66 de 131�

5.2.1 Objetos de datos CICS

El CICS proporciona determinados objetos que los programas y las transacciones pueden emplear para intercambiar datos con otras.

Áreas de comunicación Un área de comunicación (COMMAREA) es un simple bloque de memoria que se usa para pasar datos entre programas. Un programa solo puede pasar una COMMAREA a otro programa. El tamaño máximo recomendado de un área de comunicación es de 24KB, aunque el valor máximo absoluto es de 32KB.

Contenedores y canales (containers and channels) Un contenedor es un bloque de datos con nombre que se usa para pasar información entre programas. El programa puede pasar cualquier número de contenedores a otro programa usando una agrupación lógica de contenedores llamada canal. Los contenedores no están limitados a un tamaño máximo de 32KB.

Colas temporary storage (TS) Una cola TS es una cola de items de datos con nombre que se pueden escribir, reescribir, leer, y releer, en cualquier secuencia. Se pueden definir colas TS como recuperables.

Colas transient data (TD) Una cola TD es una cola de items de datos con nombre que se puede escribir y leer sólo una vez. Se deben leer secuencialmente, y cada item de datos sólo se puede leer una vez; después de que una transacción lee un item, éste se borra de la cola y deja de estar disponible para cualquier otra transacción.

El CICS proporciona dos tipos de colas TD:

• Colas TD intrapartición que se usan principalmente para comunicación entre los programas CICS.

• Colas TD extrapartición que se usan principalmente para comunicación entre un programa CICS y un dispositivo secuencial, como un fichero QSAM o una impresora.

Las colas TD intrapartición se pueden definir como recuperables.

5.2.2 Acceso a datos externos

El CICS soporta acceso a datos externos en bases de datos DB2 e IMS/DB, así como a ficheros VSAM y BDAM.

En el caso del DB2, los programas CICS emplean sentencias SQL y el acceso se hace a través de la llamada CICS DB2 attachment facility.

Los programas pueden usar tanto la interfaz de comando DL/I o la de llamada para acceder a datos en bases de datos DL/I. El acceso se lleva a cabo a través de Database Control (DBCTL).

Los programas CICS pueden utilizar la interfaz de programación de aplicaciones para leer o escribir datos en ficheros manejados por VSAM (Virtual Storage Access Method) y BDAM (Basic Direct Access Method). Como se pudo ver en el ejemplo contenido en la sección anterior, el CICS no se refiere directamente al nombre del fichero (data set), sino que lo hace a un file, que es un recurso CICS mapeado al verdadero fichero mediante una definición. Se pueden usar tablas de datos compartidos (shared data tables) para proporcionar un acceso eficiente a los ficheros VSAM KSDS. Una tabla de

Page 67: Libro Blanco de System Z

IBM Corporation 21/02/2011 67 de 131�

datos es un fichero que tienen los registros en memoria principal; una tabla de datos compartidos es una tabla de datos que está accesible desde más de una región CICS.

5.2.3 Topología CICS

Se pueden distribuir las aplicaciones CICS y sus recursos entre regiones CICS interconectadas. Las regiones CICS se pueden agrupar en grupos de sistemas CICS y en CICSplexes, y las regiones se pueden distribuir entre sistemas z/OS que formen parte de un Sysplex.

Un Sysplex es un conjunto de sistemas z/OS que se comunican y cooperan entre sí a través de componentes hardware y servicios de software multisistema.

Una región CICS es una instancia (ejemplar) de CICS que se ejecuta en su propio espacio de direcciones z/OS. Una región CICS se puede arrancar y parar independientemente de otras regiones.

Un CICSplex es una agrupación de regiones CICS que se maneja como una sola entidad. Cada región CICS sólo puede pertenecer a un CICSplex. Un CICSplex puede incluir regiones CICS de diferentes sistemas z/OS de un Sysplex.

Un grupo de sistemas CICS es una agrupación de regiones en un CICSplex que se puede manejar como una entidad. El grupo puede incluir regiones que se estén ejecutando en sistemas z/OS diferentes. En un CICSplex, cada región puede pertenecer a más de un grupo, y los grupos pueden estar contenidos en otros grupos.

En la sección El CICS y el z/OS se citaba el concepto de operación multiregión; las diferentes funciones especificadas corresponden a los diferentes roles que las regiones CICS pueden llevar a cabo en un CICSplex. Todas las regiones CICS pueden desempeñar todos los roles y, en algunos casos, resulta apropiado combinar algunos de los roles en una región.

Un sistema z/OS podría tener múltiples copias de CICS ejecutándose a la vez. Cada CICS arranca un espacio de direcciones z/OS separado. El CICS proporciona una opción llamada operación multiregión (MRO son las iniciales en inglés), y que permite la separación de funciones CICS diferentes en regiones diferentes (espacios de direcciones); así un espacio de direcciones CICS (o más) podría hacer el control de los terminales y se le llamaría terminal-owning regions (TOR). Otras posibilidades incluyen application-owning regions (AORs) para las aplicaciones y file-owning regions (FORs) para los ficheros.

Hay un tipo particular de región que es la llamada transport-owning region, y que realiza la conexión de un CICSplex a la red.

Todos los conceptos de topología CICS pueden verse recogidos en la siguiente figura:

Page 68: Libro Blanco de System Z

IBM Corporation 21/02/2011 68 de 131�

Figura n+1: Cómo se organizan las regiones CICS en un Sysplex

5.2.4 Intercomunicación CICS a CICS

El CICS proporciona diferentes formas para conectar regiones CICS entre sí dentro del mismo sistema z/OS, entre regiones en el mismo Sysplex z/OS, y entre regiones en Sysplexes distintos.

La operación multiregión (MRO) ya citada con anterioridad se emplea para comunicar e intercambiar datos sin necesitar de una red de comunicación externa.

La Intersystem Communication (ISC) se usa para comunicar regiones CICS entre sí y con otros sistemas usando protocolos SNA.

Se puede utilizar interconectividad IP (IPIC) para comunicar regiones CICS entre sí y con otros sistemas usando TCP/IP.

Se pueden utilizar facilidades de intercomunicación CICS para distribuir el trabajo de una aplicación entre un número de regiones CICS, permitiendo así que programas en una región usen recursos en otra. Estas facilidades son function shipping, asynchro-nous processing, transaction routing, distributed program link y distributed transaction processing.

Resulta destacable que la gestión de cargas permite la distribución de las peticiones entre las regiones CICS que puedan procesarlas de la forma más eficiente. Los dos aspectos de la gestión de cargas son la separación de éstas y el balanceo. El primero permite la distribución del trabajo entre regiones objetivo de acuerdo a atributos de la petición, mientras que el segundo distribuye el trabajo de acuerdo a los niveles de disponibilidad y actividad de las regiones objetivo.

5.2.5 Conectividad con sistemas no-CICS

Las aplicaciones CICS se pueden comunicar con sistemas no-CICS o en modo peer-to-peer o en modo cliente servidor, mediante protocolos de comunicación estándar de la industria. En la configuración cliente servidor, cada nodo tiene un role distinto: el cliente envía peticiones a un servidor y el servidor devuelve la información solicitada al cliente. En el modo peer-to-peer, ambos nodos tienen roles iguales, asumiendo los del cliente y del servidor.

Los protocolos usados son TCP/IP, Servicios Web, HTTP, SNA y Remote Procedure Call (RPC).

Page 69: Libro Blanco de System Z

IBM Corporation 21/02/2011 69 de 131�

El CICS proporciona interfaces para que se puedan enviar peticiones a una región CICS desde un sistema externo:

• CICS Transaction Gateway – es un producto que permite invocar programas en CICS desde una aplicación Java mediante interfaces J2EE.

• Clientes CICS – estos son miembros de la familia de productos CICS de la estación de trabajo que proporcionan un conjunto estándar de funciones para iniciar transacciones CICS mediante external call interface (ECI) o external presentation interface (EPI). ECI es un API para que un programa en un cliente llame a un programa CICS y se intercambien datos a través de COMMAREA. EPI es un API que permite que un programa en un cliente simule un terminal 3270.

• Bridge CICS-MQ – para que se puedan iniciar transacciones CICS desde aplicaciones de WebSphere MQ.

• Interfaz de sockets de TCP/IP para CICS – es parte del software Communications Server de z/OS y soporta comunicaciones peer-to-peer entre programas CICS y otras aplicaciones que usan protocolos TCP/IP.

• External CICS Interface (EXCI) – la interfaz permite que un programa en z/OS pueda invocar un programa CICS utilizando distributed program link (DPL).

5.2.6 Configuración CICS

La región CICS se pude configurar y controlar su comportamiento a través de los parámetros de inicialización de sistema, creando e instalando definiciones de recursos, y escribiendo exits de usuario (user exits).

En la actualidad se puede emplear una herramienta de gestión del sistema llamada CICS Explorer que permite manejar de una forma simple y centralizada uno o más sistemas CICS. Está basada en Eclipse 4 y permite llevar a cabo funciones como las siguientes: visualizar definiciones de recursos, crearlas y actualizarlas e instalarlas o eliminarlas; en cuanto a recursos CICS, habilitarlos y deshabilitarlos, abrirlos y cerrarlos, adquirirlos y liberarlos, ponerlos en servicio y fuera de servicio o acabar tareas asociadas con un recurso.

5.2.7 Seguridad

El CICS usa los servicios que le proporciona un gestor de seguridad externo, como el RACF, para el control de los accesos a las aplicaciones y a los recursos del sistema.

Sea cual sea la forma de iniciarse una transacción, cuando la seguridad del CICS está activa, la transacción queda asociada con un usuario. Aunque un usuario CICS es en muchos casos un usuario individual concreto, en general un usuario es una entidad que se identifica con un identificador de usuario (user ID).

Cuando un usuario hace una petición, el CICS llama al gestor de seguridad para determinar si tiene la autoridad para hacerla. Si el usuario no tiene la autoridad apropiada, el CICS deniega la petición.

4Eclipse es una plataforma para construir y desplegar aplicaciones cliente en las que la manipulación de datos es Rich Client Platform (RCP).

Page 70: Libro Blanco de System Z

IBM Corporation 21/02/2011 70 de 131�

El CICS chequea la autoridad del usuario a diferentes niveles:

• Seguridad de signon que asegura que los usuarios del terminal están autorizados a conectarse a CICS

• Seguridad del enlace que asegura que los sistemas remotos están autorizados a conectase a CICS

• Seguridad de transacción que los usuarios que intentan ejecutar una transacción están autorizados a ello.

• Seguridad de recurso que asegura que los usuarios que usan recursos CICS están autorizados a ello.

• Seguridad de comando para asegurar que los usuarios que usan la interfaz de programación CICS están autorizados a ello.

Para llevar a cabo la identificación y la autenticación de los usuarios, el CICS puede usar los identificadores de usuario y passwords o los certificados de cliente SSL.

5.2.8 Herramientas para depuración y de determinación de problemas

El CICS proporciona un conjunto de herramientas para la depuración de los programas de aplicación y para el diagnóstico de problemas en el sistema. Estas incluyen soporte para las herramientas de depuración basadas en la estación de trabajo, execution diagnostic facility (EDF), mensajes, trace y dump.

En el caso de las herramientas de depuración basadas en la estación de trabajo, estas constan de dos componentes principales:

• Un cliente que se ejecuta en la estación de trabajo que permite interactuar con el programa de aplicación a través de interfaz gráfica. Se pueden crear puntos de ruptura para ir parando el programa y examinando las variables usadas en el mismo.

• El servidor que se ejecuta en la misma región CICS del programa de aplicación y que se comunica con la parte cliente.

La utilidad EDF se usa para probar los programas de aplicación interactivamente, sin hacer modificaciones al programa fuente o al procedimiento de preparación del programa. El EDF intercepta la ejecución del programa en varios puntos y muestran la información de éste.

El CICS emite mensajes para advertir de eventos significativos y de condiciones de error y, en algunos casos, solicitar información del operador del sistema. Los mensajes se emiten a la consola del sistema, a terminales CICS o a destinos de colas TD.

El trace es un registro del procesamiento hecho por un programa o transacción. La información recolectada de un trace se puede usar para determinar problemas, especialmente de rendimiento. El CICS tracea el flujo de control a través de su código. Los eventos clave que recolecta en el trace son la entrada y la salida a programas del sistema CICS y eventos excepcionales. También se pueden tracear programas de aplicación del usuario. Se puede capturar la información del trace internamente, en ficheros auxiliares de trace, y en el fichero GTF del z/OS. Se puede seleccionar qué información de trace se captura, aunque el trace de las excepciones siempre se recoge.

Un dump es un registro de los contenidos de áreas seleccionadas de memoria principal en un instante determinado. El CICS captura un dump cuando se produce un fallo o

Page 71: Libro Blanco de System Z

IBM Corporation 21/02/2011 71 de 131�

cuando se pide sacarlo explícitamente. El CICS proporciona dos tipos de dump, uno de transacción que captura áreas de memoria relativas a una cierta transacción, y uno de sistema que captura todas las áreas de memoria de una región CICS.

5.3 IMS

El IMS, Information Management System, ha sido una parte importante de la industria de las tecnologías de la información desde su inicio.

El 25 de Mayo de 1961, el Presidente de los EEUU John F. Kennedy retó a la industria americana a mandar un americano a la Luna y que volviera sano y salvo a la Tierra. La hazaña se vio cumplida antes del final de la década como parte del programa Apolo. American Rockwell ganó el contrato para construir una nave para el programa Apolo y, en 1965, crearon un acuerdo con IBM para disponer de un sistema automatizado que gestionara las grandes cantidades de piezas necesarias para la construcción de aquélla.

En 1966, 12 miembros de un equipo de IBM, junto con 10 miembros de American Rockwell y 3 de Carterpillar, empezaron a diseñar y desarrollar el sistema que se llamó Information Control System and Data Language/Interface (ICS/DL/I). Durante el proceso de diseño y desarrollo, el equipo de IBM se desplazó a Los Angeles y creció hasta los 21 miembros. El equipo de IBM completó y proporcionó la primera release del ICS en 1967.

En Abril de 1968, se instaló. El 14 de Agosto de 1968, se vio el primer mensaje de “READY” en un terminal de máquina de escribir IBM 2740 en la división espacial de Rockwell en la NASA en Downey, California.

En 1969, se renombró el ICS como Information Management System/360 (IMS/360) y pasó a estar disponible en todo el mundo de IT.

Desde 1968, el IMS:

• Ayudó a la NASA a cumplir con el sueño del Presidente Kennedy.

• Empezó la revolución de los sistemas gestores de bases de datos.

• Continúa evolucionando para cubrir (y sobrepasar) los requerimientos demandados por los negocios y gobiernos en la actualidad.

El sistema gestor de bases de datos IMS (DBMS) introdujo la idea de que el código de la aplicación se separara de los datos. El punto de separación era el DL/I, Data Language/Interface. El IMS controla el acceso y la recuperación de los datos. Los programas acceden y navegan por los datos invocando a la interfaz estándar DL/I.

Esta separación estableció un nuevo paradigma en la programación de aplicaciones. El código de aplicación ahora se podía focalizar en la manipulación de los datos sin las complicaciones y la sobrecarga asociada al acceso y a la recuperación de los datos. Este paradigma eliminaba virtualmente la necesidad de copias redundantes de los datos. Diferentes aplicaciones podían acceder y modificar una instancia de los datos, proporcionando así el dato vigente a cada aplicación. Se hizo más fácil el acceso a los datos de forma online ya que el código de la aplicación se separaba del control de los propios datos.

IBM desarrolló un componente online para el ICS/DL/I con el fin de soportar la comunicación de los datos. Se amplió la interfaz DL/I al componente online del producto para permitir la transparencia de comunicación de los datos a los programas

Page 72: Libro Blanco de System Z

IBM Corporation 21/02/2011 72 de 131�

de aplicación. Se creó una función de cola de mensajes para mantener la integridad de los mensajes de comunicación de datos y para proporcionar planificación a los programas de aplicación. El componente online del ICS/DL/I se convirtió finalmente en la función Data Communications (DC) del IMS, y que a su vez pasó a ser IMS Transaction Manager en el IMS Versión 4.

IMS se unió al Mainframe oficialmente en 1969. Se ha reinventado varias veces desde entonces. La aceptación de los clientes de las nuevas versiones de IMS es la mejor medida de su valor estratégico. En el 2003 la carga IMS medida como capacidad de los sistemas en MIPS se había incrementado en un 67.9% en las últimas versiones. Sobre el 90% de las principales compañías en el mundo usan IMS para ejecutar sus operaciones diarias. IMS todavía es una plataforma viable, en algunas ocasiones sin rival, para desplegar sistemas de alto procesamiento transaccional y, en combinación con tecnología de servidores web de aplicación, es la base para una nueva generación de aplicaciones.

Veamos unos cuantos hechos sobre cómo se usa el IMS:

• Alrededor del 95% de las compañías del Fortune 1000 usan IMS.

• IMS gestiona alrededor de 15 millones de gigabytes de datos de producción.

• IMS procesa alrededor de 50 billones de transacciones por día.

• IMS sirve a 200 millones de usuarios todos los días.

• IMS procesa alrededor de 100 millones de transacciones por día para un cliente.

• Y 120 millones de transacciones para otro (7 millones por hora).

• IMS puede procesar 21.000 transacciones por segundo (alrededor de 1 billón al día) utilizando IMS data sharing y colas compartidas.

• Un solo IMS ha procesado unas 6.000 transacciones por segunda con una sola conexión TCP/IP.

En resumen,

• El gestor de bases de datos (IMS DB)

• El gestor transaccional (IMS TM)

• Un conjunto de servicios de sistema que proporcionan servicios comunes al IMS DB y al IMS TM.

En la siguiente figura pueden verse los tres componentes relacionados.

Page 73: Libro Blanco de System Z

IBM Corporation 21/02/2011 73 de 131�

Diagrama general del IMS

Conocido en conjunto como IMS DB/DC, los tres componentes crean un entorno de proceso de transacciones completo que aporta disponibilidad continua e integridad de datos. Las funciones que proporcionan estos componentes se describen con detalle más adelante.

El IMS se ha desarrollado para proporcionar un entorno para las aplicaciones que demandan altos niveles de rendimiento, capacidad y disponibilidad. El IMS usa mucha de las facilidades que ofrece el sistema operativo y el hardware. Se ejecuta en z/OS y System z.

El IMS TM e IMS DB pueden ser componentes independentes si no se requieren nada más que las funciones de uno de ellos. Cuando se utiliza sólo el IMS DB, se le llama DBCTL, y si el que se utiliza es el IMS TM, se le llama DCCTL.

Los programas de aplicación que se escriben para usar las funciones de IMS se pueden codificar en Assembler, C/C++, COBOL, Java, Pascal, PL/I y REXX. Las aplicaciones acceden a los recursos IMS llamando a un conjunto de funciones de IMS estándar a través de las APIs DL/I y Java database connectivity (JDBC).

5.3.1 IMS Database Manager (IMS DM)

El IMS DB es un sistema de gestión de bases de datos que ayuda a organizar los datos de negocio tanto con independencia de programas como de dispositivo.

En el corazón del IMS DB están las bases de datos jerárquicas y el lenguaje de manipulación de datos (llamadas DL/I). Los datos dentro de las bases de datos se

Page 74: Libro Blanco de System Z

IBM Corporation 21/02/2011 74 de 131�

organizan en una estructura de árbol, con datos en cada nivel de la jerarquía relacionados con, y en algunos dependientes de, los datos en el nivel más alto de la jerarquía. La siguiente figura muestra un modelo de bases de datos jerárquico. El dato se almacena en la base de datos sólo una vez. Cada elemento de datos está disponible para cualquier usuario que esté autorizado a utilizarlo. Los usuarios no tienen que tener copias personales de los datos.

Modelo de base de datos jerárquica.

Con el IMS DB se puede:

Mantener la integridad de los datos. Los datos en cada base de datos se garantiza que están consistentes y que permanecen en ella aunque el IMS DB no esté funcionando.

Disponer de un punto de control centralizado y de acceso a los datos IMS que se procesan por las aplicaciones IMS.

Ejecutar consultas contra los datos en la base de datos.

Ejecutar transacciones de bases de datos (inserciones, actualizaciones y borrados) como una única unidad de trabajo, de manera que la transacción o se complete entera o no.

Ejecutar múltiples transacciones de bases de datos concurrentemente con los resultados de cada transacción mantenidos aislados de las otras.

Mantener las bases de datos. El IMS DB proporciona facilidades para afinar las bases de datos mediante la reorganización de las mismas.

A los datos en IMS DB se puede acceder desde las aplicaciones que se ejecutan en:

• IMS TM

• CICS Transaction Server

Page 75: Libro Blanco de System Z

IBM Corporation 21/02/2011 75 de 131�

• Trabajos batch en el z/OS

• WAS for z/OS

• Procedimientos almacenados en DB2 UDB for z/OS.

5.3.2 IMS Transaction Manager

El IMS TSM es un gestor transaccional basado en mensajes.

Una transacción es un conjunto de datos de entrada que disparan la ejecución de un programa de aplicación (proceso o trabajo) de negocio. El mensaje que dispara el programa de aplicación y el retorno de cualquier resultado, se considera una transacción. La palabra terminal se usa a lo largo de esta sección para describir a los dispositivos y a los controladores. Los terminales de operación pueden ser impresoras, estaciones de trabajo, terminales de comunicación, o una mezcla de estos dispositivos.

El IMS TM proporciona servicios para:

• Procesar mensajes de entrada recibidos desde una variedad de fuentes (como la red de terminales, otros sistemas IMS, la web, …).

• Procesar mensajes de salida creados por los programas de aplicación.

• Proporcionar un mecanismo de encolamientos para gestionar estos mensajes.

• Proporcionar procesamiento de transacciones de alto volumen, alto rendimiento, alta capacidad y bajo coste tanto para las bases de datos jerárquicas del IMS DB como para las relacionales de DB2.

El IMS TM soporta muchas sesiones de terminal a volúmenes transaccionales muy altos. Los usuarios de las sesiones de terminal pueden ser:

• Personas en terminales o estaciones de trabajo.

• Otros programas de aplicación, o en el mismo sistema z/OS, en otros sistemas z/OS, o en plataformas no z/OS.

Se puede definir una variedad de opciones de procesamiento online, Por ejemplo, se pueden definir transacciones para aplicaciones de entrada de datos de alto volumen, otras para aplicaciones interactivas, y otras para soportar consultas predefinidas.

5.3.3 Servicios de sistema IMS

Estos proporcionan los siguientes servicios tanto para el IMS DB como para el IMS TM:

• De integridad de los datos.

• De rearranque y recuperación después de fallos.

• De seguridad, para controlar el acceso y modificación de los recursos IMS.

• De gestión de los programas de aplicación, despachando trabajo, cargando programas de aplicación, y proporcionando servicios de bloqueo.

• De diagnóstico y recolección de información de rendimiento.

Page 76: Libro Blanco de System Z

IBM Corporation 21/02/2011 76 de 131�

• De operación de IMS.

• De comunicación para que otros sistemas del z/OS se hablen con el IMS.

Los servicios se proporcionan mediante:

• Comandos IMS.

• Programas de utilidad proporcionados con el IMS.

• Exits de usuario.

• Definiciones de servicios.

IMS y z/OS

El IMS es una gran aplicación que se ejecuta en z/OS. Tanto uno como otro está diseñados para hacer el mejor uso posible de los componentes de software y hardware del sistema.

El IMS dentro del z/OS utiliza diferentes espacios de direcciones: uno de control, varios espacios de direcciones separados que proporcionan servicios IMS, y varios espacios de direcciones que ejecutan programas de aplicación. A estos espacios de direcciones a veces se les llama regiones5, como la región de control del IMS.

Vamos a ver los distintos componentes de un sistema IMS en la siguiente sección:

5.3.4 Estructura de los subsistemas IMS

La sección describe los distintos tipos de espacios de direcciones z/OS con sus interrelaciones.

La región de control es el centro del subsistema IMS y se ejecuta en un espacio de direcciones. Cada región de control usa muchos otros espacios de direcciones que proporcionan servicios adicionales a la región de control, y en las que se ejecutan los programas de aplicación del IMS. Algunas aplicaciones y utilidades IMS se ejecutan en regiones separadas llamadas regiones batch; éstas últimas están separadas del subsistema IMS, de su región de control y sin conexión con él.

Cada uno de los entornos IMS es una combinación diferente de hardware y programas que soportan objetivos de procesamiento diferenciados. Los cuatro entornos IMS son:

• DB/DC, que tiene toda la funcionalidad tanto del IMS TM como del IMS DB

• DBCTL que sólo contiene la funcionalidad del IMS DB

• DCCTL, que sólo contiene la funcionalidad del IMS TM

• Batch, que contiene la funcionalidad del IMS DB, pero que sólo se usa para trabajos batch.

El entorno DB/DC tiene instalado tanto el IMS TM como el IMS DB y por tanto dispone de toda la funcionalidad del producto. Sus principales objetivos son:

5 El concepto de región se originó en el sistema operativo MVT (Multiprogramming with Variable Number of Tasks), un precursor del z/OS

Page 77: Libro Blanco de System Z

IBM Corporation 21/02/2011 77 de 131�

• Permitir a los usuarios de terminal obtener datos y actualizar bases de datos en tiempo real con un buen rendimiento

• Asegurar que los datos que se obtienen son los actuales

• Distribuir procesamiento transaccional entre diferentes procesadores en una red de comunicaciones

• Ejecutar programas de aplicación batch que actualizan bases de datos a determinados intervalos

• Ejecutar utilidades de bases de datos en batch

La región de control permite acceso a:

• La red, que podría incluir una consola del sistema operativo, terminales, servidores web, etc.

• Colas de mensajes IMS para aplicaciones IMS que se ejecuten en regiones de mensajes (MPRs, Message Processing Regions) o regiones de mensajes Java

• Librerías del IMS

• Logs del IMS

• Bases de datos Fast Path

• Espacios de direcciones separados de DL/I

• Región DBRC (Database Recovery Control)

• Región IFP (IMS Fast Path)

• Región JBP (Java batch processing program)

• Región BMP (Batch message processing program)

Múltiples sistemas IMS

Se pueden ejecutar varios sistemas IMS en una imagen z/OS única o en varias imágenes de sistema operativo. Se llama sistema IMS al conjunto de región de control y todas las regiones dependientes asociadas. Un sistema batch IMS (por ejemplo, batch DB) también se considera un sistema IMS.

Hay tres formas de ejecutar varios subsistemas IMS en diferentes imágenes z/OS:

• Multiple Systems Coupling (MSC): MSC solo soporta conexiones IMS-IMS.

• Inter System Communications (ISC): Es más flexible porque soporta tanto conexiones a IMS como a otros productos z/OS como CICS.

• Parallel Sysplex: Ejecutar varios subsistemas IMS en un entorno de Parallel Sysplez es una buena manera de balancear carga, proporcionar escalabilidad a los sistemas, y poder tener máxima disponibilidad. Se pueden compartir colas de mensajes y bases de datos.

Page 78: Libro Blanco de System Z

IBM Corporation 21/02/2011 78 de 131�

En las relación del IMS con otros elementos del z/OS, conviene destacar que proporciona soporte a aplicaciones TCP/IP a través de la función OTMA explicada anteriormente. También soporta APPC, una implementación del protocolo LU 6.2 que permite distribuir aplicaciones por una red y comunicarse con ellas independientemente del hardware donde residan.

5.4 WAS

WebSphere Application Server (WAS) es un servidor de aplicaciones basado en tecnología J2EE y de Web Services. Es un entorno de despliegue y de ejecución de aplicaciones Java construidas con tecnologías basadas en estándares abiertos, que soporta la mayoría de las funciones como servlets, Java Server pages (JSPs), y Enterprise Java Beans (EJBs) e incluye la última tecnología de interfaces e integración de servicios.

WebSphere Application Server proporciona la capa de la lógica de aplicación en una arquitectura de tres niveles, lo que permite a los componentes de cliente interactuar con los recursos de datos y las aplicaciones legacy. Estos niveles son niveles lógicos. Puede que se estén ejecutando o no en el mismo servidor físico.

Figura n+12: arquitectura de aplicación de tres niveles

La responsabilidad de la presentación y la interacción con el usuario reside en los componentes del primer nivel. Estos componentes de cliente permiten al usuario interactuar con los procesos del segundo nivel de forma segura e intuitiva.

Los clientes no acceden directamente a los servicios del tercer nivel. Por ejemplo, un componente de cliente proporciona un formulario en el que el cliente solicita los productos. El componente de cliente entrega este pedido a los procesos del segundo nivel, que comprueban las bases de datos del producto y realizan las tareas que son necesarias para la facturación y el envío.

Los procesos del segundo nivel se conocen normalmente como la capa de la lógica de aplicación. Estos procesos gestionan la lógica empresarial de la aplicación y pueden acceder a los servicios del tercer nivel. La capa de la lógica de aplicación es donde se ejecuta la mayor parte del trabajo de los procesos. Varios componentes de cliente pueden acceder simultáneamente a los procesos del segundo nivel, por lo que esta capa de la lógica de aplicación debe gestionar sus propias transacciones.

Page 79: Libro Blanco de System Z

IBM Corporation 21/02/2011 79 de 131�

En el ejemplo anterior, si varios clientes intentan realizar un pedido del mismo artículo, del que sólo queda uno, la capa de la lógica de aplicación debe determinar quién tiene derecho a ese artículo, actualizar la base de datos para reflejar la compra e informar a los otros clientes de que el artículo ya no está disponible.

La base de datos establece su propio control de accesos, normalmente bloqueando un registro que se está procesando.

Pero cuando se hace ese bloqueo si es cuando un artículo se coloca en un carro de compra, para evitar que los demás clientes consideren la posibilidad de compra o es cuando la compra se hace efectiva, es una decisión de negocio y la toma el segundo nivel.

La separación del segundo y el tercer nivel reduce la carga en los servicios del tercer nivel, da soporte a una gestión de conexiones más eficaz y puede mejorar el rendimiento general de la red.

Los servicios del tercer nivel están protegidos del acceso directo de los componentes de cliente que residen en una red segura. La interacción debe producirse a través de los procesos del segundo nivel.

La ventaja de z/OS es la posibilidad de desplegar el segundo y el tercer nivel en un entorno físico de z/OS, conservando la seguridad y las ventajas lógicas de los sistemas de nivel único.

El WAS en z/OS está altamente integrado con todas las características y servicios ofrecidos por el sistema operativo. Puede interactuar con todos los subsistemas del z/OS como el DB2, el CICS y el IMS, y tiene atributos para seguridad, rendimiento, escalabilidad y recuperación, además de estar perfectamente integrado con el componente de gestión de carga WLM.

Hay dos clases de espacios de direcciones en el WAS de z/OS, la región de control y la servidora. Una región de control ejecuta programas autorizados de sistema y gestiona tareas como las comunicaciones del servidor; una región servidora es el espacio de direcciones equivalente al servidor en una plataforma distribuida y ejecuta las aplicaciones Java a través de los containers EJB y web. Una instancia de servidor de aplicación se compone de una región de control (CR) y de una o más regiones servidoras (SRs). Véase la siguiente figura:

Figura n+13: una instancia de servidor de aplicaciones

El servidor de aplicaciones en z/OS soporta dos tipos de configuración: base y network deployment. Cada configuración usa la misma jerarquía arquitectural compuesta de servidores, nodos y celdas.

Page 80: Libro Blanco de System Z

IBM Corporation 21/02/2011 80 de 131�

Un servidor es el componente de runtime primario. Es donde se ejecuta realmente la aplicación. Proporciona contenedores y servicios que se especializan en permitir la ejecución de los componentes específicos de la aplicación Java. Cada servidor de aplicaciones corre en su propia máquina virtual java (JVM). Dependiendo de la configuración, los servidores podrían trabajar separadamente o en combinación:

• Configuración base: cada servidor de aplicaciones funciona como una entidad separada. No hay distribuciones de cargas de trabajo o administración común entre los servidores de aplicación.

• Configuración de network deployment: múltiples servidores de aplicación se mantienen desde un punto de administración central. Además, se pueden montar los servidores de aplicación en cluster para la distribución de las cargas de trabajo.

Un nodo es una agrupación lógica de procesos de servidor gestionada por WebSphere que comparte configuración y control. Un nodo se asocia generalmente con la instalación física de un servidor de aplicaciones. Conforme nos movemos a configuraciones de servidor de aplicaciones más complejas, se introducen los conceptos de configuración de diferentes nodos desde un servidor de administración común o la distribución de cargas de trabajo entre nodos. En estas configuraciones gestionadas de forma centralizada, cada nodo tiene un agente.

Una celda es una agrupación de nodos en un dominio administrativo. En la configuración base, una celda contiene un nodo. Ese nodo puede tener varios servidores, pero los ficheros de configuración de cada servidor se almacenan y mantienen individualmente. En la configuración de network deployment, una celda puede constar de varios nodos, todos administrados desde un único punto. Los ficheros de aplicación y configuración para todos los nodos en la celda se centralizan en el repositorio de configuración maestra de la celda. Conviene aclarar el concepto de container; es el que permite la separación de los distintos elementos en tiempo de ejecución. Así un container de EJB se usa para ejecutar EJBs. Otro, conocido como Web container, se usa para ejecutar elementos relacionados con web como HTML, servlets y JSPs. Juntos configuran el runtime del servidor de aplicaciones dentro de la JVM.

Veamos en más detalle las dos configuraciones de WAS en z/OS que se han citado anteriormente:

5.4.1 Nodo de servidor base de aplicaciones:

Esta configuración se corresponde con la estructura operacional más sencilla de WAS en z/OS. Consta de un servidor de aplicación y un servidor de demonio (un nodo y una celda), como puede verse en la siguiente figura. Todos los ficheros de configuración y las definiciones se guardan en una estructura de directorios del sistema de ficheros creada para este servidor de aplicaciones base. El servidor de demonio es un servidor especial con una región de control. Hay un servidor de demonio por celda por sistema (o LPAR). Cada nodo de servidor base de aplicaciones contiene la administración de su propio dominio de celda y un repositorio separado para su configuración. Por tanto, se puede disponer de muchos servidores base de aplicación, unos aislados de otros, teniendo todos sus propias políticas de administración para sus necesidades específicas de negocio.

Page 81: Libro Blanco de System Z

IBM Corporation 21/02/2011 81 de 131�

Nodo de servidor base de aplicaciones

5.4.2 Network Deployment Manager:

Es una extensión del servidor base de aplicaciones. Permite administrar múltiples servidores de aplicación desde un punto centralizado. Aquí, los servidores de aplicación se atachean a nodos, y varios nodos pertenecen a una celda. Con el Deployment Manager se pueden administrar fácilmente sistemas que escalan en horizontal o en vertical, así como aplicaciones distribuidas. El Deployment Manager también gestiona los repositorios de cada nodo, pudiendo realizar tareas como crear, mantener y eliminar los mismos.

Network Deployment Manager

Page 82: Libro Blanco de System Z

IBM Corporation 21/02/2011 82 de 131�

En la siguiente figura se puede ver una instancia del servidor de aplicaciones. Repasemos sus principales componentes:

Page 83: Libro Blanco de System Z

IBM Corporation 21/02/2011 83 de 131�

Componentes de una instancia de WAS

Servidores de aplicaciones: un servidor de aplicaciones es una máquina virtual Java (JVM) que ejecuta aplicaciones de usuario. Los servidores de aplicaciones utilizan la tecnología Java para ampliar las posibilidades del servidor Web para manejar peticiones de aplicaciones Web. Con un servidor de aplicaciones, un servidor puede generar una respuesta dinámica y personalizada a una petición de un cliente.

Servidores Web. En el producto WAS, un servidor de aplicaciones trabaja en colaboración con un servidor Web para manejar las peticiones de aplicaciones Web. El servidor de aplicaciones y el servidor Web se comunican utilizando un plug-in HTTP del servidor Web.

Servidores JMS. Motor de mensajería. El producto da soporte a la mensajería al proporcionar un proveedor de JMS (Java Message Service).

Un contenedor Web es un entorno de ejecución para aplicaciones web. Procesa servlets, JSPs y otros tipos de componentes del lado servidor.

Un contenedor de EJBs proporciona un entorno de ejecución para los beans de empresa del servidor de aplicaciones. El contenedor maneja todos los aspectos de una operación de bean de empresa dentro del servidor de aplicaciones y actúa como intermediario entre la lógica de empresa escrita por el usuario en el bean y el resto del entorno del servidor de aplicaciones.

Page 84: Libro Blanco de System Z

IBM Corporation 21/02/2011 84 de 131�

Los servicios JCA permiten la conexión de los servidores de aplicación a los Enterprise Information Systems (EIS); en definitiva es la tecnología Java para acceso a sistemas legacy (incluyendo las bases de datos).

Los principales conectores son:

• CICS Transaction Gateway (CTG): el conector proporciona la interfaz entre el Java y las transacciones CICS. Es un conjunto de componentes cliente y servidor que incorpora los servicios y facilidades para acceder a CICS desde el servidor de aplicaciones.

• IMS Connect: es un servidor-conector que permite a un cliente desde el servidor de aplicaciones intercambiar mensajes con el IMS Open Transaction Manager Access (OTMA).

• JDBC: API que se usa desde el lenguaje Java para acceder a datos en sistemas de gestión de bases de datos relacionales, e incluso jerárquicos (IMS). Esta interfaz ni cae necesariamente en la categoría de conector porque no requiere un espacio de direcciones separado. La implementación de la interfaz la proporciona cada proveedor de bases de datos como un “driver”; éste proporciona la portabilidad porque todos los accesos JDBC se hacen a través de llamadas estándar con parámetros estándar.

En WAS se soporta obviamente el uso de web services . A las tecnologías clave sobre las que se desarrollan y despliegan estos, WAS añade otras como un registro de UDDI privado o un Framework para invocación de aquéllos (WSIF).

La gestión de cargas de trabajo se lleva a cabo con la ayuda del WLM del z/OS y permite optimizar la distribución de las peticiones entrantes entre los servidores de aplicación, EJBs, servlets u otros objetos. Se pueden balancear cargas de acuerdo a las capacidades de los diferentes servidores del complejo sysplex, se pueden disponer de capacidades de gestión de fallos mediante el redireccionamiento de peticiones si uno o más servidores no son capaces de procesarlas y se puede crecer (y decrecer) el número de regiones servidoras dependiendo de la carga en cada momento.

La seguridad tanto de los recursos J2EE como administrativos comprende los diferentes elementos de autenticación, control de acceso, integridad de datos, confidencialidad, privacidad e interoperabilidad.

Se basa en estándares de la industria y tiene una arquitectura abierta que le asegura una conectividad e interoperabilidad segura con diferentes EIS como DB2, CICS, IMS, MQ y Domino. También soporta proveedores de seguridad externos como RACF, TAM (Policy Director) o proxies inversos como WebSEAL.

La administración del sistema se compone de:

• Una consola administrativa que es una interfaz gráfica que proporciona muchas funciones de guía para tareas de despliegue y administrativas.

• El cliente de scripting (wsadmin) : el programa de scripting es un entorno no gráfico intérprete de comandos muy potente que permite realizar operaciones administrativas en entornos productivos y de forma desasistida.

• Programas de administración (Java Management Extensions): el producto soporta una interfaz de programación Java para desarrollar programas de administración. Todas las herramientas administrativas que se suministran con

Page 85: Libro Blanco de System Z

IBM Corporation 21/02/2011 85 de 131�

el producto están escritas de acuerdo al API, que se basa en la especificación JMX estándar de la industria.

• Herramientas de línea de comandos: son programas que se ejecutan desde una línea de comandos del sistema operativo y que permiten ejecutar tareas específicas, en contraposición con la administración de propósito general. Se pueden emplear para arrancar y parar servidores de aplicación, comprobar el estado de servidores, o añadir o eliminar nodos, etc.

• Ficheros de configuración: los datos de configuración del producto residen en ficheros XML que se gestionan a través de las herramientas mencionadas anteriormente.

Dentro del apartado de rendimiento, se encuentra el de monitorización del sistema y las aplicaciones, y que permite recolectar y analizar los datos relativos al comportamiento de aquéllos. Estas herramientas de monitorización incluyen:

Performance Monitoring Infrastructure (PMI).- Es la infraestructura clave para la monitorización de WebSphere Application Server y del resto de productos de la familia WebSphere. Los datos de rendimiento proporcionados por PMI ayudar a monitorizar y a hacer tuning del rendimiento del servidor de aplicaciones.

Tivoli Performance Viewer (TPV).- que permite analizar los datos de PMI.

A diferencia del tuning para rendimiento, que se focaliza en resolver problemas asociados con procesos que van lentos o que no están optimizados, la determinación de problemas se centra en encontrar soluciones a problemas funcionales. En este sentido podemos recurrir a visualizadores de class loader para diagnosticar problemas en este componente, o de dumps y log de errores, pasando por documentación de diagnóstico que describe técnicas de depuración disponibles para ayudar a resolver problemas con Java.

Page 86: Libro Blanco de System Z

IBM Corporation 21/02/2011 86 de 131�

5.5 MQ

Muchas grandes organizaciones hoy tienen legados de sistemas de IT de varios proveedores, y que a menudo dificultan la compartición de datos. Muchas de estas organizaciones también necesitan comunicarse y compartir datos electrónicamente con proveedores y clientes – que podrían a su vez tener otros sistemas diferentes. Sería útil disponer de una herramienta que gestione mensajes que podría recibir de otro tipo de sistema y enviar a otro diferente.

El software IBM WebSphere MQ facilita la integración de aplicaciones mediante el paso de mensajes entre aplicaciones y servicios web. Se usa en docenas de plataformas hardware y para mensajería punto a punto desde aplicaciones Java, C, C++ y COBOL. Tres cuartas partes de las empresas que compran sistemas de mensajería entre aplicaciones compran WebSphere MQ.

Las colas de mensajes y el software que las gestiona, como IBM WebSphere MQ for z/OS, permiten la comunicación programa a programa. En el contexto de las aplicaciones online, la mensajería y el encolamiento se deben entender tal y como sigue:

• Mensajería significa que hay programas que se comunican enviándose mensajes (datos) entre ellos, en lugar de llamándose entre ellos de forma directa.

• Encolamiento significa que los mensajes se dejan en colas en memoria, de manera que los programas pueden ejecutarse independientemente unos de otros, a diferentes velocidades y en diferentes momentos, en distintas localizaciones, y sin tener una conexión lógica entre ellos.

En la siguiente figura puede observarse un mecanismo básico de comunicación programa a programa utilizando un modelo de comunicación síncrono.

El programa A prepara un mensaje y lo pone en una cola 1. El programa B recoge el mensaje de la cola 1 y lo procesa. Tanto el programa A como el B usan un API para poner mensajes en la cola y recoger mensajes de la cola. Al API del WebSphere MQ se le llama Message Queue Interface (MQI).

Cuando el programa A pone un mensaje en la cola 1, el programa B puede no estar ejecutándose. La cola almacena el mensaje de forma segura hasta que el programa B arranca y está listo para obtener el mensaje. Del mismo modo, en el momento en el que el programa B obtiene el mensaje de la cola 1, el programa A puede no estar ya ejecutándose. Con este modelo, no existe el requerimiento de que los dos programa estén ejecutándose a la vez para que se puedan comunicar.

Hay un claro problema de diseño sobre cuánto tiempo el programa A debería esperar antes de continuar con su ejecución. Este diseño podría ser deseable en algunas situaciones, pero no cuando las esperas son muy prolongadas. Para gestionar estas situaciones, es para lo que se diseña la comunicación asíncrona.

Page 87: Libro Blanco de System Z

IBM Corporation 21/02/2011 87 de 131�

Figura n+17: modelo de diseño de aplicación síncrono

Usando un modelo asíncrono, el programa A pone mensajes en la cola 1 para que los procese el programa B, aunque es el programa C, actuando asíncronamente con respecto al programa A, el que obtiene las respuestas de la cola 2 y las procesa. Típicamente, el programa A y el programa C serían parte de la misma aplicación. Puede verse este flujo de actividad en la siguiente figura.

El modelo asíncrono es natural para WebSphere MQ. El programa A puede continuar poniendo mensajes en la cola 1 y no se bloquea teniendo que esperar una respuesta a cada mensaje. Puede continuar poniendo mensajes en la cola 1 incluso si el programa B falla. Si así ocurre, la cola 1 almacena los mensaje de forma segura hasta que el programa B rearranque.

En una variación del modelo asíncrono, el programa A podría poner una secuencia de mensajes en la cola 1, opcionalmente continuar con algún otro procesamiento, y luego volver a recoger y procesar las respuestas. A esta propiedad del WebSphere MQ en el que las aplicaciones que se comunican no tienen que estar activas al mismo tiempo, se le conoce como “independencia del tiempo”.

Page 88: Libro Blanco de System Z

IBM Corporation 21/02/2011 88 de 131�

Figura n+18: modelo de diseño de aplicación asíncrono

5.5.1 Tipos de mensajes

WebSphere MQ usa cuatro tipos de mensajes:

• Datagrama: un mensaje para el que no se espera respuesta.

• Petición: un mensaje para el que se espera respuesta.

• Respuesta: una respuesta a un mensaje de petición.

• Informe: un mensaje que describe un evento como la ocurrencia de un error o una confirmación de llegada.

Una cola de mensajes se usa para almacenar mensajes enviados por los programas. Se definen como objetos pertenecientes al gestor de colas.

Cuando una aplicación pone un mensaje en una cola, el gestor de colas se asegura de que el mensaje:

Page 89: Libro Blanco de System Z

IBM Corporation 21/02/2011 89 de 131�

• se almacene de forma segura.

• sea recuperable.

• se entregue una vez, y sólo una ve a la aplicación que lo recibe.

Esto es cierto incluso aunque el mensaje se entregue a la cola desde otro gestor de colas; a esto se le conoce como la propiedad de entrega asegurada del WebSphere MQ.

5.5.2 Gestor de Colas

El componente de software que posee y gestiona las colas se llama gestor de colas (queue manager, QM). En WebSphere MQ, el gestor de la cola de mensajes se llama MQM, y proporciona los servicios de mensajería a las aplicaciones, asegura que los mensajes se ponen en la cola correcta, enruta mensajes a otros gestores de colas, y procesa mensajes a través de la interfaz común de programación llama Message Queue Interface (MQI).

El gestor de colas puede retener mensajes para procesamiento futuro en el caso de indisponibilidades de aplicación o de sistema. Los mensajes se retienen en una cola hasta que se recibe una respuesta satisfactoria a través de MQI.

Hay similitudes entre los gestores de colas y los de bases de datos. Aquéllos poseen y controlan colas de forma similar a cómo los gestores de bases de datos poseen y controlan sus objetos de datos. Proporciona una interfaz de programación para acceder a los datos, y facilidades de administración, seguridad, autorización y recuperación.

Sin embargo, hay también diferencias significativas. Las bases de datos se diseñan para proporcionar almacenamiento de datos de larga duración con unos mecanismos de búsqueda muy sofisticados, mientras que las colas no están diseñadas de esa manera. Un mensaje en una cola indica por lo general que un proceso de negocio está incompleto. Podría representar una petición no satisfecha, una respuesta que no se ha procesado, o un informe sin leer.

5.5.3 Tipos de colas de mensajes

Existen diferentes tipos de colas de mensajes. Los más relevantes son los siguientes:

• Cola local.- Una cola es local es aquella poseída por el gestor de colas al que se conecta el programa de aplicación. Se usa para almacenar mensajes para los programas que usan el mismo gestor de colas. El programa de aplicación no tiene porque ejecutarse en la misma máquina que el servidor de colas.

• Cola remota.- Una cola es remota si la posee un gestor de colas diferente. Una cola remota no es una cola real; sólo es la definición de una cola remota al gestor de colas local. Los programas no pueden leer mensajes de una cola remota. Las colas remotas se asocian a una cola de transmisión.

• Cola de transmisión.- Esta cola local tiene un propósito especial; se usa como un paso intermedio cuando se envían mensajes a colas poseídas por un gestor de colas remoto. Estas colas son transparentes a la aplicación porque se usan internamente por la cola de iniciación del gestor de colas. Es a una cola local a la que el gestor de colas escribe (transparentemente al programador) un

Page 90: Libro Blanco de System Z

IBM Corporation 21/02/2011 90 de 131�

mensaje disparador (trigger) cuando se cumplen ciertas condiciones en otra cola local, por ejemplo, cuando se pone un mensaje en una cola de mensajes vacía o en un cola de transmisión. Dos aplicaciones WebSphere MQ monitorizan las colas de iniciación y leen mensajes disparadores, el monitor de disparadores y el iniciador de canal. El primero puede arrancar aplicaciones, dependiendo del mensaje, y el segundo arranca la transmisión entre gestores de colas.

• Cola de no entregados (dead-letter).-Un gestor de colas debe poder gestionar situaciones cuando no puede entregar un mensaje, por ejemplo:

o La cola de destino está llena

o La cola de destino no existe

o Las altas de mensajes en la cola de destino se han inhabilitado

o El que envía no está autorizado a usar la cola de destino

o El mensaje contiene un número de secuencia de mensaje duplicado

Cuando ocurre una de estas condiciones, el mensaje se escribe a la cola de no entregados. Esta cola se define cuando se crea el gestor de colas, y cada gestor de colas tiene una. Se usa como depositario de todos los mensajes que no se pueden entregar.

5.5.4 ¿Qué es un canal?

Un canal es un enlace de comunicación lógico. El estilo conversacional de la comunicación programa a programa requiere la existencia de una conexión de comunicaciones entre cada par de aplicaciones que se comunican. Los canales aíslan a las aplicaciones de los protocolos de comunicaciones que están por debajo.

WebSphere MQ usa dos tipos diferentes de canales:

• Canal de mensaje: es el que conecta a dos gestores de colas a través de agentes del canal de mensajes (MCAs). Es unidireccional, compuesto por dos agentes de canal de mensajes (un emisor y un receptor) y un protocolo de comunicaciones. Un MCA transfiere mensajes desde una cola de transmisión a un enlace de comunicaciones, y de un enlace de comunicaciones a una cola destino. Para comunicaciones bidireccionales, es necesario definir un par de canales con emisor y receptor.

• Canal MQI: conecta a un cliente MQ a un gestor de colas. Los clientes no tienen un gestor de colas de su propiedad. Es bidireccional.

5.5.5 ¿Cómo queda asegurada la integridad transaccional?

Un negocio podría requerir que a dos o más bases de datos distribuidas se mantuvieran sincronizadas. MQ ofrece una solución que a su vez supone que muchas unidades de trabajo actúen asíncronamente (como puede verse en la siguiente figura).

Page 91: Libro Blanco de System Z

IBM Corporation 21/02/2011 91 de 131�

Figura n+19: modelo de diseño de aplicación asíncrono

La parte de arriba de la figura muestra una estructura de two-phase commit, mientras que la solución WebSphere MQ se presenta en la mitad de abajo:

La primera aplicación escribe en una base de datos, pone un mensaje en una cola, y emite un syncpoint para confirmar los cambios a los dos recursos. El mensaje contiene datos que se usan para actualizar una segunda base de datos en un sistema separado. Cuando se confirma la unidad de trabajo, se hace disponible el mensaje para obtenerlo con un MCA.

En la segunda unidad de trabajo, el MCA que envía obtiene el mensaje de la cola de transmisión y lo envía al MCA que recibe en el sistema con la segunda base de datos, y el MCA que recibe coloca el mensaje en la cola de destino. Todo esto se lleva a cabo de forma fiable gracias a la propiedad de entrega asegurada de WebSphere MQ. Cuando se confirma una unidad de trabajo, el mensaje queda disponible para que se obtenga por parte de la segunda aplicación.

En la tercera unidad de trabajo, la segundo aplicación obtiene el mensaje desde la cola de destino.

Es la integridad transaccional de las unidades de trabajo 1 y 3 y la entrega garantizada del WebSphere empleada en la unidad de trabajo 2, los que asegurar la integridad de la transacción de negocio completa. Si la transacción de negocio es más compleja, habrá muchas unidades de trabajo involucradas.

Page 92: Libro Blanco de System Z

IBM Corporation 21/02/2011 92 de 131�

5.5.6 Un ejemplo de mensajería y encolamiento

Veamos con un ejemplo de agencia de viajes las facilidades de mensajería jugando el papel de reserva de unas vacaciones. Asumamos que el agente de viajes debe reservar un vuelo, una habitación de hotel, y un coche de alquiler. Todas estas reservas deben ir bien antes de que la transacción de negocio completa se dé por completada.

Con un gestor de colas como WebSphere MQ,la aplicación puede enviar varios peticiones a la vez; no necesita esperar por una respuesta a una petición antes de enviar la siguiente. Se coloca un mensaje en cada una de las tres colas, sirviendo la aplicación de reservas de vuelos, la de reservas de hotel y la de alquiler de coches. Cada aplicación entonces puede llevar a cabo su tarea respectiva en paralelo con las otras dos y colocar un mensaje de respuesta en la cola de respuesta. La aplicación del agente espera a estas respuestas y genera una respuesta consolidada al agente de viajes.

Aunque la aplicación podría procesar normalmente las respuestas sólo cuando se hubieran recibido todas, la lógica del programa puede especificar qué hacer también cuando sólo se reciben conjuntos parciales de respuestas en un determinado periodo de tiempo.

Figura n+20: proceso paralelo

Page 93: Libro Blanco de System Z

IBM Corporation 21/02/2011 93 de 131�

5.5.7 Interfaz con CICS, IMS, Batch, o TSO/E

WebSphere MQ está disponible en una amplia variedad de plataformas. WebSphere MQ for z/OS incluye algunos adaptadores que proporcionan soporte de mensajería y encolamiento para:

• CICS – el bridge WebSphere MQ-CICS

• IMS – el bridge WebSphere MQ-IMS

• Batch o TSO

5.6 Middleware Bases de Datos

Dado que ya se aprovechó la sección del IMS dentro del capítulo de middleware transaccional para detallar las características del IMS DB, este capítulo lo dedicaremos en exclusividad a DB2, sistema gestor de bases de datos relacional por excelencia en z/OS. Al final del capítulo podrá verse un resumen del VSAM, método de acceso y organización de ficheros tradicional del entorno operativo, y que actualmente sigue soportando parte tanto de la información de los clientes, como de los propios subsistemas del z/OS.

5.6.1 DB2

Una base de datos proporciona el almacenamiento y el control de los datos del negocio. Es independiente de una o más aplicaciones. Si está bien diseñada y desplegada, la base de datos debería proporciona una vista única y consistente de los datos, así que se puede controlar y gestionar de forma centralizada.

Una manera de describir la visión lógica de esta colección de datos es usar un modelo de entidad-relación. La base de datos almacena los detalles (atributos) de elementos particulares (entidades) y las relaciones entre los diferentes tipos de entidades. Por ejemplo, para la aplicación de control de stock, se deberían tener Piezas, Pedidos de Compra, Clientes y Pedidos de Clientes (entidades). Cada entidad tendría atributos, así por ejemplo la Pieza tendría el Número de Pieza, el Nombre, el Precio Unitario, la Cantidad,

Estas entidades también tendrían relaciones entre ellas, por ejemplo un cliente se relacionaría con los pedidos que hace, y que a su vez se relacionaría con las piezas que han sido ordenadas. La siguiente figura muestra un modelo de entidad-relación.

Page 94: Libro Blanco de System Z

IBM Corporation 21/02/2011 94 de 131�

Entidades, Atributos y Relaciones

Un sistema de gestión de base de datos, como el componente IMS DB o el DB2, proporciona un método para almacenar y usar los datos de negocio en la base de datos. Se dan facilidades a los usuarios del sistema para que lleven a cabo distintos tipos de operaciones en el propio sistema como son la manipulación de los datos en la base de datos o la gestión de la propia estructura de la base de datos.

Los sistemas de gestión de bases de datos (DBMSs) se categorizan de acuerdo a sus estructuras de datos. Hay diferentes tipos de bases de datos que pueden usarse en el mainframe para explotar el z/OS, listas invertidas, jerárquicas, en red, o relacionales. En contraposición a la navegación por la estructura de la base de datos jerárquicas, en el caso de las bases de datos relacionales (RDBMS) el acceso se lleva a cabo nombrando las estructuras de datos y poniendo condiciones de búsqueda a los atributos de aquéllas.

5.6.1.1 ¿Qué estructuras existen en una base de datos relacional?.

La base de datos (database): es una agrupación lógica de datos. Contiene un conjunto de espacios de tablas y de índices relacionados. Una base de datos, típicamente, contiene todo el dato asociado con una aplicación o grupo de aplicaciones relacionadas.

Tabla : Es una estructura lógica compuesta por filas y columnas. Las filas no tienen un orden predeterminado, y si se leen los datos podrían necesitar ordenarse. El orden de las columnas es el que se especifica cuando se crea la tabla por parte del administrador. En la intersección de cada columna y fila hay un elemento de datos específico que se llama valor, o más precisamente, valor atómico. A una tabla se le nombra por un calificador de alto nivel del usuario propietario seguido del nombre de la tabla. Hay tres tipos de tablas:

• Tabla base que se crea explícitamente y contiene datos persistentes.

• Tabla temporal que almacena resultados intermedios de consultas.

• Tabla de resultados que se devuelve cuando se consultas las tablas.

Ejemplo de una tabla

Page 95: Libro Blanco de System Z

IBM Corporation 21/02/2011 95 de 131�

En la figura anterior puede verse un ejemplo de tabla donde,

• El conjunto ordenado de columnas son DEPTO, DEPTNAME, MGRNO y ADMRDEPT. Todos los datos de una determinada columna deben ser del mismo tipo.

• Cada fila contiene datos para un determinado departamento.

• En la intersección de una columna y una fila hay un valor. Por ejemplo, PLANNING es el valor de la columna DEPTNAME en la fila del departamento B01.

Índices: un índice es un conjunto ordenado de apuntadores a filas de una tabla. A diferencia de las filas de una tabla que no están en un orden específico, un índice se mantiene siempre en orden por el DB2. Un índice se usa para dos propósitos:

• Para rendimiento con el fin de recuperar valores de datos de forma rápida.

• Para unicidad.

Creando un índice por el nombre del empleado se pueden obtener los datos más rápidamente para un empleado que leyendo la tabla entera. También creando un índice único por número de empleado, el DB2 fuerza la unicidad de cada valor.

Claves: es una o más columnas que se identifican como tales en la creación de una tabla o índice, o en la definición de la integridad referencial.

• Clave primaria: una tabla sólo puede tener una clave primaria porque es la que define a la entidad. Deben cumplir dos condiciones:

o Debe tener valor; no se admiten valores nulos.

o El valor debe ser único; debe tener un índice único definido sobre ella.

• Clave única: sabemos que la clave única debe ser única, pero es posible que tengamos más de una clave única en una tabla. En el caso de una tabla de empleados, tanto el número de empleado como su identificación fiscal son atributos que definen claves únicas. Para asegurar que sean claves únicas se definen sobre ellas índices únicos.

• Clave ajena: es una clave que se especifica en una restricción de integridad referencial haciendo su existencia dependiente de una clave primaria o única (clave padre) en otra tabla (o en la misma). En una tabla de empleados, el departamento en el que trabaja un empleado debe existir en la tabla de departamentos. Esta constricción es parte de la definición de la tabla.

Antes vimos algunas estructuras básicas comunes a los RDBMS. Ahora, veamos algunas estructuras de datos específicas de DB2.

Vistas : una vista es una forma alternativa de ver los datos en una o más tablas. Es como un marco que ponemos a una tabla para que sólo se puedan ver parte de los datos de la tabla. Por ejemplo, se puede crear una vista sobre la tabla de departamentos para permitir que los usuarios sólo tengan acceso a un determinado departamento y actualicen información de salarios; no se desea que puedan ver los salarios de otros departamentos. Las vistas también se pueden usar para simplificar conjuntas complejas a usuarios menos experimentados.

Page 96: Libro Blanco de System Z

IBM Corporation 21/02/2011 96 de 131�

Espacio de tablas : una tabla se sólo una construcción lógica. Se guarda en un fichero físico llamado espacio de tablas. Pueden contener una o más tablas. Se nombra usando el nombre de la base de datos seguido por el nombre del espacio de tablas. Hay tres tipos de espacios de tablas: simples, segmentados y particionados. El DB2 utiliza ficheros VSAM para sus espacios de tablas.

Index space : es otra estructura de almacenamiento que contiene un solo índice. De hecho, cuando se crea un índice, el DB2 automáticamente define un espacio de índices.

Grupos de almacenamiento: un grupo de almacenamiento consta de un conjunto de volúmenes en disco (DASD) que contienen los ficheros en los que se han almacenado tablas e índices.

En la siguiente figura pueden verse los objetos que hemos estado describiendo anteriormente:

Jerarquía de objetos en un subsistema DB2

Si nos centramos en estructuras de esquemas, el DB2 proporciona:

UDT (User-Defined Data Type) – es una forma de que los usuarios definan sus propios tipos de datos por encima de los tipos de datos habituales de tipos alfanumérico y numéricos.

UDF (User-Defined Function) – se puede definer sobre una función DB2 existente y puede asimilarse a un programa de aplicación que se accedería por una sentencia SQL.

Page 97: Libro Blanco de System Z

IBM Corporation 21/02/2011 97 de 131�

Trigger (disparador. gatillo) – define una serie de acciones que se ejecutan cuando se lleva a cabo una inserción, actualización o borrado en una tabla determinada.

Large Object (LOB) – es un tipo de dato que usa el DB2 para gestionar datos no estructurados. Hay tres tipos:

• Binary Large Objects (BLOBs) – se usan para imágenes, audios y videos.

• Character Large Objects (CLOBs) – se usan para grandes documentos de textos.

• Double Byte Character Large Objects (DBCLOBs) – se usan para almacenar grandes documentos de texto escritos en idionas que requieren caracteres de doble byte como el Kanji.

Los LOBs se almacenan en tablas auxiliares especiales apuntadas desde la tabla base y que usan un espacio de tablas de LOB especial.

Procedimiento almacenado – es un programa de aplicación escrito por el usuario que se almacena y ejecuta típicamente en el servidor. Diseñados específicamente para el entorno cliente servidor, donde desde aquél se hace una llamada a éste para ejecutar el procedimiento almacenado, y que a su vez accede a los datos en DB2 y devuelve los resultados. Se puede asimilar a un programa de aplicación que se define al DB2 y lo gestiona el subsistema DB2.

Nos queda explicar un poco cuáles son y para que sirven las estructuras del sistema DB2; son las siguientes:

Catálogo y directorio – el DB2 mantiene él mismo un conjunto de tablas que contienen metadatos sobre los objetos DB2 del subsistema. El catálogo guarda información sobre todos los objetos, tales como tablas, vistas, índices, espacios de tablas, etc. El directorio guarda información sobre los programas de aplicación. El catálogo puede consultarse para ver información de los objetos; el directorio no se puede consultar. Cuando se crea una tabla de usuario, el DB2 automáticamente guarda el nombre, el creador, su espacio de tablas y la base de datos en el catálogo y pone esta información en una tabla del catálogo llamada SYSIBM.SYSTABLES. Todas las columnas definidas en la tabla se guardan automáticamente en la tabla SYSIBM.SYSCOLUMNS. Además, para guardar que el propietario de la tabla tiene autorización sobre la misma, se inserta automáticamente una fila en SYSIBM.SYSTABAUTH. Cualquier índice que se cree sobre la tabla se guardaría en la tabla de catálogo SYSIBM.SYSINDEXES.

Buffer Pools – son áreas de memoria virtual en las que el DB2 almacena temporalmente páginas de los espacios de tablas e índices. Actúan como un área de cache entre el DB2 y el almacenamiento físico en disco donde residen los datos. La página de datos se obtiene del disco y se ubica en una página del buffer pool. Si el dato que se necesita ya está en un buffer, se evita un acceso (I/O) al disco.

Log activo y archivo – el DB2 guarda todos los cambios a los datos y otros eventos significativos en un log. Esta información se usa para recuperar los datos en el caso de un fallo, o para que se puedan echar los cambios hacia atrás hasta un punto anterior en el tiempo. El DB2 escribe cada registro de log en un fichero que se llama log activo. Cuando el log activo se llena, el DB2 copia los contenidos a un fichero en disco o en cinta que se llama log archivo. Un fichero de bootstrap lleva la cuenta de estos ficheros de log activos y archivos. El DB2 usa esta información en escenarios de recuperación, para rearranques del sistema, o para cualquier actividad que requiere leer el log.

Page 98: Libro Blanco de System Z

IBM Corporation 21/02/2011 98 de 131�

5.6.1.2 Espacios de direcciones del DB2

DB2 necesita al menos tres espacios de direcciones, el de servicios de sistema (MSTR), el de servicios de bases de datos (DBM1) y el de gestión de los bloqueos (IRLM). Además podría desplegarse el Distributed Data Facility (DDF) que se usa para comunicarse con otros subsistemas DB2. Véase la siguiente figura:

El DB2 es un subsistema z/OS multi-espacio de direcciones

Una parte muy importante del subsistema DB2 es el conjunto de las utilidades cuya función es que el administrador de la base de datos pueda mantener los objetos.

Se ejecutan a través de trabajos batch (jobs) que están a su vez en librerías de ficheros propiedad del administrador. Sin embargo, hay herramientas que generar el JCL del trabajo como es el caso de Administration Tool o la opción Utility del panel de DB2 interactivo (DB2I).

Podrían dividirse en las siguientes categorías:

Utilidades de organización de los datos – después de creadas las tablas, el DBA emplea la utilidad de LOAD para poblarlas, con la posibilidad de comprimir grandes volúmenes de datos. La utilidad UNLOAD o el programa ensamblador DSNTIAUL permiten al administrador mover o copiar datos entre subsistemas. Es posible mantener los datos en un cierto orden gracias a la utilidad de reorganización, REORG. Inserciones y cargas sucesivas pueden alterar ese orden, y es cuando el DBA planifica REORGs en base a los informes de la utilidad de RUNSTATS que proporciona información de estadísticas y rendimiento. Se pueden pasar estadísticas incluso sobre los catálogos de los sistemas.

Utilidades de copia y recuperación – es fundamental que el DBA tome copias imagen de los datos e índices con la utilidad COPY. Las copias pueden ser completas o incrementales. Como las recuperaciones sólo pueden hacerse a copias completas, se recurre a la utilidad MERGECOPY para mergear copias incrementales con una completa La utilidad RECOVER durante una recuperación a un punto anterior en el tiempo, permite volver la tabla a una copia imagen. Más a menudo, se emplea el recuperar una tabla a situación actual, echando mano en primer lugar a una copia imagen, y aplicando el conjunto de cambios que figuren en el log. Sin una copia imagen, un índice se puede recrear a través de la utilidad REBUILD INDEX.

Page 99: Libro Blanco de System Z

IBM Corporation 21/02/2011 99 de 131�

Utilidades de consistencia de datos – una de las utilidades básicas de consistencia de datos es CHECK, que puede usarse para comprobar y ayudar a corregir integridad referencial e inconsistencias, especialmente después de una carga masiva o de una recuperación. Un uso típico de las utilidades es ejecutar un RUNSTATS, luego un EXPLAIN, y después otra vez un RUNSTATS.

Tanto el administrador del sistema como el DBA utilizan comandos DB2 para monitorizar el subsistema. Tanto el panel de DB2I como la Administration Tool proporcionan la facilidad de entrar comandos DB2. El comando –DISPLAY DATABASE muestra el estado de los espacios de tablas y de los índices de una determinada base de datos. –DISPLAY UTILITY presenta el estado de una utilidad. También hay comandos para mostrar el estado del buffer pool, de las conexiones a DB2 y de la información de los logs.

El Structured Query Language (SQL) es un lenguaje de alto nivel que se usa para especificar qué información necesita un usuario sin tener que saber cómo obtener el resultado. El SGBDR es el responsable de desarrollar el camino de acceso necesario para devolver los datos de la consulta del usuario. Se usa sobre una o más tablas y devuelve el resultado como una tabla de resultados.

El SQL se subdivide en tres categorías de acuerdo a la funcionalidad que tienen:

• DML – lenguaje de manipulación de datos que se usa para leer y modificar datos.

• DDL – lenguaje de definición de datos que se usa para definir, cambiar y borrar objetos DB2.

• DCL – lenguaje de control de datos que se usa para conceder y revocar autorizaciones.

Hay varias herramientas que pueden emplearse para entrar sentencias SQL:

SPUFI, que significa SQL Processing Using File Input. Es parte del panel de DB2I. Lo utilizan muy a menudo los administradores de bases de datos. Permitir escribir y guardar una o más sentencias SQL a la vez. El DBA lo usa para conceder y revocar autorizaciones; a veces, cuando es una petición urgente, también se emplea para crear objetos. También lo emplean los desarrolladores para probar consultas.

QMF, que significa Query Management Facility. Permite entrar y salvar sólo una sentencia a la vez. La facilidad principal del QMF es la del reporting; permite diseñar formatos de informe flexibles y reusables, incluyendo gráficos.

5.6.1.3 Programación de aplicaciones en DB2

El SQL es un estándar de lenguaje de acceso a las bases de datos relacionales necesario para acceder y manipular datos en una base de datos DB2. Se puede usar o dinámicamente con un programa que interprete como el SPUFI, o puede estar embebido y compilado, o ensamblado, con un lenguaje de programación.

¿Cómo se escriben las aplicaciones que acceden a datos DB2?: para hacerlo el SQL se embebe en el código fuente de un lenguaje de programación, como Java, REXX, C, C++, COBOL, Fortran, PLI/I o high-level Assembler. Hay dos categorías de sentencias SQL que pueden usarse en un programa: las estáticas y las dinámicas.

SQL estático : se refiere a sentencias SQL que se escriben en el código fuente. En el proceso de preparación del programa, el DB2 desarrolla los caminos de acceso para las sentencias, y éstos se guardan en DB2. El SQL no cambia de ejecución a ejecución, usándose los caminos de acceso siempre sin que el DB2 tenga que crearlos de nuevo,

Page 100: Libro Blanco de System Z

IBM Corporation 21/02/2011 100 de 131�

un proceso que causa overhead (no todas las sentencias SQL deben tener un camino de acceso).

SQL dinámico : se refiere a sentencias SQL que son parcial o totalmente desconocidas cuando se escribe el programa. Sólo cuando se ejecuta el programa, el DB2 sabe cuáles son las sentencias y es capaz de determinar los mejores caminos de acceso. Estos no se guardan porque pueden cambiar de una ejecución a otra. Un ejemplo de esto es el SPUFI. Este es realmente un programa de aplicación que acepta sentencias SQL dinámicas. Son las que se entran en el fichero de entrada. Cada vez que se usa el SPUFI, el SQL puede cambiar, por lo que se embeben en el programa sentencias de preparación de SQL especiales para gestionar esto.

Page 101: Libro Blanco de System Z

IBM Corporation 21/02/2011 101 de 131�

5.7 SW de gestión

La gestión de sistemas se encarga de la gestión tradicional de la la infraesructura . Para sistemas z/OS existen diferentes áreas de especialización que en su conjunto forman la gestión de sistemas. Estas áreas son:

• Operaciones z/OS gestión de los eventos mainframe centralizada. De ello se encargan los operadores de consola y los especialistas en la automatización del sistema.

• Explotación z/OS: Planificación de los trabajos, Gestión del almacenamiento, Gestión del batch (Ucls y salidas).

• Servicios de soporte técnico: monitorización específica de dominios, diagnóstico y gestión de incidentes, análisis de capacidad, estudio de tendencias, análisis de rendimiento y uso. Este trabajo afecta a los técnicos de sistemas, analístas de aplicaciones, administradores de base de datos, administradores de almacenamiento o técnicos de comunicaciones.

• Seguridad: auditoría y control de acceso a los recursos. El administrador de seguridad sería el responsible.

5.7.1 Gestión de almacenamiento

El sistema operativo z/OS dispone de una gestión de almacenamiento que hace mas fácil las funciones de este tipo de gestión:

• Asignación de espacio de almacenamiento con límites y controles dependiendo de quien lo pide, el entorno donde se pide, etc…

• Liberación de espacio no usado o caducado

• Salvaguarda y recuperación de los datos mediante backups.

• En el apartadoa 4.1.5 existe una descripción de estas funciones.

5.7.2 Gestión de la operación (Tivoli SA y Netview)

El objetivo de las operaciones z/OS es mantener el más alto grado de disponibilidad de los sistemas z/OS. Para lograr este objetivo es crítico tener control sobre las redes de comunicación en el z/OS, y poder automatizar acciones correctivas en caso de detectar perdidas de disponibilidad. Es asimismo importante una gestión de eventos centralizada mainframe donde se observe no solo situaciones de indisponibilidad sino situaciones de degradación del servicio para poder actuar preventivamente antes de sufrir pérdidas de disponibilidad.

Estas dos funciones las proporciona el Tivoli Netview for z/OS y la aplicación específica de operación Tivoli System automation

5.7.2.1 Disponibilidad de red

Tivoli NetView for z/OS proporciona funciones que ayudan a mantener el grado más alto de disponibilidad de las redes del System z. Ofrece un conjunto amplio de herramientas para gestionar y mantener redes y sistemas complejos desde un único

Page 102: Libro Blanco de System Z

IBM Corporation 21/02/2011 102 de 131�

punto de control. Porporciona funciones de correlación avanzada para automatizar cualquier evento de red o de sistema, soportanto tanto redes SNA como TCP/IP. La gestión de redes IP con Netview incluye:

• Gestión de SNA sobre IP usando la tecnología Enterprise Extender

• Soporte de dynamic virtual IP addresses (DVIPA)

• Descubrimiento recursos IP y correlación de topología

• Gestión de conexiones: tanto activas como históricas

• Trazas de paquetes y formateo a nivel de pila y de Open Systems Adapter (OSA): ayudan en el diagnóstico de problemas

• Soporte de comandos desde la linea de comandos de Netview o desde procedimientos REXX u otras rutinas de automatización. * Soporte servidor IP: funciones de REXEC, RSH, Syslogd

• Respuesta automática a intrusiones: junto con las funcionalidades del Communication Server de detectar intrusiones, el Netview automatiza acciones como el envio de notificaciones, o la recogida de información.

• Eventos: incluyendo traps SNMP, alertas y mensajes, eventos EIF (event integration facility), eventos con especificación CBE (common base event).

• Soporte de IP versión 6

• Network address translation

• Seguridad: previene conexiones no autorizadas al Netview, protege direcciones IP de comandos.

Las capacidades como motor de automatización incluyen:

• Automatización de respuesta a mensajes y eventos y correlación de los mismos

• Revisión (Parsing) de mensajes y comandos

• Comandos de temporarización

• Autotareas: reciben mensajes y lanzan comandos

• Exits de instalación: rutinas de usuario que pueden modificar el comportamiento del Netview.

5.7.2.2 Automatización del sistema con Tivoli System Automation

Tivoli System Automation for z/OS (SA z/OS) es una aplicación basada en Netview diseñada para proporcionar un punto de control único para un amplio espectro de funciones de gestión de sistemas. Es una pieza clave en la automatización. Sus funciones principales son ver, controlar y automatizar un gran número de elementos del sistema desde hadware hasta software. Entre sus funciones destacan:

Page 103: Libro Blanco de System Z

IBM Corporation 21/02/2011 103 de 131�

• Monitorización de recursos que afectan al usuario final: monitoriza componentes hardware, monitoriza aplicaciones y productos software, monitoriza procesos automáticos y monitoriza mensajes y alertas.

• Toma de acciones: arranca y para todo el sistema (Inicia secuencias de arranque y parada de hardware y software), gestiona operaciones remotas y locales en un Parallel Sysplex , gestiona diferentes sistemas operativos (z/OS, OS/390®, MVS™, VM, VSE, y Linux for zSeries) , controla la coupling facility , reacciona a errores y eventos no planificados.

• Automatiza tareas repetitivas y complejas: inicia y para recursos software, inicia y para recursos hardware, controla canales y channel paths, controla disponibilidad de dispositivos de E/S, controla el switching de los puertos de los dispositivos de E/S, detecta y responde a mensajes del sistema, realiza el initial program load (IPL) ,realiza el system power-on reset (POR), construye las políticas de automatización del sistema y da soporte a rutinas de usuario para aumentar la potencia de la automatización.

5.7.2.3 Gestión del Sysplex.

Tivoli SA gestiona el Sysplex a traves de sus capacidades de monitorización y control de recursos de sistema y de Sysplex tales como CFs, imagenes z/OS, pilas TCP/IP, interfaces IP, CPs, LPARs, etc…

Para ello utiliza las siguientes capacidades:

• Descubrimiento, usando XCF, del estado operativo de todos los Netview en el Sysplex lo que permite la alta disponibilidad del Netvie

• Monitorización del Sysplex y de los recursos del sistema usando una combinación de monitorización por muestreo y monitorización por evento

• Integración en el Tivoli Enterprise Portal

Existe además una aplicación basada en Tivoli SA específica para suministrar Alta Disponibilidad a dos o mas sistemas z/OS y zLinux asegurando asimismo la integridad de los datos.

Esta tecnología es el GDPS y ya fue descrita en capítulos anteriores.

5.7.3 Gestión del Batch

En z/OS hay dos tipos de carga Online y Batch. Así como la carga Online se planifica globalmente y se gestiona con el WLM, la carga Batch requiere una planificación relativamente fija, lo que la hace especialmente apropiada para el uso de una herramienta ejecute esta planificación liberando a los operadores de esta tarea repetitiva.

El Tivoli Workload Scheduler es el planificador de IBM y permite gestionar la mayor parte de las dependencias a las que esta sometido un trabajo Batch:

• De un Hardware específico, por ejemplo tipos de cartucho.

• De la presencia o no de Monitores transaccionales o de BBDD. Por ejemplo un proceso batch que deba ser submitido despues de parar el CICS.

• De recursos del sistema operativo, tales como los iniciadores del JES2/3.

Page 104: Libro Blanco de System Z

IBM Corporation 21/02/2011 104 de 131�

• De la finalización (correcta o incorrecta) de otros trabajos.

• De parámetros variables que pueden ser cambiados en cada ejecución.

• De parámetros de tiempo. De la hora del día, del día de la semana o del año. Algunos jobs tienen que ser ejecutados los Viernes. Algunas veces hay reglas complejas para saber cuando un día es de vacaciones.

Cuando se usa el Tivoli Workload Scheduler for z/OS para lanzar los trabajos batch, estas dependencias se definen en una base de datos por un administrador.

Este crea un plan a largo plazo (long-term plan LTP). En este plan se especifican las ejecuciones de cada aplicación así como sus depedencias.

Ademas, cada día se crea un plan diario (current plan CP). Este es un plan detallado que tiene en cuenta las dependencias anteriores y es el que finalmente se ejecuta.

5.7.4 Monitorización y rendimiento

5.7.4.1 SMF (System Management Facility)

En un entorno multitarea es importante recojer información acerca del comportamiento del sistema y de las diferentes cargas de trabajo que se ejecutan en el mismo.

Los components del z/OS y los subsistemas, recojen datos estadísticos y se lo pasan al SMF que lo guarda en sus ficheros.

Hay mas de 100 tipos distintos de registros SMF y contienen información acerca del uso de CPU, de la actividad de ficheros, del uso de la CF, de actividades de I/O de arranque de sistemas, de uso de DB2, de uso de WAS, etc….

Estos registros SMF una vez tratados con los correspondientes generadores de informes, se usan para tareas que van desde la planificación de las necesidades futures de capacidad hasta la detección de problemas o cuellos de botella en discos, pasando por el perfil de los tiempos de acceso a una estructura de la CF a lo largo del día.

5.7.4.2 RMF

RMF es un producto especializado en el análisis del uso de los recursos y en como estan siendo utilizados de acuerdo con los objetivos de rendimiento de los distintos tipos de carga.

Ayuda a monitorizar y vigilar el rendimiento y detector y analizar problemas en ese area.

Tambien se usa para obtener perfiles de carga y es la base para los estudios de crecimiento.

Con el RMF, se puede:

Determinar si el sistema esta funcionando adecuadament

Detectar cuellos de botella producidos por contención de recursos

Evaluar el servicio que se está dando

Detectar problemas tanto en el sistema como en las aplicaciones

Page 105: Libro Blanco de System Z

IBM Corporation 21/02/2011 105 de 131�

Tiene components Online, componentes de recogida de datos (que almacena el SMF) y un componente Post-Procesos.

Se suele hablar de tres monitores RMF:

Monitor I Recoge datos para el análisis a largo plazo. Esta continuamente activo y graba registros resumiendo la información a intervalos especificados. El valor por defecto es de 15 minutos.

Monitor II Hace una ‘foto’ del sistema en ese instante. Recoge datos acerca del estado de los AS y de la utilización de los recursos.

Monitor III Recoge datos para el análisis a corto plazo. Es un monitor enfocado principalmente al estudio de los retrasos en ejecución y su causa. Aunque también tiene datos de uso de recursos.

5.7.4.3 Tivoli Omegamon

Además del RMF, los monitores Omegamon,proporcionan métricas en tiempo real, pasado reciente e histórico que sirven para generar eventos y ayudar en el diagnóstico de problemas. Se integran con la automatización para la resolución automática de la degradación del servicio y son fuente de información para las herramientas de generación de informes. Los monitores que IBM proporciona son:

Tivoli OMEGAMON XE for z/OS: monitorización sistema operativo z/OS

Tivoli OMEGAMON XE for CICS: monitorización del CICS

Tivoli OMEGAMON XE for IMS: monitorización del IMS

Tivoli OMEGAMON XE for DB2 Performace Expert: monitorización del DB2

Tivoli OMEGAMON XE for Mainframe Networks: monitorización TCP/IP y SNA

Tivoli OMEGAMON XE for Messaging: monitorización de WebSphere MQ y WebSphere Message Broker

Tivoli OMEGAMON XE for Storage: monitorización de almacenamiento

Tivoli Advanced Catalog Management: monitorización catálogos

Tivoli Advanced Audit for DFSMShsm: monitorización de auditorías de ficheros de control del HSM

Tivoli Advanced Reporting for DFSMShsm: monitorización HSM

Tivoli Advanced Backup and Recovery: monitorización conformidad normativa de copias de seguridad.

Tivoli Tape Optimizer: monitorización copiado cintas del RMM.

Tivoli Composiste Application Manager for Application Diagnostics: monitorización de WebSphere Application Server

Tivoli Composite Application Manager for SOA: monitorización de servicios web

Tivoli Composite Application Manager for Transactions: monitorización transacciones multiplataforma.

Page 106: Libro Blanco de System Z

IBM Corporation 21/02/2011 106 de 131�

Tivoli OMEGAMON DE: para generar paneles de control multidominio

5.7.4.3.1 Tivoli Enterprise Portal como interface de monitorización

Los distintos monitores OMEGAMON, se integran utilizando el Enterprise Portal como Interface de monitorización.

Permite establecer umbrales de rendimiento, generar y enviar comandos, adaptar los informes a las necesidades concreta y permite visualizar tanto el pasado reciente como el histórico.

Este sería un ejemplo de Enterprise Portal

Además, el IBM Tivoli Enterprise Portal, debido a su función integradora de información, permite ver diferentes segmentos de la compañía en una única ventana. Proporciona un punto de control único para gestionar los recursos que usan las aplicaciones críticas de negocio, incluyendo una gran variedad de sistemas operativos, servidores, bases de datos, mainframes, y componentes web.

A continuación algunos detalles sobre los componentes mas comunes

5.7.4.3.2 Monitorización de z/OS con Tivoli OMEGAMON XE for z/OS

Con el Tivoli OMEGAMON XE on z/OS se puede realizar un análisis detallado de forma rápida y sencilla de cada uno de los elementos que componen el sistemas z/OS, Sysplex Paralelo, z/OS incluyendo los Unix System Services. Se puede comprobar y optimizar el Workload Manager, a nivel de servicios y recursos. Y desde una sola pantalla, se puede obtener múltiples vistas de las operaciones del sistema y sus iteraciones con otros componentes simplificando de esta manera enormemente la gestión del entorno.

Proporciona información detallada acerca de uso de CPU de los espacios de direcciones, análisis de cuellos de botellas (incluyendo E/S y detalles de encolamiento),

Page 107: Libro Blanco de System Z

IBM Corporation 21/02/2011 107 de 131�

channel paths, estructuras en la coupling facility, cross-system coupling facility (XCF), DASD, enclaves, enqueues, sistemas global resource serialization (GRS) ring , análisis de impacto, LPARs, alertas de operador, paginación, uso de real storage y virtual storage, clases de servicios, utilización de CPU del sistema, cintas, WLM, USS, tiempo de respuesta de usuario.

5.7.4.3.3 Monitorización de CICS con Tivoli OMEGAMON XE for CICS

Tivoli OMEGAMON XE for CICS gestiona proactivamente los sistemas CICS, incluyendo CICSPlex para alcanzar el mejor rendimiento, y evitar caídas o pérdidas de servicio.

Sus funciones principales son:

Gestionar el rendimiento y disponibilidad del CICS TS y CICS TG

Rastrear el flujo de la transacción integrado con Tivoli Composite Application Manager

Identificar tareas esperando a recursos, y señalar tiempos de espera excesivos para resolver problemas rápidamente

5.7.4.3.4 Monitorización de DB2 con Tivoli OMEGAMON XE for DB2

Tivoli OMEGAMON XE for DB2 ayuda a analizar la eficiencia del DB2 y optimizar su rendimiento

Monitoriza, analiza y optimiza el rendimiento de DB2

Identificación fácil y rápida de cuellos de botellas gracias a reglas predefinidas

Combina informes en batch con monitorización en tiempo real e información histórica

Guarda datos de rendimiento para explotarlos con herramientas de análisis.

5.7.4.3.5 Monitorización de la transacción con Tivoli Composite Application Manager for Transactions

IBM Tivoli Composite Application Manager for Transactions (ITCAM for Transactions) ofrece un completo sistema de gestión de seguimiento de transacciones completo y unificado que se ejecuta en una sola infraestructura consolidada. Puesto que el aislamiento de problemas en los complejos entornos actuales de IT puede llevar horas o días y puede suponer una pérdida de tiempo y de beneficios y un deterioro de la satisfacción del cliente, ITCAM for Transactions proporciona una solución para aislar componentes del problema y agilizar el diagnóstico y la restauración del servicio antes de que un impacto negativo en el cliente afecte directamente a los beneficios.

Sus principales componentes son:

Internet Service Monitoring, que proporciona las herramientas para identificar problemas de disponibilidad y de tiempo de respuesta y supervisa para probar la disponibilidad y el rendimiento de distintos servicios de Internet, que incluyen sitios web de supervisión, aplicaciones e-Commerce basadas en la web y correo electrónico (así como los servicios subyacentes, como DNS, LDAP y SMTP en los que se basan estos servicios).

Response Time, que se centra en la experiencia del usuario final, tanto real como simulada, supervisando transacciones web, reproduciendo scripts grabados y

Page 108: Libro Blanco de System Z

IBM Corporation 21/02/2011 108 de 131�

experiencias de escritorio de usuarios reales. Response Time incluye los componentes siguientes:

Application Management Console y Editor de configuración de gestión de aplicaciones

Transaction Tracking, que ofrece una vista completa de tiempos de respuesta del sistema para ayudar a aislar rápidamente la causa de los problemas de tiempo de respuesta y de disponibilidad. Transaction Tracking incluye los siguientes componentes:

Transaction Collector

Transaction Reporter

También dispone de componentes que permiten su utilización con, prácticamente, cualquier infraestructura SW.

Page 109: Libro Blanco de System Z

IBM Corporation 21/02/2011 109 de 131�

6 Integración en los modelos IT más usados en la actualidad

6.1 SOA

6.1.1 Introducción El objetivo principal de este capítulo no es definir la arquitectura orientada a servicios (SOA) u otros términos relacionados con él, sino para aclarar el papel del Mainframe en un mundo centrado en SOA. La inclinación natural para muchos es suponer que sólo afecta a los sistemas SOA distribuidos y la tecnología que es inferior a cinco años de edad! Sin embargo, esto está lejos de la verdad.

El Mainframe del siglo 21 puede remontar sus orígenes a los ordenadores System/360 de mediados de la década de 1960. Uno de los puntos clave del diseño del System/360 fue implementar una arquitectura de computadores que escala dentro de la familia a lo largo de continuas actualizaciones sin perder la compatibilidad hacia atrás de las aplicaciones. El compromiso de IBM con este nivel de compatibilidad se ha mantenido desde entonces. Debido a esta compatibilidad con versiones anteriores, muchos programas que fueron escritos hace décadas todavía se pueden ejecutar en los actuales sistemas Mainframe de IBM. Esto ha proporcionado un importante valor empresarial para nuestros clientes, ya que les ha permitido proteger la inversión en sus aplicaciones.

Sin embargo, cuando el mundo ha adoptado las nuevas tecnologías y arquitecturas, esto ha planteado un problema: ¿cómo liberar el poder de estos activos de la empresa en las arquitecturas de computación nuevas que han surgido en los últimos años? Este reto se inició con la Arquitectura Cliente / Servidor de la década de 1990, y ha continuado hasta hoy. SOA es simplemente una extensión de ese desafío.

6.1.2 Estándares en SOA Afortunadamente, SOA posee un atributo clave que posiciona el Mainframe como un participante de pleno derecho. En la página Web de IBM developerWorks se refiere a los siguientes atributos de SOA: La interfaz se define en una forma neutra que debe ser independiente de la plataforma de hardware, el sistema operativo y el lenguaje de programación en la que se lleva a cabo el servicio.

Los estándares son críticos para SOA, y específicamente para la participación de entornos heterogéneos, la realidad actual, en la arquitectura SOA. A través de la normalización de las interfaces entre los servicios, ahora es posible para todos los fabricantes (como IBM) incorporar estas normas en los sistemas de procesamiento de transacciones y los sistemas de gestión de base de datos para que las aplicaciones existentes se puedan integrar fácilmente en un entorno SOA. Hay una serie de normas que permiten esta interacción, pudiéndose destacar las siguientes:

Page 110: Libro Blanco de System Z

IBM Corporation 21/02/2011 110 de 131�

Servicios de Web - Una de las normas más importantes que surgieron en los últimos diez años es el SOAP. SOAP define un formato común XML para describir las llamadas de servicio y los mensajes de intercambio de los servicios invocados. SOAP es un protocolo simple basado en XML para las aplicaciones de intercambio de información a través de HTTP o mensajería middleware. La aparición de SOAP como un estándar de transporte ha contribuido a que los proveedores puedan habilitar SOAP sus subsistemas para hacer más fácil para los servicios de interactuar. El protocolo de transporte HTTP es relativamente ubicuo, y como resultado, los mensajes SOAP se pueden pasar entre las plataformas de computación, proporcionando la neutralidad del Sistema Operativo que se describe en la definición de SOA. Más adelante en este trabajo se presentan detalles acerca de cómo el software de la plataforma z ha implementado SOAP y otros interfaces estándares para facilitar los servicios Web que llaman a las operaciones del Mainframe y sus datos.

� XML - XML no es una nueva tecnología, ha estado en uso durante más de cinco años. Es fundamental para la interoperabilidad necesaria entre los servicios en SOA. El carácter de independencia de las descripciones XML, junto con el gran número de utilidades que lo procesan, lo convierten en un formato de representación de datos ideal para la información que fluye en las invocaciones de servicio. Esta generalización se extiende a la plataforma System z, donde el procesamiento de XML es posible en los nuevos servidores de aplicaciones, como la tecnología WebSphere Application Server (WAS) y en los tradicionales como CICS, IMS. Los compiladores de COBOL y PL/I incluyen el soporte de XML.

� Middleware orientado a mensajes – La mensajería ha existido desde hace muchos años, proporcionando un mecanismo fiable, y de transporte rápido, para pasar datos entre aplicaciones. Muchos clientes han empleado IBM WebSphere MQ (MQSeries ®) como el transporte para llamar a funciones remotas en sistemas separados, al igual que lo hace SOAP. De hecho, WebSphere MQ se puede utilizar como el transporte base para SOAP. WebSphere MQ de IBM (WMQ) está presente en el negocio de muchos clientes de IBM en todo el mundo, y esta penetración ha ayudado a hacer WMQ un estándar de facto para las aplicaciones de comunicaciones programa a programa.

SOA no es sólo los servicios Web. Una arquitectura orientada a servicios se pueden implementar sin necesidad de utilizar los servicios Web, aunque esto sea poco común. SOA simplemente debe basarse en hardware con un sistema operativo y un transporte de lenguaje que de manera neutra faciliten la comunicación entre los servicios. En el caso de IBM System z, WebSphere Message Broker es un componente clave de la infraestructura SOA de muchos clientes. Su implementación en la plataforma System z facilita el transporte e intermediación de los servicios con las características de escalabilidad y resiliencia de esta plataforma.

6.1.3 Construyendo las TI con nuevos parámetros

El objetivo de SOA es conseguir que las aplicaciones sigan agilidad y flexibilidad que exige el negocio y uno de los caminos es abordar la modernización de las aplicaciones. Los retos

Page 111: Libro Blanco de System Z

IBM Corporation 21/02/2011 111 de 131�

para la modernización de aplicaciones, en términos generales, se pueden categorizar en tres áreas:

� Maleabilidad de las aplicaciones existentes: Muchas de las aplicaciones en z/OS, especialmente aquellas aplicaciones que no han sido escritas pensando en su reutilización, se clasifican como lo que la industria denomina aplicaciones monolíticas. Estas aplicaciones suelen estar fuertemente cohesionadas e incurren en altos costos de mantenimiento y mejora (aproximadamente un 70% del presupuesto de TI de una organización se gasta en mantenimiento). Aunque estas aplicaciones incorporan un gran conocimiento del negocio, son difíciles de cambiar con la finalidad de cumplir con los nuevos requisitos de negocio. A menudo, esta dificultad en replanteamiento de las aplicaciones conduce a tomar decisiones sobre si se deben reescribir las aplicaciones para hacer su extensión más flexible y fácil. Pero la reescritura podría no ser siempre la mejor opción, si tenemos en cuenta la cantidad de código involucrado, de las repercusiones en las interdependencias, y del dilema de la selección de plataforma para evitar el envejecimiento de las nuevas aplicaciones.

� Extensibilidad y capacidad de los conocimientos: Tenemos tres retos concretos en el ámbito de los conocimientos.

o Uno de ellos es que los desarrolladores suelen estar especializados en un entorno determinado, y sus habilidades no son portables a través de diferentes proyectos ya que proyecto está a menudo asociado a una plataforma (por ejemplo, los desarrolladores de CICS no crean programas Web y los desarrolladores Web no crean aplicaciones para CICS). También utilizan diferentes procesos, herramientas y lenguajes de programación.

o El segundo reto es el coste y el tiempo necesario para adaptar al personal existente a las nuevas tecnologías.

o El tercer desafío es que los "baby boomers", la gente que puede manejar las plataformas de aplicaciones existentes, están desapareciendo. No pueden ser sustituidos por las nuevas generaciones ya que no entienden o no tienen interés en las antiguas tecnologías y esto obliga a los administradores de TI a considerar la contratación externa, la estabilización, el final de la vida de las aplicaciones, la vuelta a escribirlas, y así sucesivamente. Todas estas opciones son difíciles y costosos. El desarrollo de software es lento, repetitivo y propenso a errores. Muchos aplicaciones existentes están escritas en RPG, COBOL, PL / I, 4GL, etc. Las nuevas aplicaciones requieren Java, Java Enterprise Edition, y otras habilidades relacionadas con la Web 2.0. El paradigma de desarrollo, por lo general, diferencia entre los lenguajes existentes orientados procedimiento en comparación con los lenguajes orientados a objetos (por ejemplo; Java). Muchas veces, la reconversión profesional de un programador de COBOL para convertirse en programador de Java puede no ser una opción, debido a los altos costos asociados con la reconversión y la posibilidad de que el programador de COBOL falle en esta reconversión.

Multitud de plataformas y de middleware: Las fusiones y adquisiciones incrementan la necesidad de información comercial y presenta un desafío único que ahora tiene que hacer frente a plataformas y middleware dispares y heterogéneos. Estas consolidaciones podrían dar lugar a una fragmentación de los conocimientos necesarios para apoyar estas plataformas y añadir complejidad de las interfaces entre las aplicaciones. Todo ello tiende a frenar el desarrollo de las funciones necesarias. Estos desafíos que a menudo se traducen en altos costos, reducen la capacidad

Page 112: Libro Blanco de System Z

IBM Corporation 21/02/2011 112 de 131�

de responder de forma rápida a los requisitos del negocio y a ofrecer soluciones alternativas de lo que el equipo de desarrollo es capaz de realizar en lugar de aquellas otras soluciones que reclama Negocio.

6.1.4 Mejores prácticas SOA

En general, el primer paso es realizar una planificación adecuada para identificar los servicios correctos como primer paso. Para esto, quizás sea útil considerar el uso de metodologías, como el de Modelado de Componentes de Negocio (CBM) o la de Modelado de la Arquitectura Orientad a Servicios.(SOMA). Es importante señalar que no todos los componentes, módulos o interfaces de un programa tienen que convertirse en un servicio.

También es necesario considerar las tecnologías que faciliten la gestión y utilización de servicios, tales como Enterprise Service Bus (ESB) y los procesos de coreografía.

Por último, pero no menos importante, se debe abordar el gobierno de OA. En un entorno orientado a la reutilización de los servicios es imprescindible el mantenimiento de un gobierno que establezca y mantenga las normas y políticas para todos los proyectos de TI.

En particular, para la plataforma System z, hay una tendencia a pensar en las aplicaciones de System z como proveedores de servicios pero, de hecho, las aplicaciones del sistema z puede ser también consumidoras de servicios. En SOA, cada componente puede ser a la vez proveedor y el consumidor; y restringir los componentes plataforma System z como únicamente proveedores hace aumentar la coreografía de servicios innecesariamente. Otro punto a señalar es que la estratificación o la separación adecuada de las funciones es bueno y perfectamente aplicable la arquitectura de la plataforma System z de componentes. Al crear nuevas aplicaciones, o renovar las existentes, de los entornos CICS o IMS, considere un enfoque por capas en los programas con la separación en distintos módulos de la presentación, la lógica de negocio, la lógica de datos, y del acceso a los datos.

Por último, un banco de pruebas para las aplicaciones y los procesos es muy importante para todos los proyectos SOA, Esto no es una cualidad ligada a SOA pero sus características de heterogeneidad hacen imprescindible disponer de un entorno fiable y completo para garantizar la calidad del resultado.

Albergando SOA en la plataforma System z.

La Arquitectura Orientada a Servicios (SOA), en su forma más pura, requiere de muy poca sobrecarga en la infraestructura, la naturaleza de la orientación al servicio, simplemente dicta una lógica estructuración de código de aplicación que encapsula las funciones de negocio como servicios. La definición de SOA no hace referencia a algún tipo de middleware o software de apoyo. Simplemente se refiere a la normalización de los la interfaz de servicio y a la neutralidad de la plataforma. Sin embargo, en las grandes implementaciones SOA, no es realmente práctico para aplicar sin necesidad de herramientas para ayudar a la conectividad y la orquestación de la interacción entre los servicios. Por otra parte, otras herramientas auxiliares son necesarias en la mayoría de las implementaciones de SOA, incluyendo desarrollo y herramientas de pruebas, herramientas de interfaz de usuario como los portales, y la supervisión y aplicaciones de gestión. En esta sección se describe por qué IBM System z es un ideal plataforma para el funcionamiento de estas herramientas y productos de middleware que se encuentran comúnmente utilizados en la aplicación de una SOA.

A medida que las organizaciones adoptan SOA como marco de referencia de arquitectura para desarrollo de aplicaciones empresariales, la necesidad de desplegar con rapidez los nuevos servicios se ha convertido en uno de los componentes más críticos para el negocio de la infraestructura de aplicaciones. Esta implica que los servicios deben ser tratados como tales, y debe implementarse en una plataforma robusta, escalable, segura y de alto rendimiento. Junto con los servicios, el middleware de infraestructura de SOA y las herramientas también deben residir en la plataforma

Page 113: Libro Blanco de System Z

IBM Corporation 21/02/2011 113 de 131�

que acoge el entorno SOA. La plataforma System z, en particular, es el entorno más adecuado para proporcionar cualidades de servicio que las aplicaciones de una empresa necesitan.

¿Cuáles son los componentes clave de la infraestructura SOA? La Arquitectura de Referencia SOA de IBM, que se muestra en la figura anterior, define los elementos y componentes básicos necesarios para apoyar un entorno SOA.

En el centro de esta arquitectura de referencia está el Enterprise Service Bus (ESB). Alrededor del ESB están los servicios esenciales necesarios para soportar la ejecución de un ambiente SOA: servicios de interacción, servicios de procesos, servicios de información, los servicios de asociados, servicios de aplicación empresarial, y servicios de acceso. En los siguientes párrafos nos referiremos brevemente a cada uno de estos elementos. Junto con los servicios básicos, las casillas que los rodean escriben las demás funciones que serán necesarias para apoyar los servicios antes, durante y después de su despliegue. Tanto el Websphere Message Broker como el Websphere ESB son productos que pueden utilizarse para realizar estas funciones con la calidad necesaria para la plataforma System z.

6.1.4.1 Servicios de Infraestructura

En la base de la Arquitectura de Referencia SOA está la plataforma para su implementación. Esto incluye el despliegue del hardware y software para los servicios de negocio y los servicios de infraestructura. Un entorno de producción por lo general requiere el más alta grado de calidad de servicio (QoS), y el componente de los servicios de infraestructura proporciona la calidad de servicio. Los servicios de esta capa incluyen las funciones del sistema operativo, las de seguridad, y las de hardware. Esta exigencia de un alto nivel de servicio es en la plataforma System z donde juega un importante papel. Teniendo en cuenta las misiones de naturaleza crítica, las funciones de la plataforma añaden el más alto grado de escalabilidad, confiabilidad, y seguridad; tanto el Security Server, para la implementación de la seguridad, como los Servicios de Recuperación de Recursos (RRS), para el soporte nativo del “two phase commit” y garantizar la integridad de las transacciones con acceso a múltiples sistemas, son dos claros ejemplos de los valores que aporta la plataforma System z a la arquitectura SOA.

6.1.4.2 Servicios de Desarrollo

Las fases Model y Assemble del ciclo de vida SOA hacen un amplio uso de los servicios de desarrollo de la arquitectura. Los servicios de desarrollo incluyen las herramientas que se utilizan para el modelado y el montaje de los servicios de negocio. El modelado consiste en el modelado de los procesos de negocio y el modelado de los servicios reales de negocio y de la lógica de negocio dentro de ellas. Las herramientas pueden ser las herramientas del más alto nivel adecuado para los analistas de negocio y, herramientas de menor nivel, como los utilizados para el desarrollo orientado a objetos.

Page 114: Libro Blanco de System Z

IBM Corporation 21/02/2011 114 de 131�

La salida de estas herramientas consta de artefactos tales como los modelos UML, el código fuente de la aplicación real en una variedad de lenguajes como Java o COBOL, y lenguajes de marcado como XML y el lenguaje de ejecución de procesos empresariales (BPEL).

Desde la perspectiva de System z, la mayoría del código de desarrollo y las herramientas de modelado no se ejecutan en el Mainframe. Sin embargo, si el cliente desea construir nuevos servicios o la reutilización de servicios ya existentes en el Mainframe, herramientas como el WebSphere Integration Developer o el WebSphere Developer para zSeries se utilizan para construir e integrar los servicios que se desplegarán en el Mainframe.

6.1.4.3 Servicios de Gestión TI

Los componentes de la infraestructura SOA consisten principalmente en middleware. Al igual que las arquitecturas de aplicaciones tradicionales, una implementación SOA requiere de los niveles adecuados de supervisión y gestión del middleware y aplicaciones para garantizar un nivel adecuado de rendimiento del sistema y su seguridad.

Esto es particularmente importante en un sistema basado en SOA ya que las aplicaciones compuestas SOA puede abarcar varias plataformas de computación y redes, y podrá exigir garantías y contextos transaccionales que se llevarán a partir de un servidor o sistema operativo a otro. La depuración y corrección de errores, los problemas de rendimiento en este entorno requiere una buena supervisión y herramientas de gestión.

Muchas herramientas de la cartera de Tivoli proporcionan la funcionalidad para la gestión de servicios de TI. Algunos ejemplos: para supervisar el rendimiento de extremo a extremo, IBM Tivoli Composite Application Manager for SOA y el Tivoli Omegamon proporcionan las herramientas de seguimiento necesarias para controlar los componentes en una aplicación de varios niveles que abarca distribuidos y sistemas Mainframe.

6.1.4.4 Servicios de innovación y optimización de los Negocios

Si bien la infraestructura de TI se controla y gestiona a través de los servicios de TI componentes de gestión, ¿qué pasa con los servicios de negocio? Una organización pueda garantizar un nivel adecuado de rendimiento del sistema y aplicación, pero ¿qué pasa con el rendimiento del negocio? La innovación empresarial y servicios de optimización componente proporcionan la funcionalidad necesaria para una efectiva supervisión y registrar lo que se pasando en la empresa desde una perspectiva puramente empresarial. ¿Cuántos aparatos se vendieron en la última hora / día / mes / año? ¿Cuánto tarda en arrancarse el proceso de atención al cliente? ¿Cuántos clientes hicieron una petición de servicio ayer? Este componente proporciona las herramientas necesarias para controlar este tipo de funciones de negocios, el informe de los resultados y pasar los resultados a las herramientas de modelado (utilizado en el componente de desarrollo de los servicios) de manera que los procesos se pueden modelar con más precisión, se puedan realizar simulaciones, y se pueden hacer modificaciones a los procesos empresariales para mejorar aún más la eficacia de la empresa.

El WebSphere Business Monitor ofrece un monitor que vigila los servicios de negocio y acumula los informes y las estadísticas acerca de cómo las funciones de negocio están realizando. De nuevo, esto no es una pregunta como "¿Cómo de rápida es la ejecución de esta transacción?". En su lugar, se pregunta y responde "¿Cuántos de estas funciones de la empresa estamos realizando y con qué eficiencia las estamos haciendo?”.

Page 115: Libro Blanco de System Z

IBM Corporation 21/02/2011 115 de 131�

6.1.4.5 Servicios de Interacción

El componente de interacción de servicios proporciona la interfaz de usuario de la solicitud SOA. Un principio clave de SOA es la abstracción de las capas de aplicación. En este caso, la interfaz de la aplicación de usuario (UI) está expuesta en una capa separada de la lógica de negocio. Los servicios de interacción se piensan comúnmente como la capa de portal, desde la interfaz de usuario para muchas aplicaciones SOA se proporciona un portal, aunque esto componente no es obligatorio.

El portal no sólo proporciona una abstracción de la interfaz de usuario, sino que también proporciona un conjunto estándar de servicios para el usuario final y una experiencia de usuario personalizada. Con las nuevas normas tales como Web Services para Remoto Portlets (WSRP), aplicaciones de portal (portlets) puede ser más fácil vinculadas a los servicios para facilitar la integración entre la interfaz de usuario y la lógica de los servicios de negocio.

WebSphere Portal Server es el componente principal de proporcionar una interacción los servicios y está disponible en la plataforma System z (así como en las plataformas distribuidas).

Como se mencionó anteriormente, en un diseño de SOA, la proximidad a los servicios, transacciones y datos es un principio básico del diseño arquitectónico. La colocación de un portal en la plataforma, cerca de los servicios que se invoca, reduce los gastos generales de comunicación y los puntos de fallo.

6.1.4.6 Servicios de Procesos

Un atributo clave de una aplicación SOA es que a menudo es una “aplicación compuesta, es decir una que se construye a partir de varios servicios discretos, todos ellos conectados a través de algún tipo de motor de orquestación. El proceso de los servicios componentes proporciona la orquestación de flujo de trabajo y servicios que se requieren para fusionar múltiples servicios en una sola aplicación. Esta aplicación puede ser una sola transacción, o puede ser una serie de transacciones que se unieron en un proceso de negocio.

El WebSphere Process Server (WPS), y en menor medida, de WebSphere Message Broker (WMB), actúan como servidores de la coreografía de procesos. WPS provee orquestación de servicios múltiples, impulsado por un "guión" se expresa en BPEL. WPS es el ejecutor de BPEL. WMB ejecuta los "flujos de mensajes" provocados por los mensajes entrantes, y puede invocar funciones y servicios múltiples. WMB se utilizaría para los servicios que se agrupan en una sola transacción.

El WPS puede albergarse en la plataforma System z. La colocación de este componentes en System z satisface el principio de arquitectura de la proximidad a los datos y transacciones.

6.1.4.7 Servicios de Información

Los datos están en todas partes. En las últimas décadas, las empresas han recogido grandes cantidades de datos en diferentes repositorios en todo el negocio. Los servicios de información proporcionan acceso basado en SOA para los repositorios de datos a través de técnicas tales como el acceso a los procedimientos almacenados como servicios Web, proporcionando interfaces estándar para los depósitos de datos no relacionales, y acceder a otras mecanismos que devuelven información como un

Page 116: Libro Blanco de System Z

IBM Corporation 21/02/2011 116 de 131�

servicio (IAAS). Puesto que los datos o información en sí misma no son "ejecutables", se necesita una infraestructura para exponer los datos a las aplicaciones que utilicen estándares SOA como SOAP.

Muchos de los datos críticos del patrimonio de la empresa residen en el Mainframe. IBM proporciona una serie de z herramientas basadas en la plataforma System z para exponer los datos como IAAS. El propio DB2 para z / OS propio motor, y el WebSphere Information Integrator Classic Federation para z/OS (IICF). IICF proporciona una interfaz SQL para una serie de formatos de datos “legacy”, como VSAM, IMS DB, y de otros fabricantes de bases de datos incluyendo CA-Datacom, CA IDMS, y Adabas de Software AG.

6.1.4.8 Servicios de integración

El componente de servicios de integración de socios es la interfaz para socios de negocios externos. La exposición de los servicios empresariales con el mundo exterior y la invocación de servicios externos plantean desafíos a la integridad y a la seguridad del entorno SOA. Los servicios deben ser expuestos de una manera que mantenga la seguridad y la escalabilidad del servicio, ya que esto hace que los patrones de uso del servicio sean mucho menos predecibles y controlables que si se está accediendo exclusivamente desde la propia organización. Históricamente, gran parte de la interacción con los socios externos se ha hecho a través de mecanismos tales como EDI.

Los servicios de asociados se proporcionan en el Mainframe a través de canales tradicionales, como WebSphere Data Interchange, para la traducción EDI. El socio de WebSphere Partner Gateway de la cara al mundo exterior.

6.1.4.9 Servicios de Aplicaciones de Negocio

El recién desarrollado servicios de residir en el negocio de servicios de aplicaciones componentes. Estos nuevos servicios son generalmente implementarse en servidores, como IBM WebSphere Application Server, que es un administrador de transacciones para Java 2 Enterprise Edition (J2EE). El servidor de aplicaciones WebSphere puede utilizarse para aplicaciones con todas las funciones (presentación, lógica de negocio, y los datos lógica), o puede alojar los servicios de negocio que tienen las otras funciones de abstracción en otras partes de la arquitectura de referencia (ver Servicios Interacción y Servicios de Información).

WebSphere Application Server está disponible en la plataforma System z tanto en z / OS y en zLinux. En zLinux la versión es idéntica a la versión de WAS para plataformas distribuidas. Sin embargo, el WebSphere Application Server para z / OS es ligeramente diferente ya que explota el subyacente z / OS y aprovecha las funciones específicas del sistema sin sacrificar la portabilidad de aplicaciones.

6.1.4.10 Servicos de Acceso

De particular interés para los clientes de Mainframe es el componente de los servicios de acceso, la vinculación con las aplicaciones existentes, tanto dentro como fuera del Mainframe. Este componente proporciona la conectividad a las aplicaciones IMS, CICS, SAP, PeopleSoft, etc., utilizando diversos conectores y adaptadores con diversas tecnologías.

Page 117: Libro Blanco de System Z

IBM Corporation 21/02/2011 117 de 131�

6.1.4.11 Enterprise Service Bus

Aunque el bus de servicios empresariales (ESB) es el último tema que se presenta, es en realidad el punto crítico de la arquitectura de referencia. De la figura anterior se desprende que el ESB es, literalmente, el centro de la arquitectura de referencia de SOA, y que es importante para cualquier implementación de SOA. El ESB proporciona la capa de abstracción entre el solicitante del servicio y el proveedor del servicio. En las antiguas aplicaciones no-SOA, los vínculos entre las aplicaciones son con frecuencia no modificables y puedes ser difíciles de gestionar y mantener. Para cambiar las relaciones entre los programas, puede ser necesario cambiar las aplicaciones según evolucione el negocio o la tecnología.

La definición de IBM de un bus de servicios empresariales es el de una construcción arquitectónica y no la de un producto específico. La ESB debe apoyar cuatro funciones principales:

Enrutamiento de mensajes entre los servicios, eliminando la relación directa entre los interlocutores.

La conversión de protocolos de transporte entre el solicitante y el servicio, por ejemplo, SOAP a MQ, FTP para excitato, y así sucesivamente.

La transformación de formatos de mensaje, por ejemplo, la transformación de XML a binario.

Manejo de eventos de diferentes fuentes. Los eventos son recibidos del ESB con criterios de valoración y se correlacionan para desencadenar nuevos eventos basados en las decisiones en el ESB.

Cualquier producto o los productos que realizan las funciones requeridas se pueden clasificar como una aplicación de ESB.

Los productos WebSphere Enterprise Service Bus y el WebSphere Message Broker son la base del ESB en la solución SOA de IBM. Proporcionan las cuatro primarias funciones del ESB, y cuando se combinan con el WebSphere Process Server para la orquestación, los clientes de IBM tienen una infraestructura muy sólida para SOA.

La plataforma System z es el lugar ideal para colocar un ESB. Tanto el WebSphere Message Broker como el WebSphere ESB están disponibles en la plataforma System z con una escalabilidad y rendimiento imbatibles. La alta confiabilidad, disponibilidad y seguridad de la plataforma System z son atributos clave para un ESB. El ESB es un componente crítico de la arquitectura, realizando el encaminamiento de las llamadas de servicio para todas las transacciones SOA. Tiene sentido de poner la parte más crítica de la arquitectura en la plataforma que posee la más alta calidad en las características del servicio, junto con la proximidad a aplicaciones y datos.

6.2 Proceso en nube (Cloud computing).

En los últimos años se ha hablado mucho de ‘cloud computing’ pero ¿qué es Pproceso en nube?.

Page 118: Libro Blanco de System Z

IBM Corporation 21/02/2011 118 de 131�

En primer lugar debemos decir que existen dos puntos de vista a la hora de definir este ‘nuevo’6 concepto:

Desde el punto de vista del usuario, o del modelo de negocio, podemos decir que el proceso en nube es un nueva forma de proporcionar servicios de IT, en la cual las aplicaciones, los datos y los recursos se aprovisionan rápidamente y se proporcionan como una oferta estándar a los usuarios a través de la web con un modelo de precios flexible.

Desde el punto de vista de la administración de infraestructura tecnológica y de metodología de entrega de servicios, el proceso en nube es una forma de administrar un gran número de recursos altamente virtualizados tales que, desde el punto de vista de la administración, éstos parecen un único y gran recurso. Entonces se pueden utilizar estos recursos para ofrecer unos servicios estandarizados con una escalabilidad elástica.

Con el concepto de proceso en nube aparecen dos formas de ofrecer estos servicios: ‘nube privada’ y ‘nube pública’. La diferencia entre ellas es, por supuesto, quién ofrece dichos servicios y para quién los ofrecen. La ‘nube pública’ se caracteriza por estar abierta a cualquiera que pueda pagar sus servicios, tal cual los ofrezca el proveedor. Su caracteristica principal es que tiene un control bajo y un alto valor. Son las nubes del tipo de redes sociales ofrecidas por GOOGLE. La nube privada por el contrario es aquélla que poseen las compañías, y en las cuales los usuarios son aquéllos que designan dichas compañías. Su característica principal es que poseen un buen control y un valor bajo. Podemos considerar como un tipo de esta nube, las herramientas de colaboración que proporcionan las empresas a sus empleados.

Por supuesto, entre una y otra hay una especie de continuo, conocido como hybrido.

6 ‘Nuevo’ en la forma de referirnos a ello. En realidad más que un nuevo concepto es una evolución, como veremos más adelante

Page 119: Libro Blanco de System Z

IBM Corporation 21/02/2011 119 de 131�

Podemos considerar los siguientes pros a la hora de decidirnos por una nube privada: más control, menos latencia, más seguridad, un entorno de aprendizaje, un cambio de paradigma de precio/coste a precio/valor.

Una vez vistos los conceptos ya entendemos por qué más que una revolución es una evolución:

Esta escala nos muestra el camino que se ha seguido para llegar al cloud computing desde el mundo x86, pero, a mi me suena a una vieja y modernizada vuelta al mundo del ‘centro de procesos’. En la Universidad a mi me proporcionaron una ‘cuenta’ que era una máquina VM en la que podía correr mis programas FORTRAN para solucionar los problemas que me proponían….

Desde el punto de vista de la informática de gestión tenemos lo siguiente:

Dónde podemos ver que la puesta en marcha de estas nubes privadas requieren un alto grado de virtualización y estandarización, además de los servicios de automatización pertinentes, para poder llegar a una nube efectiva.

¿Cómo afecta esto al System z?

Podemos decir que la propia arquitectura del mainframe ha evolucionado por sí misma para llegar a este punto sin traumas:

Page 120: Libro Blanco de System Z

IBM Corporation 21/02/2011 120 de 131�

Ya hemos hablado del alto grado de virtualización que el System z proporciona. De su seguridad inigualable, De los miles de usuarios que el zVM puede soportar proporcionando a cada uno una visión de máquina propia. Todo esto son las bases del cloud computing, Si le unimos el rápido aprovisionamiento y la gran automatización que se puede conseguir, tenemos construida la nube sin más.

Un dato más: el System z consigue una utilización del 90% sin merma de su rendimiento, dato que queda muy lejos del 38% de utilización que consigue el tipo de nube basada en x86 (GOOGLE). Esto se engarza con el mayor consumo de energía de estas nubes y la mayor creación de ‘basura tecnológica’ que se genera, aparte de algunos otros ítems, como podemos ver en las siguientes gráficas:

Page 121: Libro Blanco de System Z

IBM Corporation 21/02/2011 121 de 131�

Con todo esto, IBM tiene actualmente varias ofertas de proceso en nube para el System z que, sin duda, irán creciendo a lo largo del tiempo.

Page 122: Libro Blanco de System Z

IBM Corporation 21/02/2011 122 de 131�

La evolución del IBM System z: zEnterprise

Casi todas las organizaciones se enfrentan a obstáculos informáticos en su camino al éxito empresarial. Los silos de tecnologías obsoletas no son compatibles con procesos que deben extenderse a toda la empresa. Las soluciones puntuales no proporcionan la calidad de servicio necesaria para sus aplicaciones más importantes con un ámbito empresarial.

Puede que haya sustituido o refinanciado sistemas existentes en un interno de modernizar su infraestructura. Sin embargo, se habrá dado cuenta de que el coste de estas migraciones suele ser superior al esperado y de que supone un riesgo importante.

� Los costes de sustitución de cada aplicación antigua estimados en entre 20 y 80 euros por línea suponen cientos de miles de millones de euros.

� La refinanciación implica grandes costes y riesgos: una lógica empresarial deteriorada y retrasos prolongados suelen acompañar a un desarrollo de primer nivel.

La modernización de activos existentes puede llevar a una mejora cinco veces superior respecto a un costoso enfoque de "quita y pon".

El aprovechamiento de inversiones existentes, en vez de sustituir o refinanciarlas, es un enfoque demostrado que permite obtener ventajas competitivas. Las arquitecturas orientada a los servicios (SOA) y las nuevas tecnologías pueden ayudar a cualquier Organización a modernizar, ampliar y reutilizar activos existentes a la vez que ahorran tiempo y dinero, y reducen riesgos. Tras la modernización, estos sistemas de TI ofrecen una mayor agilidad, flexibilidad y solidez, además de poder aumentar la productividad, lo que le permite responder con rapidez a las dinámicas de mercado y a las cambiantes necesidades comerciales.

La inversión que IBM ha realizado en la plataforma System z, que integra hardware y software con interfaces modernas y abiertas, permite a las organizaciones reinventar sus operaciones empresariales con el fin de obtener valor a corto plazo, e implantar nuevas prestaciones comerciales que aprovechan las inversiones existentes. Los mainframes de IBM System z proporcionan la plataforma ideal para cargas de trabajo empresariales estratégicas, ofrecen una integración sin igual en toda la plataforma e incorporan tecnologías que aceleran la implantación de nuevas prestaciones.

En definitiva, el camino a la modernización puede cambiar la forma en la que una Organización desarrolle, gestione y proporcione soluciones de TI; también puede mejorar todas sus operaciones desde sistemas a procesos y personas.

Modernización empresarial en zEnterprise

IBM zEnterprise System (zEnterprise) cubre los desafíos únicos de la informática empresarial. Gracias a este sistema, una Organización puede implantar una plataforma de hardware completamente integrada que abarca su empresa, mainframe integrados, tecnologías POWER7 y x86. Podrá consolidar con efectividad islas informáticas, reducir la complejidad, mejorar la seguridad y acercar aplicaciones a los datos que necesitan.

Con el zEnterprise puede ampliar el control inspirado en mainframe y las calidades de servicio para optimizadores de carga de trabajo para propósitos especiales e IBM Blades (selección de aplicaciones IBM POWER7 y System x Blades para AIX y Linux

Page 123: Libro Blanco de System Z

IBM Corporation 21/02/2011 123 de 131�

sobre System x). IBM zEnterprise Unified Resource Manager ofrece entornos heterogéneos conjuntamente en un único sistema, lo que proporciona a la Organización una gestión centralizada e integrada de todos los aspectos operativos críticos, incluidos supervisión y gestión de la energía, gestión de políticas orientadas al objetivo, aumento de la seguridad, redes virtuales y gestión de datos, consolidados en una única interfaz que se puede unir a los requisitos comerciales.

© 2010 IBM Corporation

IBM zEnterpriseThe integration of System z and distributed technologies into a revolutionary combination

� Workload specific accelerators to deliver significant performance and/or lower cost per transaction

Server Blades

� Runs app unchanged and supports what you know. Logical device integration between System z and distributed resources

IBM zEnterpriseBladeCenter Extension

IBM zCPC

IBM zEnterpriseUnified Resource Manager

� Unifies resources, extending System z qualities of service across the infrastructure

� Install, Monitor, Manage, Optimize, Diagnose & Service

� The industry’s fastest and most scalable enterprise server

� Ideally suited for large scale data and transaction serving and mission critical enterprise applications

Optimizers

HMCHMC

1 All statements regarding IBM future direction and intent are subject to change or withdrawal without notice, and represents goals and objectives only.

zEnterprise cuenta con dos componentes principales: IBM zEnterprise 196 (z196), tradicionalmente conocido como Central Electronic Complex (CEC) y IBM zEnterprise BladeCenter Extension (zBX). La infraestructura zBX funciona con z196 para ser compatible con el entorno multiplataforma zEnterprise. zBX tiene instalados optimizadores de carga de trabajo para propósitos especiales como el nuevo IBM Smart Analytics Optimiser para DB2 para z/OS V1.1, y IBM Blades para propósitos generales desarrollados por IBM POWER7. (Existe una declaración de dirección para añadir un blade basado en System x en un futuro próximo.) Puede ejecutar una aplicación que abarque z/OS, Linux® en System z, AIX en POWER, o Linux en System x bajo un paraguas de gestión único. System z ofrece a los departamentos de TI la protección de su inversión, reducción de la complejidad, flexibilidad mejorada y un menor coste de la propiedad. Unified Resource Manager puede ayudar a proporcionar una gestión y virtualización integrales, y la capacidad de optimizar la implantación de recursos de acuerdo con los requisitos de carga de trabajo individuales.

Page 124: Libro Blanco de System Z

IBM Corporation 21/02/2011 124 de 131�

© 2010 IBM Corporation

IBM System z: System Design Comparison

Balanced SystemCPU, nWay, Memory,

I/O Bandwidth*

Memory

System I/O Bandwidth

Processors

ITR for1-way

1.5 TB**

64-way

920

288 GB/Sec*

80-way

3 TB** ~1200

172.8 GB/sec*

600512 GB

54-way

96 GB/sec

450256 GB

32-way

24 GB/sec

30064 GB

16-way

z10 EC

z9 EC

zSeries 990

zSeries 900

zEnterprise GA1

* Servers exploit a subset of its designed I/O capability** Up to 1 TB per LPAR

zEnterpriseTLLB_21

Transformar sus activos de TI para proteger sus inv ersiones

Muchos lenguajes y aplicaciones antiguos del mainframe están estancados y carecen de funcionalidad, interfaces y estándares para permitir la integración con nuevas cargas de trabajo o un cambio rápido de la lógica empresarial para resolver los nuevos requisitos comerciales. Estas aplicaciones importantes para la empresa a menudo representan grandes inversiones durante años, y las organizaciones que desean implantar nuevos clientes o paquetes de aplicaciones no quieren arriesgarse a refinanciar aplicaciones de "quita y pon".

Desde los antiguos lenguajes 4GL a COBOL y Java™, zEnterprise es compatible con los conjuntos más completos del sector en lenguajes y entornos operativos, lo que puede ayudar a cualquier Organización a obtener el máximo valor de sus inversiones existentes y a respaldar una amplia diversidad de iniciativas de arquitectura y modernización. Nuestras inversiones en herramientas Rational Developer y ampliaciones de migración pueden ayudarle a reducir los costes operativos asociados a tecnologías obsoletas y proporcionar silos de desarrollo bajo una solución común de gestión del ciclo de vida relativa a aplicaciones y programación basada en equipos.

Modernice su empresa para maximizar la agilidad

La plataforma System z incluye tecnologías modernas que pueden permitir a una Organización a utilizar los elementos existentes de su infraestructura de aplicaciones de

Page 125: Libro Blanco de System Z

IBM Corporation 21/02/2011 125 de 131�

manera innovadora. La integración de procesamiento rentable y de alto rendimiento de Java™ y XML proporciona un entorno sólido de arquitectura orientada a servicios (SOA) que puede resolver los requisitos empresariales del mañana sin tener que rehacer la inversión de su organización en aplicaciones comerciales estratégicas.

Aprovechar una solución Smart SOA para habilitar aplicaciones antiguas para el servicio y la web con el fin de la reutilización puede eliminar la complejidad y mejorar la calidad. Cualquier Organización podrá mejorar drásticamente el rendimiento mediante la promoción de la reutilización de activos clave que ya estén en funcionamiento en su entorno. Y, por ello, salir al mercado con mayor rapidez con ciclos de desarrollo más reducidos.

La integración de zEnterprise de activos heterogéneos bajo un conjunto común de recursos gestionados y conectados con una red privada de datos a alta velocidad ofrece a la Organización niveles mejorados de integración, gestión de sistemas, rendimiento, calidad y seguridad para la implantación de sus aplicaciones basadas en arquitecturas orientadas a servicios. Sus modernas cargas de trabajo de WebSphere y Java pueden obtener un rendimiento mejorado de hasta el 60 por ciento en zEnterprise.

Page 126: Libro Blanco de System Z

IBM Corporation 21/02/2011 126 de 131�

Consolidación de servidores

En este anexo vamos a incluir una serie de consideraciones sobre la consolidación de servidores y las ventajas que la plataforma System z aporta en sus diversas aproximaciones.

Introducción La consolidación es mucho más que la simple sustitución de una gran cantidad de pequeños servidores por un menor número de servidores más grandes, más potentes. La consolidación es encontrar maneras de alinear y administrar la infraestructura de TI existente para apoyar mejor el modelo de negocio, la mismo tiempo que se establece una base flexible diseñada para manejar las posibles necesidades futuras. El objetivo es optimizar y simplificar la infraestructura de TI de principio a fin, no sólo los servidores, sino también el almacenamiento, los datos, las aplicaciones, las recursos de las redes, y las herramientas del sistema de gestión que ayudan a ver toda la infraestructura como un único elemento. Además de ofrecer el potencial de ahorro de costes y mejoras en la eficiencia, disponibilidad y la productividad, la consolidación puede proporcionar una base estable para el despliegue rápido de nuevas iniciativas según las necesidades del negocio evolucionen. Típicamente, una carga de trabajo UNIX, Linux o Microsoft ® Windows ®, está físicamente dividida en diferentes servidores físicos. Los servidores distribuidos normalmente cuentan con grandes espacios vacios para manejar picos de carga de trabajo. Estos servidores, por lo general, tiene una ocupación media muy baja (Windows 5% - 10%, UNIX 25% -30%).

Estas cargas de trabajo son claros candidatos para una consolidación y aprovechar sus ventajas. Los principales beneficios de la consolidación son los siguientes:

• Disminuir el costo total de propiedad (TCO) La consolidación puede ayudar a reducir la complejidad, establecer un mejor sistema de políticas y prácticas de gestión, optimizar la utilización de los recursos y controlar la espiral de consumo de hardware y los costes de las licencias de software.

• Mejora de los niveles de servicio de aplicaciones La consolidación puede ayudar a habilitar las aplicaciones que impulsan la integración de la empresa facilitando a los usuarios un mejor acceso a los datos, mayores niveles de disponibilidad, y mejores tiempos de respuesta.

• Mayor seguridad y resiliencia operativa La consolidación puede ayudar a controlar la seguridad de la información clave. Aprovechando las capacidades, líderes en la industria de TI, del System z se pueden conseguir entornos seguros, ágiles, próximos al 24x7, altamente resistentes a las interrupciones no planificadas, adaptarse a los cambios y con rápida recuperación. .

• La información como herramienta estratégica de negocios El modelo de computación distribuida a menudo crea islas de las aplicaciones y datos. La consolidación de los recursos de TI puede ayudar a asegurar que los datos críticos de negocio, y los procesos son accesibles y compartidos a través de la empresa.

Page 127: Libro Blanco de System Z

IBM Corporation 21/02/2011 127 de 131�

Tipos de Consolidación.

En el siguiente gráfico se representan los diferentes tipos de consolidación y las ventajas inherentes junto con los esfuerzos y riesgos asociados.

Se puede realizar una Consolidación de CPD (Site Consolidation) que

Consolidación en System z

Los puntos fuertes de la plataforma System z (su capacidad para ejecutar múltiples tipos de carga de trabajo con una fiabilidad excepcional, rendimiento, seguridad y administración) han sido imitadas pero nunca igualada por las plataformas de servidor.

La visión básica de una consolidación en Systemz es la realización de un Centro de Datos en una caja, no con una granja de servidores.

Las siguientes características de la plataforma System z la hacen ideal para consolidaciones:

• La Arquitectura z está diseñado para manejar cargas de trabajo heterogéneas. El Workload Manager (WLM) y el Intelligent Resource Director (IRD) realizan la gestión de cargas de trabajo mixtas y de los recursos de computación para permitir a las aplicaciones que comparten todos los elementos del sistema.

Page 128: Libro Blanco de System Z

IBM Corporation 21/02/2011 128 de 131�

• La plataforma System z incluye tecnologías avanzadas de virtualización.

• La plataforma System z tiene una fuerte historia como servidor de datos. Su arquitectura está diseñado para el acceso masivo a los datos, ya sea a través de Internet, a dispositivos de almacenamiento, o a sitios remotos de respaldo. El procesador especializado zIIP hace la integración de datos más atractiva.

• Construido sobre el WebSphere Application Server para z / OS, el System z incluye una gran pila de productos de middleware orientados a soportar las nuevas cargas de trabajo para la empresa on demand. El procesador especializado zAAP hace más rentable la ejecución de trabajos Java en el systemz.

• El entorno de System z ha sido diseñado para ofrecer integridad y soluciones de seguridad completas para ayudar a satisfacer las demandas actuales de explotación en materia de seguridad.

• La plataforma System z proporciona QoS inigualables. La consolidación en el System z permite que las aplicaciones aprovechen su excepcional fiabilidad, alta disponibilidad, escalabilidad, capacidad de servicio y capacidad de recuperación.

• Sofisticados sistemas de control y de gestión han estado disponibles en el System z durante años. (Consulte la sección "Gestión de sistemas" en la página 107.)

El system z proporciona diferentes sistemas operativos e, incluso, diversos procesadores que permite hoy albergar cualquier tipo de carga de trabajo. Un estudio de arquitectura permitirá definir la colocación adecuada de cada una de dichas cargas.

Page 129: Libro Blanco de System Z

IBM Corporation 21/02/2011 129 de 131�

Page 130: Libro Blanco de System Z

IBM Corporation 21/02/2011 130 de 131�

7 Bibliografía

Sin pretender ser exhaustivos,incluimos una relación de documentos sobre el System z que pueden ser de interés para profundizar en el conocimiento de las características que hemos descrito someramente en los capítulos anteriores.

• GDPS Family - An Introduction to Concepts and Capabilities, SG24-6374 • IBM System z9 and eServer zSeries Connectivity Handbook, SG24-5444 • IBM zSeries 990 Technical Guide, SG24-6947 • IBM System z9 Business Class Technical Introduction, SG24-7241 • IBM System z9 Enterprise Class Technical Guide, SG24-7124 • IBM System z9 109 Technical Guide, SG24-7124 • IBM System z9 and eServer zSeries Connectivity Handbook, SG24-5444 • OS/390 Workload Manager Implementation and Exploitation, SG24-5326 • ABCs of z/OS System Programming Volume 3 - Introduction to DFSMS, data set

basics, storage management hardware and software, VSAM, System-managed storage, catalogs, and DFSMStvs, SG24-6983

• ABCs of z/OS System Programming Volume 5 - Base and Parallel Sysplex, GRS, RRS; System Logger, z/OS system operations; ARM, GDPS, zSeries availability, SG24-6985

• ABCs of z/OS System Programming Volume 10 - Introduction to z/Architecture, zSeries processor design, zSeries connectivity, LPAR concepts, HCD, and DS8000, SG24-6990

• ABCs of z/OS System Programming Volume 11 - Capacity planning, performance management, WLM, RMF, SMF, SG24-6327

• Introduction to the New Mainframe: z/OS Basics, SG24-6366 • Introduction to the New Mainframe: Security, SG24-6776 • Introduction to the New Mainframe: Large-Scale Commercial Computing, SG24-

7175 • IBM System z Strengths and Values, SG24-7333 • The IBM TotalStorage DS8000 Series: Concepts and Architecture, SG24-6452 • DFSMShsm Fast Replication Technical Guide, SG24-7069 • The IBM TotalStorage® DS6000™ Series: Copy Services with IBM Eserver zSeries,

SG24-6782 • A Practical Guide to the IBM Autonomic Computing Toolkit, SG24-6635 • Problem Determination Using Self-Managing Autonomic Technology, SG24-

6665 • S/390 Time Management and IBM 9037 Sysplex Timer, SG24-2070 • z/OS V1R1.0 Parallel Sysplex Application Migration, SA22-7662 • z/OS V1R1.0 Parallel Sysplex Overview: An Introduction to Data Sharing and Paral-

lelism, A22-7661 • z/OS V1R7.0 MVS Setting Up a Sysplex, SA22-7625 • Large Systems Performance Reference, SC28-1187 • Security on z/OS: Comprehensive, current, and flexible, Guski et al. IBM Systems

Journal, Vol.40, No.3, 2001, pp.696-720, G321-0142 http://www.research.ibm.com/journal/sj/403/guski.html

• IBM eServer zSeries Security Leadership for the On Demand World, GM13-0644 http://www.ibm.com/servers/eserver/zseries/library/whitepapers/pdf/Security_TL.pdf

• IBM eServer z990, IBM Journal Research and Development, Vol. 48, No. 3/4, 2004 • Cluster architectures and S/390 Parallel Sysplex scalability by G. M. King, D. M.

Dias, and P. S. Yu, IBM System Journal Volume 36, Number 2, 1997 • z/OS: MVS System Management Facilities (SMF), SA22-7630 • IBM SMP/E for z/OS User's Guide, SA22-7773

Y con Internet a través de los siguientes enlaces:

• IBM terminology: http://www.ibm.com/ibm/terminology • IBM Redbooks: http://www.redbooks.ibm.com/

Page 131: Libro Blanco de System Z

IBM Corporation 21/02/2011 131 de 131�

• General information about IBM System z: http://www.ibm.com/systems/z • IBM Geographically Dispersed Parallel Sysplex:

http://www.ibm.com/servers/eserver/zseries/gdps • IBM Storage Solutions: Overview - IBM System Storage:

http://www.ibm.com/servers/storage/solutions/ • Parallel Sysplex home page: http://www.ibm.com/servers/eserver/zseries/pso/ • z/OS basic skills information center:

http://publib.boulder.ibm.com/infocenter/zoslnctr/v1r7/index.jsp • General mainframe information: http://www.mainframe.typepad.com/ • Scaling - up or out: http://www.redbooks.ibm.com/abstracts/redp0436.html • z/OS Workload Manager - how it works and how to use it:

http://www.ibm.com/servers/eserver/zseries/zos/wlm/pdf/zWLM.pdf • The Autonomic Computing home page: http://www.ibm.com/autonomic