You are on page 1of 131

Libro Blanco System z

Tabla de contenido
1 Introduccin 1.1 1.2 2 2.1 Objetivo del documento Organizacin del documento 5 5 5 6

Caractersticas de la plataforma

2.2

2.3

2.4 2.5 2.6

2.7

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 Gestin de Sistemas basado en SLAs 8 Virtualizacin de recursos 8 2.2.1 Virtualizacin de CP 9 2.2.2 Virtualizacin de memoria 9 2.2.3 Virtualizacin de E/S 9 2.2.4 Virtualizacin de comunicaciones. 9 2.2.5 Donde IBM System z triunfa sobre la virtualizacin de la arquitectura x86. 10 2.2.6 IBM System z puede tener mucho sentido para determinadas aplicaciones e iniciativas 11 Escalabilidad 12 2.3.1 Introduccin (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 Integridad y Seguridad 15 2.4.1 Integridad 15 2.4.2 Seguridad 17 Rendimiento 19 Disponibilidad 20 2.6.1 Construido para los negocios. 20 2.6.2 Una solucin para la operacin contina de los negocios. 21 2.6.3 Disponibilidad y fiabilidad de primera clase 21 2.6.4 Fortalezas del corazn del hardware. 22 2.6.5 Mas all del hardware 23 Gestin de Sistemas 25 2.7.1 Revisin de la administracin de sistemas. 26 2.7.2 El valor de la administracin de sistemas en el z/OS 26 2.7.3 Iniciativa del ordenador autnomo de IBM 27 2.7.4 Tecnologas auto-configuradoras. 28 2.7.5 Tecnologas auto-reparadoras 29 2.7.6 Tecnologas auto-optimizadoras 29 2.7.7 Tecnologas auto-protectoras. 29 2.7.8 Administracin de los sistemas End-to-end 29 31 31 31 32 34 36 36 Conceptos de la arquitectura System z 3.1.1 Multiprogramacin/Multiproceso/Multithreading 3.1.2 Mecanismo de interrupciones 3.1.3 Virtualizacin 3.1.4 Otras caractersticas importantes del HW Componentes y sus caractersticas

Arquitectura System z. Plataforma HW 3.1

3.2

IBM Corporation

21/02/2011

2 de 131

3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.2.10 4 4.1

Z10 Procesadores Memoria E/S Time-of-Day clock CP Assist for Cryptographic HiperSockets Hardware Management Console (HMC) Detalles de virtualizacin del HW Hiperdispatch

36 37 38 39 41 41 41 41 42 43 44 44 45 46 48 48 49 50 51 52 52 52 53 53 54 54 54 56 56 56 57 57 59 60 61 62 63 64 64 65 65 66 66 67 68 68 69 69 70 71 73 75 75 76 78 80 81

Arquitectura System z. Plataforma SW- SW Base IBM z/OS y componentes 4.1.1 Gestin de la Memoria 4.1.2 Gestin y reparto del Procesador- Workload Manager (WLM) . 4.1.3 Resource Recovery Services (RRS). 4.1.4 Gestin de los datos DFP(Data Facility Program) 4.1.5 Gestin del Almacenamiento 4.1.6 Gestin de los bloqueos -Global resource serialization (GRS) Entorno de programacin/ejecucin 4.2.1 Soporte de Runtime- Language environment 4.2.2 Compiladores de los lenguajes de programacin tradicionales 4.2.3 Soporte de Java 4.2.4 Lenguajes de reciente incorporacin 4.2.5 Herramientas de desarrollo de SW 4.2.6 XML Services 4.2.7 UNIX System Services 4.2.8 Security Server Tcnicas de clustering. Sysplex Paralelo 4.3.1 Clustering bsico 4.3.2 Anillo GRS 4.3.3 Sysplex Paralelo (Resource sharing y Datasharing) 4.3.4 Coupling Facility z/VM Linux en System z CICS 5.1.1 El CICS y el z/OS 5.1.2 Programas, transacciones y tareas CICS 5.1.3 Programacin conversacional y pseudo-conversacional 5.1.4 Comandos CICS Servicios CICS para los programas de aplicacin 5.2.1 Objetos de datos CICS 5.2.2 Acceso a datos externos 5.2.3 Topologa CICS 5.2.4 Intercomunicacin CICS a CICS 5.2.5 Conectividad con sistemas no-CICS 5.2.6 Configuracin CICS 5.2.7 Seguridad 5.2.8 Herramientas para depuracin y de determinacin de problemas IMS 5.3.1 IMS Database Manager (IMS DM) 5.3.2 IMS Transaction Manager 5.3.3 Servicios de sistema IMS 5.3.4 Estructura de los subsistemas IMS WAS 5.4.1 Nodo de servidor base de aplicaciones: 5.4.2 Network Deployment Manager:

4.2

4.3

4.4 4.5 5 5.1

Arquitectura System z. Plataforma SW-Middleware Transaccional

5.2

5.3

5.4

IBM Corporation

21/02/2011

3 de 131

5.5

5.6 5.7

MQ 5.5.1 Tipos de mensajes 5.5.2 Gestor de Colas 5.5.3 Tipos de colas de mensajes 5.5.4 Qu es un canal? 5.5.5 Cmo queda asegurada la integridad transaccional? 5.5.6 Un ejemplo de mensajera y encolamiento 5.5.7 Interfaz con CICS, IMS, Batch, o TSO/E Middleware Bases de Datos 5.6.1 DB2 SW de gestin 5.7.1 Gestin de almacenamiento 5.7.2 Gestin de la operacin (Tivoli SA y Netview) 5.7.3 Gestin del Batch 5.7.4 Monitorizacin y rendimiento SOA 6.1.1 Introduccin 6.1.2 Estndares en SOA 6.1.3 Construyendo las TI con nuevos parmetros 6.1.4 Mejores prcticas SOA Proceso en nube (Cloud computing).

86 88 89 89 90 90 92 93 93 93 101 101 101 103 104 109 109 109 109 110 112 117 122 122 124 124 126 126 127 127 130

Integracin en los modelos IT ms usados en la actualidad 6.1

6.2

La evolucin del IBM System z: zEnterprise Modernizacin empresarial en zEnterprise Transformar sus activos de TI para proteger sus inversiones Modernice su empresa para maximizar la agilidad Consolidacin de servidores Introduccin Tipos de Consolidacin. Consolidacin en System z 7 Bibliografa

IBM Corporation

21/02/2011

4 de 131

1 Introduccin
1.1 Objetivo del documento
El objetivo de este documento es describir la plataforma System z en sus componentes ms importantes. Intentamos establecer las caractersticas de la plataforma en relacin con el tipo de necesidades a las que va dirigida, as como documentar la tecnologa que soporta dichas caractersticas. El mundo System z avanza y por lo tanto este documento quedar obsoleto en cuanto se anuncie la siguiente mquina. No obstante el paradigma System z se ha mantenido a lo largo de los ms de 40 aos de existencia de la plataforma y esperamos que se mantenga muchos ms. Si bien los detalles pueden cambiar, el contenido de este libro es general de la plataforma.

1.2 Organizacin del documento


Hemos dividido el documento en tres partes: 1. Una primera (Captulo 2) que habla de las caractersticas que son importante en una plataforma. Las caractersticas que todas las plataformas tienen pero cada una en su medida. Esta diferente manera de ser escalable, o los distintos lmites de capacidad, o lo que en cada plataforma se define como alta disponibilidad, es lo que hemos querido reflejar en este primer captulo. 2. Hay una segunda parte compuesta por los captulos 3, 4 y 5 que intenta dar una descripcin tcnica tanto del HW como el SW ms usado en el Mainframe. Esta parte complementa la primera, dotndola de mas profundidad. 3. Y, por ltimo hay un capitulo dedicado al papel e System z en los paradigmas de negocio que estn apareciendo a fecha de 2010. Estos paradigmas estn basados en caractersticas de la infraestructura que para System z son caractersticas de nacimiento, como por ejemplo la seguridad, la integridad, la virtualizacin, etc. Este captulo pretende solo dar unas pinceladas sobre este papel.

IBM Corporation

21/02/2011

5 de 131

2 Caractersticas 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 lmites. 2. Oportunidad, lugar o medio para ejecutar algo. En el Webster encontramos como definicin 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 disposicin. Una vez dicho esto, me gustara 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 ambrosa La capacidad de los ordenadores se suele medir por el nmero 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 programacin estn escritas, si es un lenguaje compilado o interpretado, de lo buen o mal programador que seas, del mtodo de acceso utilizado, pueden requerir 10 300 50.000 instrucciones. Una de las caractersticas 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 organizacin sin nimo de lucro de profesionales de la informtica dedicada a compartir informacin y normas de buen uso para asegurar la eficacia y escalabilidad de los sistemas de IT, a travs de la medicin, el anlisis cuantitativo y la prediccin. Dispone de una base de datos de artculos en la siguiente pgina 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 virtualizacin. (Esto se ver con ms detalle en el captulo 3) Como interrelaciones el elemento ms importante del que disponemos es el sistema operativo que permite acceder a los recursos anteriores sin las complejidades de la programacin de chips.

IBM Corporation

21/02/2011

6 de 131

Esto en cuanto a elementos que operan a nivel de servidor. Si necesitamos correr varios servidores en una sola mquina tenemos que tener en cuenta otros elementos que influirn a la hora de la capacidad de la mquina, como por ejemplo la comparticin de recursos o su imposibilidad, y el nivel de dicha comparticin en el caso de que sea posible. Esto tambin 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. Ms adelante hablaremos de cada una de estas reas con ms detalle. Slo sealar aqu que el sistema z dispone de las ms altas certificaciones de seguridad.

2.1.3

Pocos o muchos servidores?

La evolucin del paradigma de sistemas distribuidos una aplicacin, un servidor, ha llevado al crecimiento desmesurado del nmero de servidores en una instalacin. Baste un ejemplo: Un centro con slo dos aplicaciones corriendo contra una base de datos. Esto no parece muy complicado: 4 servidores para los servidores de aplicacin (dos por aplicacin por redundancia), 2 para la base de datos (activo/activo o activo/pasivo), total 6 sistemas. Pero hay que contar con 3 ms para el desarrollo y otros 3 para QoS. Si adems necesitamos garantizar el servicio ante un desastre necesitamos 6 ms para produccin y otros 3 para desarrollo, En total ya tenemos 21 servidores/mquinas que manejar. Y esto slo para dos aplicaciones y sin tener en cuenta el posible crecimiento de la aplicacin, que, en general, se solventa con la adicin de nuevos servidores. Cuntos ms servidores haya que administrar ms complicada es la tarea, ms problemas a resolver con ms puntos de fallo, ms tiempo perdido en tareas puramente administrativas (como el cambio de sistemas operativos o su mantenimiento) y ms difciles de controlar la seguridad y las comunicaciones. El Mainframe tiene un paradigma diferente: todas las aplicaciones compartiendo un sistema. A simple vista esto parece ms 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 mquina 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 resolucin de problemas (sobre todo si los sistemas pertenecen a distintas organizaciones), complican los procedimientos de pruebas y de recuperacin ante un desastre y generan conflictos de propiedad entre departamentos. Y adems, gastan ms energa (hay entidades que han tenido problemas de suministro e incluso en determinados pases se est publicando legislacin para impedir que se consuma ms all de un mximo de energa) y utilizan ms espacio, cableado y conectores. 2.1.3.2 Pocos servidores.

Como contrapartida, cuantos menos servidores, se utiliza menos energa, menos espacio, se tarda menos tiempo en la resolucin de problemas y la administracin de los sistemas es ms 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 travs de middleware del tipo CICS/WAS/IMS, manejo de datos ya sea a travs de ficheros, secuenciales o de

IBM Corporation

21/02/2011

7 de 131

acceso directo, o de bases de datos, comunicaciones con los distintos tipos de terminales, tareas en lotes, gestin de seguridad, etc. El sistema z, gracias a su arquitectura y caractersticas nicas, es capaz de combinar un gran nmero 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 travs de polticas, con un lenguaje igual al utilizado en los compromisos de niveles de servicio. Dicho componente, adems de priorizar las tareas, asigna los recursos necesarios para conseguir el rendimiento deseado segn los SLAs y balancea la carga a lo largo de un Sysplex para conseguir los mximos beneficios de capacidad y rendimiento que ofrece el System z.

2.1.5 Gestin de Sistemas basado en SLAs


En una instalacin se manejan muchos tipos de trabajo: produccin, desarrollo, test, administracin, pruebas de calidad, etc. Tambin se dispone de muchos tipos de aplicaciones, algunas de las cuales son prioritarias y requieren inmediatez en su ejecucin, 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 SLAs (Service Level Agreement). En este tipo de acuerdos se establecen niveles de servicio tales como tiempo de respuesta, disponibilidad de la aplicacin, requerimientos de recuperacin, etc. Este tipo de acuerdos tambin sirve para una posible facturacin interna de los servicios prestados. El sistema z permite la definicin de la importancia de las tareas con polticas basadas directamente en los SLAs. Estas polticas se actualizan on-line,

2.2 Virtualizacin de recursos


La virtualizacin hace referencia a la tcnica de ocultar las caractersticas fsicas de los recursos informticos a los usuarios de dichos recursos. El hecho es que la virtualizacin no es de ninguna manera un concepto nuevo o un nuevo invento de la tecnologa, aunque ahora se aplique tambin a la informtica distribuida, ya que la plataforma System z de IBM la ha soportado durante mucho tiempo y la ha ido perfeccionado a lo largo de dcadas. 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 virtualizacin 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 teora ignora el hecho de que la arquitectura x86 tiene unos lmites de escalabilidad, fiabilidad y rendimiento que constituyen la quintaesencia de la plataforma System z de IBM. Y la simple virtualizacin no incorpora la gestin integrada en la plataforma System z.

IBM Corporation

21/02/2011

8 de 131

2.2.1 Virtualizacin de CP
Processor Resource/Systems Manager (PR/SM) es un hipervisor integrado en todos los System z que correlaciona los recursos fsicos de la mquina con recursos virtuales. Esto permite que muchas particiones lgicas puedan compartir dichos recursos fsicos. Los CPs quedan integrados en un pool y a cada particin se le asocia un nmero lgico de ellos. El PR/SM proporciona los procesadores fsicos y en caso de necesitar ms CPs de los que haya fsicamente disponibles, decide dar los recursos de acuerdo al peso otorgado a cada particin. En el z10, para evitar prdidas de rendimiento debidas a los movimientos de cache entre los procesadores fsicos, surge el hiperdispatch.

2.2.2 Virtualizacin de memoria


La memoria no se puede ser compartir entre particiones. Cosa lgica porque ah es donde estn los datos de cada aplicacin. Sin embargo en el sistema z existen varias opciones que permiten una mejor utilizacin 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 estn en uso por alguna aplicacin. En segundo lugar, dentro de cada particin, 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 utilizacin. 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 slo la existente realmente, sino toda la que pueda direccionar. Para ello dispone de ficheros de paginacin, en los que se puede respaldar memoria que no est en uso, permitiendo as que dicha memoria pueda ser usada por otra aplicacin. El z/VM se encarga de distribuir la memoria entre sus huspedes. Puede obtener un over-commit de hasta dos veces su capacidad.

2.2.3 Virtualizacin 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, convirtindose as en el paradigma de la virtualizacin. Este subsistema de canales distribuye su inteligencia entre un procesador especializado (SAP) y los canales, que tambin disponen de procesadores. Por otro lado tambin dispone del EMIF, que permite compartir canales entre las distintas particiones, sin necesidad de disponer de cableados adicionales para cada sistema.

2.2.4 Virtualizacin de comunicaciones.

Puede compartir tarjetas de comunicacin IP entre varias particiones.

IBM Corporation

21/02/2011

9 de 131

Dispone de un mecanismo de comunicacin 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 virtualizacin de la arquitectura x86.


La llegada de la virtualizacin de los servidores x86 est proporcionando grandes avances dentro de los departamentos de IT, pero an tiene defectos y fallos cuando lo que las organizaciones buscan es ejecutar modernas aplicaciones de empresa. La tecnologa de virtualizacin de servidor es realmente buena al hacer un uso ms eficiente del hardware con la ventaja aadida de una mejora en la recuperacin ante un desastre. Por otra parte, IBM System z se ha construido desde el principio para ejecutar aplicaciones empresariales crticas que demandan una plataforma de hardware flexible, escalable y de una alta disponibilidad. Mientras que la virtualizacin del x86 puede gestionar bien tareas sencillas, la virtualizacin del Mainframe se aprovecha de ms de 30 aos de innovaciones tales como: Un hardware tolerante al fallo que excede en mucho cualquier cosa que la virtualizacin x86 pueda ofrecer. El System z de IBM se ha diseado 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 peticin. El System z de IBM se entrega con capacidad integrada que se puede activar cuando las cargas excedan los requerimientos de la capacidad original. Virtualizacin de E/S para ofrecer un rendimiento predecible que escala fcilmente cuando la aplicacin lo requiera. Los cuellos de botella en la E/S son uno de los obstculos fundamentales en las soluciones de virtualizacin del x86. Seguridad e integridad, reforzadas ambas dentro de la arquitectura del System z de IBM y probadas fehacientemente en los ms exigentes entornos de aplicacin. Mientras que las plataformas de virtualizacin x86 son relativamente nuevas y an tienen que demostrar su valor en entornos que requieran las ms altas medidas de seguridad. Elegir la solucin de virtualizacin no es tan blanco o negro como pueda parecer. Las ventajas bsicas de la virtualizacin incluyen la consolidacin y la mejora en la utilizacin de recursos, beneficios que son bienvenidos en todas las organizaciones. Se necesitan otras consideraciones para comprender las aplicaciones y el impacto positivo que la virtualizacin tendr a varios niveles en los tier de infraestructura subyacente.

IBM Corporation

21/02/2011

10 de 131

2.2.6 IBM System z puede tener mucho sentido para determinadas aplicaciones e iniciativas
La tecnologa Mainframe de IBM, tal vez injustamente, ha llevado el sambenito de unidades de proceso caras (MIPS) y un historial de excelente rendimiento para cargas especficas en sectores especficos. 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 estn cambiando a la vez que grandes entornos Linux se consolidan en Mainframe con un TCO mejorado en comparacin 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 consolidacin 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 slo tienen que pagar por la potencia adicional cuando la necesiten. Deban desplegar nuevas cargas y aplicaciones desde el principio que hayan sido especficamente diseadas para el Mainframe o destinadas a una infraestructura, que como el Mainframe, pueda ofrecer rendimiento, fiabilidad y estabilidad sin parangn. 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 mayora de los entornos virtualizados x86 ejecutan cargas de trabajo basadas en aplicaciones tpicas de Microsoft (es decir, Exchange, SQL Server, SharePoint), Oracle y SAP. Se soportan otros sistemas operativos, que incluyen Linux y Solaris, pero son una porcin muy pequea del total de entornos virtualizados x86. Las plataformas Windows no se pueden ejecutar como mquinas virtuales en IBM System z, al menos no hoy. Para ello, IBM tendra que emular el hardware x86, algo que podra funcionar en teora, pero que puede no ser el camino ms econmico a seguir por el cliente.

IBM Corporation

21/02/2011

11 de 131

2.3 Escalabilidad
En telecomunicaciones y en ingeniera informtica, 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 ms grande sin perder calidad en los servicios ofrecidos. En general, tambin se podra definir como la capacidad del sistema informtico de modificar su tamao o configuracin para adaptarse a las circunstancias cambiantes. La escalabilidad como propiedad de los sistemas es generalmente difcil de definir, en particular es necesario definir los requerimientos especficos para la escalabilidad en esos proyectos donde se crea que son importantes. Es una caracterstica altamente significativa en sistemas electrnicos, bases de datos, ordenadores, routers y redes. Un sistema escalable es aqul cuyo rendimiento mejora, despus de haberle aadido ms capacidad de hardware, proporcionalmente a la capacidad aadida.

2.3.1 Introduccin (conceptos de vertical, horizontal y aprovisionamiento)


Hablamos de escalabilidad horizontal cuando para ampliar la capacidad de un sistema lo que aadimos es otro sistema similar. Nos referimos a escalabilidad vertical cuando lo que hacemos es aumentar la capacidad dentro de la misma mquina, por ejemplo aumentando el nmero de procesadores.

IBM Corporation

21/02/2011

12 de 131

Aprovisionamiento es el proceso de preparar y configurar cualquier sistema requerido, proveer a los usuarios del acceso a datos y recursos tecnolgicos, y en particular se refiere a todo el proceso de administracin 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 ms alta escalabilidad debido a los mltiples modelos de mquinas que pueden ir de un solo procesador corriendo en modo de subcapacidad a 64 que permiten correr hasta 60 imgenes de z/OS. Como vimos en la parte dedicada a capacidad, ste es un concepto ambiguo cuya medicin depende realmente de lo que se est haciendo. Por eso es complicado comparar distintas mquinas corriendo distintos tipos de aplicaciones. An as comparar mquinas puede ser interesante. IBM realiza comparaciones con distintos tipos de trabajos para sus mquinas del System z y publica los resultados en http://www-03.ibm.com/systems/z/advantages/management/lspr/index.html. Si vemos una grfica comparativa de la familia z10 nos encontramos con lo siguiente para los modelos z10 BC:

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

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

IBM Corporation

21/02/2011

13 de 131

cambios de modelo se forma sencilla, algunos incluso sin necesidad de parar la mquina.

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


La escalabilidad, obviamente, no depende slo del hardware, el sistema operativo debe poder administrar esa capacidad. Dentro de la plataforma System z es habitual que en una misma mquina corran varias imgenes, debido a los distintos tipos de entorno, como pueden ser produccin, desarrollo, test, sistemas, etc. El sistema operativo z/OS puede administrar miles de millones de transacciones al ao, con su habitual rendimiento y disponibilidad, adems de la seguridad implcita El sistema z/VM funciona generalmente como un programa hipervisor, pudiendo arrancar huspedes variopintos, desde z/OS hasta Linux pasando por z/VSE. El Linux para System z corre habitualmente como un husped del z/VM, pudiendo generarse miles de instancias en una sola particin.

2.3.4 Sysplex Paralelo


El Sysplex paralelo naci como una tcnica para aumentar la disponibilidad del MVS. Permite utilizar varias imgenes 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 caracterstica ms importante del Sysplex paralelo, pero como resultado aadido nos encontramos con que dicha tcnica permite una escalabilidad horizontal con unas propiedades nicas dentro de dicha posibilidad. El Sysplex paralelo permite unir hasta 32 imgenes de z/OS compartiendo los datos y actuando como una nica imagen sin prdida de la integridad 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 podra ser el siguiente:

IBM Corporation

21/02/2011

14 de 131

Como caracterstica importante vemos la importancia de tener una nica hora en todas las mquinas, pieza clave a la hora de conseguir integridad en los datos. Hasta ahora esto vena dado por una mquina 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 rpidamente. Capacity on Demand es el dispositivo clave que permite ajustar la memoria y la capacidad de proceso a necesidades especficas 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 ms conveniente para el cliente. Slo 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 activacin concurrente de capacidad de proceso para reemplazar la capacidad perdida en una instalacin a consecuencia de un desastre. Esta opcin no se puede utilizar para un pico en la carga de trabajo. Puede utilizarse hasta 90 das despus de que el desastre ocurra. Tambin permite realizar 5 pruebas de 10 das al ao. 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 basndose en los requerimientos actuales de la carga. z/OS CP tambin simplifica la monitorizacin de cargas crticas y sus posibilidades de automatizacin permiten activar recursos adicionales ms rpidamente que si se tuviera que realizar manualmente.

2.4 Integridad y Seguridad


Los programas y los datos de una instalacin 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.

IBM Corporation

21/02/2011

15 de 131

Emitido primero en 1973, el compromiso de integridad del sistema de IBM para el MVS TM (IBMs MVS TM System Integrity Statement), y subsecuentemente para el OS/390 y el z/OS, se ha mantenido a lo largo de tres dcadas como un smbolo 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 prcticas de diseo y desarrollo que pretenden evitar que programas de aplicacin, 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 instalacin-. Especficamente, z/OS System Integrity se define como la incapacidad de cualquier programa no autorizado por un mecanismo bajo el control de la instalacin a eludir o inhabilitar memoria o adquirir proteccin o acceder a un recurso protegido por RACF u obtener control de forma autorizada; esto es, en estado supervisor, con una clave de proteccin 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 diseado 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 lder como servidor de cargas de trabajo crticas para la empresa. 2.4.1.1 Serializacin

Es el mecanismo que impide que varios procesos modifiquen a la vez un recurso, comprometiendo as la integridad de la operacin. 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 sincronizacin 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 prdida de integridad. El RRS se est convirtiendo cada vez ms en un prerrequisito para los nuevos gestores de recursos y para nuevas funcionalidades en los existentes. Ms 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 condicin suficiente, aunque s necesaria. Para poder asegurar la integridad ante un fallo, es necesario recurrir a tcnicas 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 tcnicas, que permiten recuperar los datos a un punto de sincronismos, es decir, sin prdida de integridad,

IBM Corporation

21/02/2011

16 de 131

2.4.2 Seguridad
Acceder y crear informacin computerizada se ha hecho ms fcil a lo largo del tiempo. El acceso a los sistemas hace tiempo que dej de estar limitado a un pequeo grupo de programadores especializados. Cualquier persona que se tome la molestia de familiarizarse con los nuevos lenguajes de bsqueda, puede tener acceso a la informacin, contenida en los modernos medios puestos a su alcance, e incluso puede crearla en dichos medios. La gente depende cada vez ms de los ordenadores y de la informacin que se guarda en ellos. A medida que la alfabetizacin informtica y el nmero de gente que usa los ordenadores se incrementan, la necesidad de la seguridad de los datos ha adoptado un nuevo y dramtico 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 ms que hacer inaccesible la informacin confidencial a aqullos que no debieran verla. Tambin incluye la prevencin de la destruccin inadvertida de ficheros por gente que puede incluso no ser consciente de que estn manipulando datos incorrectamente. Las buenas prcticas 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 informtico 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 mtodo por el cual se permite o prohbe expresamente dicha capacidad. Este tipo de acceso se denomina acceso de control lgico. Estos son mecanismos de control que permiten a los usuarios acceder slo a aquello que es apropiado para ellos... Los accesos de control lgicos se construyen generalmente dentro del propio sistema operativo, aunque tambin pueden ser parte de la lgica de la aplicacin o de determinadas utilidades, tales como los sistemas gestores de bases de datos. Tambin se puede implementar a travs de paquetes de seguridad que se instalan sobre el sistema operativo, dichos paquetes estn disponibles para una gran variedad de sistemas, incluyendo los PCs y los Mainframe. Adems, los controles lgicos 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 calificacin EAL5 de seguridad. Los datos acerca de los clientes son una informacin vital dentro de los activos de una empresa. Dicha informacin podra ser vendida a los competidores con grave trastorno para el funcionamiento de dicha empresa. As el objetivo de cualquier poltica de seguridad es dar a los usuarios slo 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 especfico, ms 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 despus conseguir darles permiso nicamente a los datos pertinentes a su trabajo. A medida que los Mainframe se estn 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 compaa viene de dentro. Un empleado dentro de una empresa tiene muchas ms oportunidades de obtener datos que alguien externo. Una poltica de seguridad bien implementada es siempre la primera lnea de defensa.

IBM Corporation

21/02/2011

17 de 131

El z/OS contiene un conjunto de caractersticas de integridad del sistema que minimizan los daos intencionados o accidentales de otros programas. Por ejemplo, muchas instalaciones tienen diversas imgenes de z/OS y frecuentemente no permiten el acceso de usuarios de TSO/ISPF a los sistemas de produccin. En cualquier caso los controles de seguridad del z/OS pueden proteger los entornos de produccin si se configuran convenientemente y prevenir que usuarios de TOS/ISPF (accidental o maliciosamente) Impacten el importante trabajo de produccin. 2.4.2.1 Control de programas con privilegios (APF)

APF (authorized program facility) se emplea para permitir a la instalacin la identificacin 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 instalacin la que identifica qu libreras contienen funciones especiales. A estas libreras se les denomina libreras APF. Un programa autorizado puede hacer virtualmente cualquier cosa que quiera. Es esencialmente una extensin 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 autorizacin debe darse con moderacin y monitorizarse cuidadosamente. Una instalacin puede utilizar el APF para identificar programas de usuario o sistema que puedan ejecutar funciones sensitivas de sistema. Por ejemplo, APF permite a una instalacin restringir la utilizacin de rutinas sensitivas de SVC, a programas APF. Tambin permite al sistema que cargue todos los mdulos en un trabajo autorizado slo de libreras autorizadas, para prevenir que programas puedan cargar mdulos que no sean los correctos. 2.4.2.2 Control del acceso a memoria (Claves de proteccin de la memoria)

El hardware del System z tiene una funcin de proteccin de memoria, que se emplea generalmente para evitar la modificacin no autorizada de la memoria. La proteccin de memoria tambin se usa para prevenir la lectura no autorizada de reas de memoria, aunque el z/OS protege slo pequeas reas de memoria de esta forma. La proteccin de memoria trabaja con pginas de 4K. Trata slo con memoria real, no virtual. Cuando una pgina de memoria virtual se copia del disco a una pgina libre de la memoria principal, z/OS aplica la adecuada clave de proteccin en dicha pgina. La proteccin de memoria era mucho ms importante cuando no existan los mltiples espacios de direcciones. Cuando varios usuarios y trabajos compartan un nico espacio de direcciones (o estaban todos en memoria real antes an), proteger la memoria del usuario para evitar la corrupcin (o la lectura inapropiada) era esencial. Con el z/OS, la primera proteccin para la memoria de cada usuario es el aislamiento proporcionado por los mltiples espacios de direcciones. Los programas de aplicacin no pueden alterar las claves de proteccin de la memoria. No existe forma, utilizando la funcin de proteccin de memoria, de que un programa de aplicacin normal (no un programa autorizado) pueda proteger parte de su memoria virtual de otras partes de la aplicacin corriendo en el mismo espacio de direcciones. Un bit adicional de proteccin de memoria (para cada pgina de 4K de memoria real) es el bit de proteccin de pgina. Este previene que incluso las rutinas del sistema (que corren con clave 0, lo que habitualmente les permite escribir en cualquier sitio) puedan

IBM Corporation

21/02/2011

18 de 131

almacenar datos en esa pgina. Este bit se utiliza generalmente para proteger pginas de la LPA de daos inadvertidos causados por las rutinas del sistema. 2.4.2.3 Control del uso de instrucciones privilegiadas (Llamadas al Supervisor (SVCs))

La ejecucin de instrucciones en el sistema, est protegido por un mecanismo al que llamamos estados de ejecucin. Existen dos posibles estados: Estado problema y estado supervisor. La mayora 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 autorizacin 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
Segn la Real Academia de la Lengua, rendimiento es el producto o utilidad que rinde o da alguien o algo, o la proporcin 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 ms exactamente, si el tiempo de respuesta que conseguimos es el adecuado. En un sistema operativo como el z/OS, que realiza mltiples 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 aos hacen que cada da resulte ms 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 (SLAs). El WLM se encarga de proporcionar los recursos necesarios para conseguir los objetivos acordados. Tambin se dispone del RMF, que permite obtener informes, e incorporarlos a hojas de clculo, para comprobar que se cumplen los objetivos y detectar posibles fuentes de problemas si es que se incumplen.

IBM Corporation

21/02/2011

19 de 131

2.6 Disponibilidad
La solidez1 se considera como una de las propuestas de valor ms importantes de la plataforma, y los estrategas del negocio generalmente consideran System z como la plataforma ms 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 intrnsecas que convierten la plataforma System z en resistente, que incluyen: Las caractersticas fundamentales del hardware que hacen del System z una mquina 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. Caractersticas de diseo del z/OS, Sysplex paralelo y GDPS, y cmo 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 rpidamente de todas las interrupciones, ya sean planificadas o no. Casi nada es peor que ser sorprendido por una cada del sistema, incluso si la duracin de sta son slo algunos minutos. Considere cmo una interrupcin inesperada, provocada quizs por una catstrofe natural o un fallo menor en el software, puede poner en juego las relaciones con los clientes, la productividad, y posiblemente millones de dlares, 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 informticos o humanos y desastres que afecten a su IT, ha sido una de las tres propuestas de valor ms 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 ms 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 caractersticas de disponibilidad y fiabilidad, es una plataforma ideal a partir de la cual construir una infraestructura robusta y desde la cual probar nuevas tecnologas y estrategias de resistencia. Algunas plataformas pueden haberse diseado originalmente para fines acadmicos u otros propsitos, pero la plataforma System z fue creada como una solucin para las empresas. Durante los aos, las tecnologas de resiliencia han evolucionado y se han ido incorporando al diseo fundamental del sistema z. Hoy, la plataforma z contina innovando y mejorando su tecnologa de resiliencia. La solidez es imprescindible para la lnea de negocios de una empresa y el sistema z es la mejor plataforma para garantizar que los sistemas comerciales se mantendrn funcionando a lo largo de una recuperacin ante un desastre, de una reparacin o actualizacin, y tambin ante cambios en el software y las aplicaciones.

Solidez flexibilidad y resistencia se emplean como la traduccin del trmino ingls resiliency, de difcil traduccin en este contexto. Es la capacidad que tiene un sistema de recuperarse ante fallos imprevistos.

IBM Corporation

21/02/2011

20 de 131

2.6.2

Una solucin para la operacin contina 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 estadsticas dicen que las empresas pueden perder entre decenas de miles a varios millones de dlares por hora de inactividad. Incluso ms all de los aspectos financieros, la inactividad tambin 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 irn a otra parte. La operacin continua es un imperativo empresarial, y requiere tener lo mejor en tecnologa robusta.

Algunas empresas deben parar sus sistemas para realizar actualizaciones planificadas, aplicar mantenimiento, o renovar sus servidores. Caractersticas incorporadas en la plataforma System z, sin embargo, permiten a las empresas evitar estas interrupciones planificadas. Adems de ser una solucin excelente para la eliminacin de las paradas planificadas, System z es tambin una excelente plataforma para evitar interrupciones no planificadas. Con tecnologas 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 estndar 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 trfico en la red, picos de carga imprevisibles, y bases de datos difciles de controlar. Los componentes del System z, hardware, firmware, middleware y los sistemas operativos estn diseados, y estrechamente integrados, para proporcionar un entorno de aplicacin, con un nivel nico en el mercado, para la alta disponibilidad. System z proporciona las mejores tecnologas para asegurar la disponibilidad y fiabilidad. La disponibilidad del sistema puede medirse en distintos contextos. Una medida comn es la disponibilidad de hardware contra las interrupciones no planificadas. Una medida ms 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 consideracin del hardware, OS, middleware y aplicaciones. El Sistema z se mantiene en las ms estrictas medidas y puede lograr una disponibilidad de primera clase a nivel de usuario.

IBM Corporation

21/02/2011

21 de 131

2.6.4

Fortalezas del corazn del hardware.

El Sistema z, construido para la recuperacin y la operacin continuas, es un servidor de alta disponibilidad. El resultado de la atencin a la solidez es un punto de diseo llamado tiempo medio entre fallos (MTBF). El sistema z est diseado para ofrecer capa sobre capa de tolerancia a los fallos y puntos de comprobacin de errores. Si se produce una anomala, la redundancia construida en la plataforma cambia el trabajo desde el componente anmalo a otro operativo para evitar que la aplicacin o el servicio de usuario queden interrumpidos. Adems, los componentes que hayan fallado se pueden reemplazar mientras las aplicaciones estn 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 partculas csmicas, y errores ms permanentes, como fallos de hardware. Los productos de System z estn diseados para enfrentarse a estas diversas circunstancias. La deteccin y correccin de errores est construida dentro de la lgica para detectar errores en memoria y corregirlos. Tecnologas 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 tambin se centra en un diseo de recuperacin de errores que los enmascare y los haga transparente a las operaciones del cliente. Una amplia tecnologa de la recuperacin est incorporada en el hardware. A lo largo de los aos, ms y ms dispositivos se han ido aadiendo para mejorar la solidez y flexibilidad el la plataforma System z. Las versiones ms recientes, el hardware del sistema z9 y z10, incorporan tecnologas nicas que aplican las ms modernas innovaciones en la tecnologa de la resiliencia. 2.6.4.1 Redundancia

La redundancia es quizs el mecanismo ms frecuente para garantizar la solidez, y es un tema clave en toda la plataforma System z. Los diseadores del sistema z han trabajado a lo largo de los aos 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 prdida de uno de ellos. Hay dos MRUs (Mdulo De Refrigeracin de Unidades). El subsistema de servicios, la batera 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. Despus de tener en cuenta la redundancia, ese mismo sistema podra tener 800 procesadores. 2.6.4.2 Eliminacin de paradas planificadas mediante cambios concurrentes en el hardware

En el pasado, frecuentemente las empresas tenan que cerrar un sistema las noches de los sbados 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 aplicacin. 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 criptogrficas y canales de la CF. Incluso elementos no redundantes como las tarjetas

IBM Corporation

21/02/2011

22 de 131

de canal se pueden enchufar en caliente, y reemplazar sin ningn impacto en la aplicacin.

2.6.5

Mas all del hardware

La solidez del System z va mucho mas all del hardware. El punto focal del diseo 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 aplicacin 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 mayora de los problemas quedan enmascarados totalmente de las aplicaciones, y en los casos en que el dao sea severo resulta en una degradacin paulatina ms que en una completa parada. z/OS tiene una disponibilidad, fiabilidad, escalabilidad, flexibilidad e integridad sin parangn. Ms an, lleva mucho tiempo siendo el servidor de referencia para servidores de datos y transaccionales, y tambin uno de los preferidos para aplicaciones Web que requieran la ms alta calidad de servicio. La filosofa del diseo del z/OS requiere un aislamiento, identificacin y recuperacin de los errores comprensible. Todos los componentes y subsistemas del z/OS disponen de rutinas de error. Ms an, todo el cdigo del z/OS sigue unas guas que contienen un conjunto de normas para la disponibilidad y el servicio. Por diseo, si una aplicacin falla, el trabajo puede continuar en un backup de la aplicacin corriendo en el mismo hardware fsico. Adems, el z/OS provee de un dispositivo basado en polticas predefinidas por la instalacin que permite la recuperacin automtica y el arranque de los servicios transaccionales. El software del z/OS tambin tiene un compromiso total con la integridad. Utilizando tcnicas tales como claves de memoria y mltiples espacios de direcciones, los datos y las funciones del sistema estn protegidos contra accesos no autorizados. Con un twophase-commit a nivel sistema, los datos de la aplicacin del cliente se pueden recuperar incluso cuando ocurran fallos a nivel de hardware o software. Algunas funciones se disean adems para soportar middleware clave, como el CICS, lo cual permite altos niveles de disponibilidad para la ejecucin de transacciones. 2.6.5.2 z/VM

Adems del principal sistema operativo, z/OS, el sistema operativo z/VM tiene muchas componentes internas para la solidez. Aqullos familiarizados con el Linux para el System z probablemente hayan odo 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 (nmero de mquinas de Linux es impresionante) y tambin, aunque sea menos espectacular, la fiabilidad demostrada por el z/VM: Cundo 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 Eliminacin de paradas planificadas.

Adems de los numerosos mtodos para evitar las paradas no planificadas, El System z tiene mtodos para eliminar las pardas planificadas debidas a las subidas de firmware y a las reconfiguraciones.

IBM Corporation

21/02/2011

23 de 131

Clientes que tienen aplicaciones crticas, generalmente aqullos que no disponen de un entorno Sysplex, tienen dificultades para encontrar el tiempo necesario para aadir 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 CPs, IFLs, ICFs, zAAPs, zIIPs, memoria y adaptadores de E/S de forma transparente para la aplicacin. Tambin es posible realizar reconfiguraciones de la E/S sin tener que planificar una parada. Esta capacidad de reconfiguracin se denomina Dynamic I/O Reconfiguration, y permite aadir, 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 colaboracin entre distintos sistemas z/OS. El enfoque nico de cluster del Sysplex paralelo permite que la topologa de escala de mltiples servidores parezca una nica y masiva configuracin de SMP (Symmetric Multiprocessing). La arquitectura de Sysplex paralelo permite a un conjunto de System zs la comparticin de recursos, el balanceo de cargas y la comparticin de datos para centros de datos a la carta, ofreciendo lo ltimo en flexibilidad y soportando a la vez diferentes topologas de aplicacin. Podemos pensar en el Sysplex paralelo como si fuera una orquesta sinfnica, con cada clase de instrumento representando un producto distinto en el Sysplex. Hay varias de cada instrumento, igual que puede haber varias imgenes 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 anlogas caractersticas de disponibilidad: un fallo o una desconexin planificada de un sistema del Sysplex no resultar en la prdida de la aplicacin o en la disponibilidad de los datos, slo en una prdida temporal de capacidad. Otra ventaja de la tecnologa del Sysplex paralelo es su capacidad para instalar o mantener hardware o software sin interrupciones. Se pueden quitar o aadir servidores mientras la aplicacin contina corriendo en otros sistemas. Diferentes sistemas pueden estar corriendo a distintos niveles de software, haciendo de este modo las modificaciones de software ms fciles. El software se puede modificar en un sistema mientras el resto permanece disponible. Los cambios ms importantes de software se pueden realizar utilizando la tcnica del rolling IPL durante la etapa de los cambios sin necesidad de interrumpir la disponibilidad de la aplicacin. Con la tcnica de cluster del Sysplex paralelo y su habilidad para soportar la comparticin de datos entre servidores, los arquitectos de IT pueden disear y desarrollar aplicaciones que tengan una vista integrada de los datos, eliminando efectivamente la necesidad de dividir las bases de datos. La comparticin 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 automtico. En un entorno de bases de datos particionadas, el crecimiento de la base de datos o de la aplicacin requerira un tiempo de parada largo y un trabajo de re-particionado complejo. Las capacidades del Sysplex paralelo ayudan a evitar los obstculos que se encuentran con la arquitectura de las bases de datos particionadas.

IBM Corporation

21/02/2011

24 de 131

El middleware del System z explota las capacidades del Sysplex paralelo para proporcionar una operacin 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 tecnologa de Sysplex paralelo. 2.6.5.5 GDPS

Imagina por un momento una sala de operaciones de un centro medio inmediatamente despus de un fallo bsico del sistema. Los telfonos suenan, los directores merodean para saber cundo estar todo recuperado, los operadores buscan procedimientos, y los tcnicos de sistemas se pelean con los operadores por el control de las consolas. Ahora imagina en su lugar un escenario donde la nica operacin manual requerida es confirmar si se debe continuar con un procedimiento de recuperacin ya probado. Este escenario de recuperacin suave, requiere una solucin de negocio tal como la proporciona el GDPS. GDPS, la solucin principal de IBM para la alta disponibilidad, ofrece soluciones de continuidad tanto para fallos de sistema como para situaciones de recuperacin ante desastres. Basado en la separacin geogrfica y en tcnicas de automatizacin avanzadas, el GDPS es una aplicacin multi-centros que ofrece la capacidad de manejar de forma remota la configuracin de subsistemas de almacenamiento, automatizar tareas de operacin del Sysplex paralelo y realizar la recuperacin desde un nico punto de control. Extiende la comparticin de recursos, el balanceo de cargas y la disponibilidad continua del Sysplex paralelo. Tambin 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 solucin 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 despus 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 podra 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 disear una solucin de GDPS. Cualquier recurso que no pueda ser reemplazado en el RTO debera estar disponible en varias localizaciones, y esto no significa slo edificios y hardware sino tambin empleados y datos. Clientes que desean un RPO de cero, es decir, que no se pierdan datos, requerir una solucin de copia remota sncrona, como la que provee el GDPS/PPRC, una de las diferentes soluciones del GDPS. Adems la tecnologa de GDPS puede administrar un entorno heterogneo de datos de z/OS y entornos abiertos. Esto es importante para la solucin habitual de aplicaciones multi-tier que tienen dependencias de distintas arquitecturas de sistemas.

2.7 Gestin de Sistemas


Vamos a ver los principios de la administracin de sistemas y su evolucin desde un proceso casi manual hasta uno donde el ordenador se puede auto-adaptar y cambiar el sistema de acuerdo con polticas de negocio.

IBM Corporation

21/02/2011

25 de 131

2.7.1 Revisin de la administracin de sistemas.


El entorno de IT es ms complejo que nunca y los recursos que se requieren para administrar esos sistemas son cada vez ms difciles 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 mtodos tradicionales. Administracin de sistemas es la administracin a lo largo de la compaa de los sistemas de ordenadores, incluyendo el hardware, los sistemas operativos, el middleware, las aplicaciones y los subsistemas de almacenamiento. La administracin de sistemas consiste en los procesos, tcnicas y herramientas que se requieren para manejar dichos sistemas. El hardware y software del System z ofrece un conjunto robusto de herramientas de administracin para ayudar a los profesionales de IT a monitorizar, administrar y automatizar sus sistemas. La administracin de sistemas, una de las fortalezas del z/OS, proporciona uno de los pilares fundamentales que dan el valor aadido 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 CPUs sin uso o memoria infrautilizada a la espera de que lleguen los datos. El objetivo del sistema z/OS es que sea cada vez ms fcil de utilizar, incrementar la disponibilidad de las aplicaciones y reducir los requerimientos y el coste de la administracin del sistema proporcionando una solucin end-to-end.

2.7.2

El valor de la administracin de sistemas en el z/OS

z/OS tiene una larga historia en la administracin de sistemas y esta es una de las fortalezas ms valoradas del System z. Aparte el System z tiene la habilidad de realizar el mantenimiento y la instalacin 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 aadir o eliminar sistemas dinmicamente al conjunto, permitiendo la instalacin de un nuevo hardware o el mantenimiento del existente. Mientras tanto, el resto de sistemas contina el trabajo. IBM tambin tiene una poltica de co-existencia que permite las subidas de hardware y software con hasta tres versiones previas de z/OS. Esto permite a los clientes aadir nuevo hardware sin necesidad de subir de nivel el sistema operativo en todas las mquinas del Sysplex. El middleware de IBM tambin co-existe con la versin previa, dando a los arquitectos de software la oportunidad de decidir cuando cambiar el middleware basndose en las polticas de negocio y no en el momento del cambio del hardware. z/OS tambin permite realizar mantenimiento de hardware y software de una manera escalonada, denominada rolling, de forma ininterrumpida. Esto permite a las empresas implementar funciones crticas para el negocio y reaccionar a un crecimiento rpido 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.

IBM Corporation

21/02/2011

26 de 131

En el entorno distribuido se suele mantener el ratio aplicacin/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 utilizacin de los recursos de los sistemas, el aumento del espacio requerido, el crecimiento en la utilizacin de energa, etc. En el z/OS, si una aplicacin 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 informacin que mantiene el SMF se puede utilizar para: Facturar a los usuarios. Informes de fiabilidad Anlisis de la configuracin Informes de la actividad de los discos Analizar el uso de los recursos del sistema. Auditar la seguridad del sistema. Etc. Para ms informacin acerca del SMF, vase z/OS VxRx MVS System Management Facilities, SA22-7630 2.7.2.3 Administracin de recursos

El Resource Measurement Facility (RMF) es el administrador y calibrador de los recursos estndar del z/OS. El RMF est diseado 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, paginacin, 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 clculo e integrar datos histricos de rendimiento.

2.7.3 Iniciativa del ordenador autnomo de IBM


Los ordenadores no se convierten en autnomos de la noche a la maana. 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 autnomo, la lgica de estas estrategias debe estar incluida en la lgica del software. Los sistemas autnomos evolucionan a lo largo del tiempo a medida que los diseadores de sistemas aprenden a predecir y arreglar los problemas. Los negocios incorporan los principios autnomos despacio en su infraestructura de IT. La madurez autnoma es un continuo de las propiedades auto-administrativas de un sistema. Existen cinco niveles de madurez autnoma: bsico, administrado, predictivo, adaptativo y autnomo.

IBM Corporation

21/02/2011

27 de 131

Bsico-Los profesionales de IP administran cada elemento de la infraestructura independientemente. Administrado-Se utilizan tcnicas de administracin de sistemas para reunir informacin en menos consolas. Predictivo-Se introducen procesos analticos en el sistema para monitorizar las situaciones que surjan y se analizan stas para proporcionar posibles cursos de accin, pero el profesional de IT decide lo que hay que hacer. Adaptativo-El entorno de IT puede ejecutar acciones basadas en la informacin disponible y el conocimiento de lo que est sucediendo en el sistema. Autnomo-Polticas de negocio y objetivos gobiernan la operacin 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 polticas de negocio. En el mercado actual hay ejemplos de sistemas predictivos y adaptativos, pero la mayora continan en un nivel bsico o administrado. z/OS est continuamente reforzando sus capacidades autnomas con el objetivo de llegar a un sistema totalmente autnomo. Actualmente los productos de System z incorporan una amplia variedad de capacidades autnomas basadas en las cuatro caractersticas de los sistemas auto-administrados: auto-configurado, auto-reparador, auto-optimizante y auto-protegido.

2.7.4 Tecnologas auto-configuradoras.


z/OS no es todava totalmente auto-configurado, pero s dispone de dynamic configuration lo cual significa que se puede cambiar la configuracin mientras el sistema est activo. Con la plataforma System z, un centro de procesos no tiene que subir de nivel el sistema operativo cuando aade una mquina 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 ms tarde el software y el middleware. El z/OS no requiere paradas para realizar cambios en la configuracin incluso aunque haya ms de una imagen en el sistema. Las tecnologas de auto-configuracin no intentan simplificar la complejidad del z/OS, solo simplificar su configuracin. El z/OS dispone de herramientas para ayudar en la configuracin dinmica 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 prcticas reconocidas. Configuracin 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.

IBM Corporation

21/02/2011

28 de 131

2.7.5

Tecnologas auto-reparadoras

Desde su concepcin el z/OS ha incorporado filosofas auto-reparadoras y caractersticas de disponibilidad, fiabilidad y servicio. Los nuevos desarrollos en el z/OS tratan de mejorar estas caractersticas continuamente. Entre estas tcnicas podemos citar la automatizacin 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. Tambin podemos hablar del IBM Health Checker for z/OS que ayuda a simplificar y automatizar la identificacin de problemas potenciales de configuracin antes de que afecten a la disponibilidad del sistema o causen una cada. Compara los parmetros y valores del sistema activo con valores sugeridos por IBM o definidos previamente por la instalacin. Es una herramienta preventiva que se est ejecutando continuamente, y alerta cuando parmetros y valores crticos varan. Provee al z/OS de capacidades predictivas.

2.7.6

Tecnologas 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-optimizacin en el manejo de cargas y virtualizacin. La virtualizacin de recursos en el z/OS significa que stos se pueden dirigir a dnde quiera que stos se necesiten, no a dnde estn conectados fsicamente. El Workload Manager y el DFSMS, son productos que proporcionan estas caractersticas de optimizacin al z/OS, as como el Intelligent Resource Director

2.7.7 Tecnologas 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 daen unas a otras. El z/OS no es vulnerable a la sobreescritura de los bferes debido a dicho aislamiento. Intrusion Detection Services es un ejemplo de las nuevas tecnologas que mejoran las caractersticas auto-protectoras del z/OS.

2.7.8

Administracin de los sistemas End-to-end

IBM Tivoli System Automation para z/OS (SA z/OS) juega un papel importante en la automatizacin end-to-end dentro de la iniciativa de lBM de computacin autnoma: ana las cuatro caras del automatismo para proporcionar una infraestructura autoadministrada 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 duracin de los incidentes que puedan tener un impacto en la disponibilidad del IT. SA z/OS ayuda a los clientes a simplificar la administracin, minimizar los costes y maximizar la disponibilidad de las aplicaciones. SA z/OS es una solucin de alta disponibilidad para aplicaciones crticas, proporcionando procesos auto-reparadores y automatizacin para la E/S, los procesadores y la operacin del sistema. Los administradores del sistema definen el estado deseado y el software monitorizar y aplicar la respuesta apropiada en el sistema si se desva del estado deseado. SA z/OS trae ms de 40 plug-and-play mdulos de polticas de automatizacin incluyendo IMS, CICS, Tivoli Workload Scheduler, DB2, mySAP, GDPS y WebSphere.

IBM Corporation

21/02/2011

29 de 131

Estos mdulos se basan en las prcticas aconsejadas, experiencias de clientes y el conocimiento profundo de cada aplicacin. Muchas aplicaciones comerciales y componentes del z/OS proporcionan una administracin automtica de mensajes lista para usar que requieren un esfuerzo mnimo para su puesta en marcha y ayudan a conseguir una instalacin de primer nivel. Esta poderosa poltica de mensajes soporta diferentes tipos de automatizacin para diferentes tipos de cdigos de mensajes. SA z/OS se puede usar como base para desarrollar una solucin automtica end-to-end para la administracin de sistemas. 2.7.8.1 El valor del SA z/OS

La automatizacin 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 automatizacin del Sysplex paralelo en una realidad. Maneja cualquier nmero 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 polticas definidas. Reduce la complejidad, el tiempo de implantacin, el cdigo y el esfuerzo requerido para el mantenimiento a travs de polticas de automatizacin que se pueden compartir o clonar a lo largo de todo el entorno. El beneficio de esto es que las polticas se construyen fcilmente usando variables de clonacin y predefiniendo normas autoconfigurables de los mensajes. Con AS z/OS se puede monitorizar el sistema a la bsqueda de seales de daos y aliviar dichas condiciones antes de que el dao pase a mayores. SA z/OS incluye informacin sobre rendimiento proporcionada por el IBM Tivoli OMEGAMON en el marco del proceso de automatizacin. Este marco permite informar proactivamente al tcnico responsable de problemas con el rendimiento en el sistema y finalizar Jobs o mover cargas de acuerdo con las acciones apropiadas definidas en la poltica antes de que ocurra el dao. 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 automatizacin tanto para el sistema como para las comunicaciones. 2.7.8.2 Administracin 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 travs 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 aplicacin, manejar todos los componentes de la aplicacin 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 operacin y automatizacin de aplicaciones en z/OS, Linux y AIX. Esto simplifica en gran medida la determinacin y resolucin de problemas.

IBM Corporation

21/02/2011

30 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 continuacin 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 caracterstica importante es la existencia de mltiples procesadores adicionales a los que figuran como tales. Cuando se dispone de un procesador de 6 vas que accede a la red IP, que tienen acceso a dos bateras de discos y a un robot, estamos, no se dispone solo de las 6 vas 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 compresin. Antes de ver un esquema ms general, vamos a describir algunos conceptos clave en esta arquitectura. Son conceptos con significados diferentes segn la arquitectura de que se trate. Esta ambigedad puede llevar a error y eso se pretende evitar aqu.

3.1.1 Multiprogramacin/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 ms de un usuario y en la actualidad todos los sistemas son multiprograma, es decir son capaces de ejecutar ms de un programa simultneamente. Cuando un trabajo no puede usar el procesador por la razn que sea (porque esta esperando por una operacin de E/S asncrona, por ejemplo) la multiprogramacin, permite suspender el trabajo y liberar, por tanto, el procesador para ejecutar instrucciones de otro trabajo. Cuando la operacin asncrona 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 informacin de estado del programa que se interrumpe antes de quitarle el control. De esta manera, son capaces de restaurar al punto exacto de ejecucin en que se qued. EL rendimiento de la multiprogramacin 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 ms adelante. El donde es en los distintos niveles de Cache del sistema. Cuanto mas memoria cache haya y mas prxima est al procesador, mas posibilidad hay de que los datos de una ejecucin, se restauren con un consumo mnimo de ciclos de CPU. Cuando una mquina tiene mltiples procesadores, el sistema operativo soporta multiproceso que es la capacidad de que mltiples procesadores procesen instrucciones de de varios programas simultneamente.

IBM Corporation

21/02/2011

31 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 multiprogramacin (un procesador ejecuta varios programas simultneamente), como la ejecucin en paralelo (un nico programa puede utilizar distintos procesadores a la vez para hacer trabajo en paralelo). El entorno System z soporta multiprogramacin y multiproceso desde hace muchos aos, prcticamente desde sus orgenes. La carga tpica 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 aaden mas procesadores a un servidor, cada procesador comparte la memoria del mismo y procesa su corriente de instrucciones simultneamente, y de forma independiente, de los otros procesadores. Hay instrucciones de z/Architecture diseadas especficamente 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 interrupcin.

3.1.2 Mecanismo de interrupciones


La multiprogramacin en System z est basado en un esquema de interrupciones. La multiprogramacin requiere que exista alguna tcnica para cambiar el control de un programa a otro para que, por ejemplo, cuando el programa A est esperando a que una peticin de E/S se complete, el programa B pueda ejecutarse. En el z/OS esto se consigue a travs de las interrupciones, que son eventos que alteran la secuencia en la cual el procesador ejecuta las instrucciones. Cuando ocurre una interrupcin, el sistema salva el estado de la rutina interrumpida y analiza el proceso de interrupcin. Una interrupcin puede ser planificada, es decir solicitada por un programa en ejecucin, o no planificada, es decir causada por un evento que no necesariamente tiene relacin con el programa en ejecucin. Como ejemplo de las planificadas estn las que necesitan la ejecucin de rutinas especiales del sistema. Bien para operaciones especiales (llamadas al supervisor o

IBM Corporation

21/02/2011

32 de 131

SVC) o para intentar solucionar o al menos recopilar datos cuando hay algn error. Estas ltimas se llaman interrupciones de programa. Son no-planificadas, las de E/S que se producen cuando ha terminado una operacin de E/S asncrona, las de Restart que se produce cuando el operador selecciona la opcin Restart, y las Externas que incluyen diversos eventos externos, como una llamada desde otra CPU o la expiracin de un intervalo de tiempo. Tambin son no-planificadas las que se producen cuando hay un error de mquina. A modo de anexo se incluye una descripcin 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 travs 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 seala un cambio de estado, tal como la finalizacin de una operacin 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 expiracin de un intervalo de tiempo, una interrupcin desde la consola, o que el procesador reciba una seal desde otro procesador. 4. Interrupciones de reinicio (Restart interrupts). Esta interrupcin ocurre cuando el operador selecciona la funcin RESTART en la consola o cuando la instruccin 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 operacin invlida), page faults (el programa referencia una pgina que no est en la memoria central), o pide monitorizar un suceso. 6. Interrupciones de error mquina. Estas interrupciones las causa un error del procesador y su resolucin termina en asignacin de un procesador de reserva en sustitucin del que ha fallado.

3.1.2.1

Uso de las interrupciones para controlar la secuencia de ejecucin

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 TCBs, que representan tareas ejecutndose dentro de los espacios de direcciones y service request blocks o SRBs que representan servicios de sistema cuyo mbito no se restringe a un solo A.S.. Despus de que se ejecute la interrupcin, el sistema operativo determina qu unidad de control (de entre todas las presentes en el sistema) est lista para ejecutarse y tiene la prioridad ms alta, entonces le pasa el control.

IBM Corporation

21/02/2011

33 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 instruccin a ejecutar y las direcciones donde se encuentran los datos, as como informacin 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 adems de la siguiente instruccin a ejecutar, indica las condiciones de ejecucin, 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 ms representativos: 6 7 8-11 15 31-32 Habilita las interrupciones de E/S Habilita las interrupciones externas Clave de memoria Estado privilegiado o de usuario Modo de direccionamiento: 16, 31 o 64 bits

Cada tipo de interrupcin 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 interrupcin se produjo. La llamada PSW nueva que es la que se carga como activa cuando se produce la interrupcin. Esta contiene la direccin y las condiciones de ejecucin de la rutina asociada con la interrupcin. En un sistema de multiprogramacin, casi cualquier secuencia de instrucciones puede ser interrumpida para ejecutarse ms 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 mtodos de serializacin de encolamiento (GRS) bloqueo (lock) y una tercera tcnica llamada latching. Todos los usuarios pueden usar el encolado pero slo rutinas autorizadas pueden usar el bloqueo para la serializacin de los recursos.

3.1.3 Virtualizacin
Como se ha visto en el captulo anterior, la capacidad de compartir todos los recursos esta basada en una de las caractersticas ms importantes y bsicas del diseo de System z. System z es una arquitectura virtual y que naci virtual.

IBM Corporation

21/02/2011

34 de 131

Es un concepto que, en la actualidad, est muy extendido y que se podra definir como la tcnica de esconder las caractersticas fsicas de los recursos a los usuarios de dichos recursos. Por ejemplo, cada sistema operativo ejecutndose en una particin lgica de la plataforma System z cree que tiene acceso exclusivo al HW. La tcnica de virtualizacin esconde el hecho de que ese HW esta siendo compartido por todas las particiones lgicas. Como se ha dicho mas arriba, la virtualizacin no es un aadido a la plataforma. z/Architecture contiene facilidades tanto en el HW como en le SW base (sistemas operativos) que facilitan la comparticin de los recursos. Todos los elementos de System z contienen componentes que facilitan la virtualizacin. Virtualizar el entorno System z, implica crear sistemas virtuales (Particiones lgicas y mquinas 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 aadir o quitar dinmicamente a estas particiones lgicas mediante el uso de comandos de operador. Aunque se hablar mas adelante, tambin el HW real se puede aadir en muchos casos dinmicamente. Tanto CPU como memoria como E/S. El particionamiento lgico y las mquinas virtuales, incrementan, por tanto, la flexibilidad al permitir que recursos fsicos se aadan o quiten de manera dinmica y no disruptiva de los sistemas virtuales.(LPAR o Virtual machines) activos y en uso. El esquema de virtualizacin 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 virtualizacin de System z son del segundo tipo. En la figura se describen las capacidades de virtualizacin de System z

IBM Corporation

21/02/2011

35 de 131

3.1.4 Otras caractersticas importantes del HW


Para finalizar esta seccin algunas peculiaridades ms: Registros. Son zonas de memoria especiales con misiones especficas. 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 microcdigo de System z suministra. Son las que usa tanto los S.O como el middleware. Estn publicadas en el manual Principles of Operation. Este juego se va ampliando de manera integrada con las modificaciones en el HW. Esta es la razn 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 acompaadas por la inclusin de 50 instrucciones ms 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 inversin adicional programas escritos para 24 bits sin modificacin ni migracin. Este ltimo hecho forma parte del compromiso de proteccin de la inversin en System z

3.2 Componentes y sus caractersticas


System z como todos los sistemas esta construido a partir de componentes HW. La mayora de estas componentes se incluyeron en el diseo inicial en los aos 60/70 y se han ido mejorando y desarrollando a lo largo de los aos . La siguiente figura es un diagrama esquemtico 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 fsica 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 generacin n-3. Un book contiene procesadores, memoria y la conexin a la jaula E/S. Los books estn insertados en la jaula del CEC. Cada System z contiene de 1 a 4 books, y cada uno contiene:

IBM Corporation

21/02/2011

36 de 131

16 unidades de proceso (PU). De estas se emplean algunas para dedicarlas a las operaciones de E/S y siempre existe algn procesador de reserva (spare). Por eso aunque, tericamente, la capacidad mxima 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 fsica 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 corazn de cualquier HW. La plataforma System z tiene una unidad de proceso nica con su propio conjunto de instrucciones Las unidades de proceso estn 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 estn especializados en servicios de compresin y cifrado. La funcin 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 generacin de MAC, hashing seguro y generacin de nmeros Pseudo Random.

IBM Corporation

21/02/2011

37 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 bsico y en el se ejecutan los Sistemas Operativos y las aplicaciones. Si existe algn 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 clculo del coste SW. System z Application Assist Processor (zAAP). Los zAAP los usa la IBM Java Virtual Machine (JVM) para ejecutar cdigo 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 estn pensados, principalmente, para descargar parte del proceso de acceso a los datos (DB2), aunque no es el nico. Tambin ejecuta cdigo de cifrado, XML, etc. Igualmente, lo ejecutado en zIIP no contribuye al clculo del coste HW. Integrated Coupling Facility (ICF). Estos procesadores solo ejecutan un cdigo especial : Coupling Facility Control Code (CFCC). Es el cdigo 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 caracterizacin. Forma parte del diseo N+1. Procesador SAP. En cada mquina 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 cdigo interno que es parte del subsistema de E/S del servidor. Esto descarga de los procesadores centrales el trabajo de comunicacin con los canales, dejando disponibles los mismos para la ejecucin de las aplicaciones. La unidad de instalacin en el z10 es el book. Del total de Pus (entre 17 y 20) se activan las contratadas, pero el resto estn. Eso hace que se pueda aadir potencia de forma dinmica. Ante un pico de demanda, ante la necesidad de absorber la carga de otra mquina 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
3.2.3.1

Memoria
Memoria Central

Los sistemas z utilizan mdulos 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 mquina de 1,5 TB.

IBM Corporation

21/02/2011

38 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 particin en caso de necesidad. Tambin la memoria se instala en mdulos completos permitiendo la posibilidad de aadir memoria de forma dinmica, activando la que ya se encuentra instalada. 3.2.3.2 Memoria Cache

Adems 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 estn los datos de las unidades de proceso, menos ciclos de mquina se desperdiciarn a la espera del dato y, por tanto, mayor ser el rendimiento global. En las mquinas z10 existen varios niveles de Cache: Asociados a la PU Nivel 1. Nivel 1.5 64K para instrucciones y 128K para datos 3MB

Asociados al Book y compartidas entre las Pus que contiene Nivel 2 3.2.3.3 2 Cache de 24 MB cada una. En total 48 MB Memoria Compartida (Coupling Facility)

Procesador especializado y memoria dedicada para compartir la informacin entre las imgenes 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 nmero de operaciones de E/S simultneas. Esta capacidad proviene en gran parte de la existencia de un subsistema especializado as como del uso de procesadores especficos (SAP y canales) Como se ha dicho mas arriba, esto permite simultanear la ejecucin 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 configuracin de E/S para saber encaminar la peticin por el canal correspondiente al dispositivo de destino.

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

IBM Corporation

21/02/2011

39 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 transmisin es de tipo Full dplex. Canales FICON. Existen de distintas velocidades (en la actualidad con un mximo de 8 GB/S). La gran mayora 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 Canales OSA. La tarjeta OSA (Open System Adapter) conecta el System z con la red Ethernet. Es usada principalmente por el TCP/IP y adems de proveer la conexin con el mundo exterior, descarga al TCP/IP de ciertas funciones, como por ejemplo la segmentacin de mensajes. Comunicacin con la Memoria externa (Coupling Facility) o

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 conexin es de cobre y tiene, por tanto limitacin de distancia. Es el que da mas velocidad y mas ancho de banda ISC (Inter System Coupling). La conexin es de fibra y se propaga a ms distancia. No obstante su ancho de banda y su velocidad son menores. IFB Infiniband. En la ltima versin se ha empezado a utilizar el estndar Infiniband para la conexin a la memoria externa. La conexin 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 estndar. En su origen, los dispositivos disponibles para el predecesor de z/OS necesitaban una unidad de control especializada en su manejo. Adems los dispositivos de acceso directo (o discos) tenan una tecnologa de discos accedidos en paralelo que formaban pistas y cilindros.

IBM Corporation

21/02/2011

40 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 tecnologa a los datos residentes en la nueva. Al mismo tiempo, y fiel a su poltica 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 precisin, ya que los tiempos que se manejan estn entre los nanosegundos y los microsegundos. STP (Server Time Protocol) es una facilidad que se incluye en el microcdigo para la sincronizacin de tiempos. Es una versin para System z del protocolo NTP que est ampliamente difundido. La comunicacin entre sistemas se hace utilizando las conexiones con la memoria externa o CF(Coupling Facility), ya que la existencia de la CF es condicin imprescindible para el proceso cooperativo. Para las aplicaciones multiplataforma que necesitan coordinacin 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 estn integradas en el HW. Adems de las tarjetas criptogrficas, 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 tecnologa que provee conexin TCP/IP de gran velocidad entre servidores de distintas LPAR de la misma mquina. La comunicacin se establece utilizando la memoria de la mquina, 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 aplicacin 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 tcnicos de sistemas o el personal tcnico de IBM pueden efectuar las operaciones bsicas en los servidores System z. Las operaciones ms comunes son: Cargar la configuracin HW Cargar o restaurar un sistema (z/VM, z/OS, ) Cambiar la configuracin de las LPAR.

IBM Corporation

21/02/2011

41 de 131

Modificar el HW(aadir o quitar CPs, canales, etc.). La mayor parte de estas modificaciones son dinmicas. Acceder a los Logs de HW Comprobar el uso de los CPs y los Canales. Comprobar el consumo de energa La HMC esta conectada al servidor(es) a travs 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 lgicas definidas en los mismos as como toda la E/S asociada.

3.2.9 Detalles de virtualizacin del HW


3.2.9.1 PR/SM y Particiones Lgicas (LPAR)

Procesor Resource/Systems Manager (PR/SM) es un hypervisor integrado con todas las componentes de System z que mapea los recursos fsicos en lgicos 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 caracterstica muy importante y crucial para permitir una consolidacin de cargas que permita un uso ms efectivo de recursos. Es decir que aumente el porcentaje de ocupacin de los recursos manteniendo el rendimiento. PR/SM permite el particionamiento lgico 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 mquinas separadas. Tanto desde el punto de vista de la integridad de datos y procesos como desde el punto de vista de la seguridad lgica, Los estndares de seguridad EAL han dado la calificacin de EAL5 al particionamiento lgico. 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. Gestin de la CPU por el PR/SM Cada particin lgica (LPAR) es definida con un peso. Este peso determina el porcentaje de la mquina que se le asegura en caso de que, con cargas altas, haya ms de una LPAR compitiendo por el uso de los procesadores. Este peso es siempre un mnimo aunque en caso necesario puede ser tambin un mximo si establecemos la condicin de capped para esta particin. Estos pesos son fijos y el operador los puede cambiar de forma dinmica. Si se necesita que la distribucin de estos pesos vaya variando con el tiempo y ajustndose a los SLAs de las cargas, se puede utilizar el IRD (Intelligent Resource Director)

IBM Corporation

21/02/2011

42 de 131

Este, extiende el control de la gestin de cargas por objetivos de rendimiento en una LPAR (WLM) al control de los pesos de las particiones as como del nivel de multiprogramacin requerido (nmero mximo de procesadores lgicos) El IRD es tambin capaz de gestionar la prioridad en la E/S objetivos de rendimiento. 3.2.9.2 Virtualizacin de E/S para conseguir los

La virtualizacin 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 virtualizacin hace que cada LPAR crea que tiene uso exclusivo y es el microcdigo quien se encarga de ordenar dicho acceso. La componente del microcdigo dedicada a esta virtualizacin se llama EMIF.

3.2.10 Hiperdispatch
Es una funcin que permite mejorar el rendimiento aumentando las posibilidades de que el dato que necesita una instruccin se encuentre en la memoria cache ms prxima. El Hiperdispatch tiene dos componentes, una HW (o microcdigo del PR/SM) y otra SW (en el dispatcher del z/OS). La primera aplantilla una CPU lgica sobre una fsica utilizando un algoritmo que busca la reutilizacin del primer nivel de cache. Es decir siempre busca aplantillar la CPU lgica sobre la ltima fsica en la que se ejecut. En caso de que no est disponible, aplantilla sobre otra. En ningn caso hace esperar por esta causa. Esta es la componente HW. La componente SW (el dispatcher o repartidor de la CPU) divide los procesadores lgicos 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 lgica, que a su vez se procura aplantillar sobre la misma fsica, de manera que los datos que haba referentes a la tarea en los distintos niveles de cache estn an ah, y no han sido sustituidos por otros.

IBM Corporation

21/02/2011

43 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) gestin de sistema En este captulo 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 diseado para proporcionar las ms altas calidades de servicio para los datos y transacciones de las empresas y extiende estas calidades a las nuevas aplicaciones utilizando las ltimas tecnologas de software. Ofrece una base altamente segura, escalable y de alto rendimiento en la que implantar aplicaciones habilitadas para SOA utilizando tanto tecnologas altamente implantadas y estables tipo OLTP, como tecnologas Internet y Java, proporcionando un completo y diverso entorno de ejecucin, as como un almacn de datos de empresa altamente seguro y flexible. Las excelentes caractersticas y solidez de este sistema operativo, abarcan un amplio nmero de categoras: Modelo de proceso centralizado. Seguridad. Gestin. Virtualizacin y gestin 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 combinacin del hardware del IBM System z y de las capacidades del Parallel Sysplex. Para proporcionar estas caractersticas, el IBM System z/OS incluye un amplio conjunto de capacidades y herramientas.

z/OS es el Sistema Operativo mas caracterstico 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 ejecucin de un nico trabajo, rpidamente se convirti en un sistema operativo que es capaz de manejar muchos miles de programas y usuarios concurrentemente.

IBM Corporation

21/02/2011

44 de 131

Desde sus inicios el diseo de z/OS tiene como objetivo primordial alcanzar el la mxima calidad de servicio posible utilizando la tecnologa disponible en cada momento.

Esta calidad de servicio forma parte intrnseca 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 tecnologas software. Es, por ejemplo, una plataforma escalable y segura en la que desplegar aplicaciones SOA usando tecnologa JAVA o adaptando la tecnologa tradicional.

El diseo de z/OS, est basado en la distintos componentes que trabajan de modo cooperativo para llevar a cabo las tareas del sistema. A continuacin se describen los ms importantes

4.1.1 Gestin de la Memoria


En la gestin 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 tamao lo da el esquema de direccionamiento. En la actualidad el direccionamiento es de 64 bits y por lo tanto el mximo tamao 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 pginas. Las pginas en z/OS son de 4 K o de 1MB. Una unidad de trabajo ejecutndose 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 recuperacin. Dentro de cada AS hay una zona compartida por todos que se usa como memoria de comunicacin y donde residen los mdulos del sistema, o, en general, todos los que tienen un uso comn. Hay por tanto tres tipos de memoria: Memoria virtual, que no es ms 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.

IBM Corporation

21/02/2011

45 de 131

Utilizando un esquema LRU (Least Recently Used) el sistema va enviando a memoria auxiliar el contenido de las pginas de memoria real que hace ms tiempo que no se referencian. El objetivo es tener siempre disponibles pginas de memoria real donde poder volver a cargar los datos necesarios para los programas en ejecucin.

Esta paginacin es, por supuesto, totalmente transparente al usuario.

4.1.2 Gestin 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 mltiples tipos de carga a la vez, y manejar las prioridades relativas de dichas cargas. La funcin que hace esto posible, es el WLM (WorkLoad Manager) La idea es poder especificar objetivos de rendimiento para los distintos trabajos en trminos 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 tcnicas (reglas de asociacin, prioridades de ejecucin arranque automtico de servidores, etc) entendibles por el sistema operativo.

La definicin de los tipos de carga y las reglas para manejarlos, es lo que constituye una poltica 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 poltica es compartida por todos los sistemas que trabajen de forma cooperativa (Sysplex) WLM tiene dos mtodos 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 identificacin 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 caractersticas (nombre de la transaccin, nombre del servidor origen, direccin 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.

IBM Corporation

21/02/2011

46 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 dispersin 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 utilizacin 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 clasificacin. Los enclaves tienen la caracterstica especial de que la unidad de trabajo que representan se puede ejecutar en mltiples espacios de direcciones,

IBM Corporation

21/02/2011

47 de 131

4.1.3 Resource Recovery Services (RRS).


Una transaccin puede acceder a mltiples BBDD y obtener servicio de mltiples regiones servidoras y tiene que tener, en caso de error, la capacidad de deshacer todo lo hecho (back-out). Si una transaccin solo modifica en una BBDD gestionada por un nico gestor, la recuperacin la hace el gestor de BBDD sin necesidad de coordinacin. Sin embargo, si una transaccin escribe en una ,o mas, bases de datos y/o tambin en un fichero secuencial o, incluso, en una Base de datos jerrquica, la recuperacin que harn los distintos gestores, debe ser coordinada desde un nico punto Este punto nico de gestin, es un componente llamado RRS. Los gestores de transacciones, pueden llamar al RRS para coordinar la recuperacin en caso de fallo o pueden utilizar sus propios mecanismos de recuperacin en caso que no haya ms que un componente involucrado. . RRS proporciona un gestor de puntos de sincronismo (syncpoint) que cualquiera que lo necesite puede explotar.

4.1.4 Gestin 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 mtodos de acceso. Un mtodo de acceso define la tcnica usada para almacenar y recuperar datos. Los mtodos 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 mtodos de acceso, forman parte de la filosofa general del z/OS de liberar a los programadores de aplicacin de la codificacin de todo lo que no sean procesos de negocio. Adems su utilizacin permite optimizar el acceso a los datos. Los mtodos de acceso se identifican en primera instancia por la organizacin 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 mtodo de acceso identificado con una organizacin 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, an existen muchas instalaciones que siguen teniendo aplicaciones en produccin con sus datos gestionados en VSAM. Como ya se ha citado anteriormente, el trmino VSAM aplica tanto al tipo de fichero como al mtodo de acceso que se usa para gestionar los diferentes tipos de datos. Como mtodo de acceso, VSAM proporciona funciones ms complejas que otros mtodos de acceso de disco. Se usa principalmente para guardar datos de las aplicaciones. Para guardar programas fuente, JCLs o mdulos de carga se utilizan los ficheros particionados o libreras.

IBM Corporation

21/02/2011

48 de 131

Hay elementos de middleware del z/OS que internamente guardan tambin 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 (entrysequenced), 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 descripcin de los mismos: Key Sequence Data Set (KSDS) cada registro tiene uno o ms 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 nmero, registro 1, registro 2, Proporciona un acceso al azar y asume que la aplicacin tiene forma de derivar los nmeros 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 nmero alto de funciones del sistema z/OS que usan este formato ampliamente, pero es raro que lo usen programas de aplicacin.

4.1.5 Gestin del Almacenamiento


La gestin de los datos, consiste en la asignacin de espacio, ubicacin del mismo, monitorizacin, migracin, backup, recall, recuperacin y borrado de ficheros. Estas actividades se pueden llevar a cabo o manualmente o usando procesos automatizados. Cuando se usa este segundo mtodo (lo mas normal) es el sistema quien se encarga de toda la gestin. Todas las caractersticas de ubicacin, migracin, backup y borrado se establecen mediante un conjunto de reglas basadas en distintas caractersticas del fichero como el nombre, el entorno en que se crea, el tamao, el usuario que lo pide, etc. De esta manera y de manera automtica a cada tipo de dato se le da el tratamiento que requiere. Un ejemplo sera: o El que hace tiempo que no se usa se migra a cartucho de manera transparente Los datos crticos tienen backup diario y se guardan diez versiones. Los muy crticos tienen copia instantnea (Flash Copy ) cada cierto tiempo.

o o

Lo que llamamos DFSMS (Data Facility Storage Management Subsystem) es un conjunto de productos de software que administra automticamente los datos, desde su creacin a su expiracin. El DFSMS proporciona controles para la ubicacin de los datos de acuerdo con la disponibilidad y el rendimiento, servicios de backup/recuperacin y recuperacin ante el desastre, administracin del espacio en disco, administracin de los medios magnticos e informes y simulaciones para afinar el rendimiento y la configuracin.

IBM Corporation

21/02/2011

49 de 131

Proporciona una solucin integrada y comprensiva para la administracin de datos. Facilita una administracin del almacenamiento de acuerdo con los SLAs definidos. Se puede conseguir hasta un 50% de incremento en la capacidad efectiva del almacenamiento. Esto redunda en la reduccin de costes en el almacenamiento. Componentes: DFSMSdfp: como se ha descrito en el epgrafe anterior, proporciona funciones bsicas de almacenamiento de datos, programas y dispositivos y algunas funciones de copia. DFSMSdss: con funciones para el movimiento de datos, copia, back-up y administracin de espacio. DFSMShsm: administra y automatiza las funciones de back-up, recuperacin, migracin (archivado) y limpieza del espacio desaprovechado. DFSMSrmm: proporciona funciones administrativas para los recursos removibles, tales como libreras, cartuchos, y volmenes lgicos 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 anlisis de datos con un alto grado de rendimiento.

4.1.6 Gestin de los bloqueos -Global resource serialization (GRS)


Como se ha dicho en el captulo 2, la serializacin es clave en System z para permitir tanto el uso compartido de recursos como la multiprogramacin. 3.3.6 Global resource La serializacin de recursos es la tcnica usada para coordinar los recursos que usa ms de una aplicacin. Los programas que cambian algo, necesitan un control exclusivo del recurso, en caso contrario el recurso se podra corromper.. Esta proteccin 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 serializacin 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 ningn usuario que lo necesite exclusivo. De la misma manera garantiza que si hay un usuario con acceso exclusivo (de escritura si es un dato) ningn 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 travs de llamadas al sistema en Assembler ENQ/DEQ. 1. El programa pide la utilizacin de un recurso con una peticin de ENQ seguida de un nombre. Este nombre representa un recurso de cualquier tipo, desde un fichero a una zona de memoria a la utilizacin de un programa, etc

IBM Corporation

21/02/2011

50 de 131

2. Si el recurso no esta disponible, el propio GRS lo pone en estado suspendido o en espera. De esta situacin 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 dems 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 rpida de serializar el uso de recursos de sistema por parte de rutina especficas. Un lock es una zona de memoria que indica si un recurso est siendo usado y quin 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 pidindolo en un bucle hasta que lo consiga (Spin lock) o quedarse en espera (suspend lock). Este esquema posibilita una situacin no deseada en la que Usuario A pide lock1 y usuario B pide lock2. A continuacin usuario A pide lock2 y usuario B pide lock1. Si esto ocurriera, ambos usuarios se quedaran parados en lo que se llama un deadlock o abrazo mortal. Para evitar esta situacin, los locks z/OS siguen una jerarqua y no se puede pedir uno de nivel superior sin haber conseguido antes el de nivel inferior.

4.2 Entorno de programacin/ejecucin


La plataforma System z ofrece las herramientas necesarias para implementar los estndares de la industria en desarrollo de SW. El microcdigo de System z ha ido incorporando a lo largo del tiempo, instrucciones para mejorar el rendimiento de los programas compilados en ejecucin. De la misma manera que se incluyeron instrucciones de microcdigo que mejoraban los programas Cobol y PL/I, en las ltimas versiones se estn incluyendo instrucciones que optimizan programas en Java, C++, Pearl, etc

IBM Corporation

21/02/2011

51 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 libreras de este entorno, incluyen servicios comunes tales como mensajes, funciones de fecha y tiempo , funciones matemticas, utilidades, servicios del sistema y subsistemas Todos estos servicios, estn disponibles a travs de interfaces comunes a todos los lenguajes. Estas interfaces comunes, minimizan la influencia del lenguaje de programacin elegido en los resultados de la aplicacin.

4.2.2 Compiladores de los lenguajes de programacin tradicionales


z/OS soporta los lenguajes de programacin clsicos: 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.

IBM Corporation

21/02/2011

52 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 adems IBM ha mejorado el JAVA en z/OS para permitirle utilizar funciones peculiares de System z, tales como el HW criptogrfico o los sistemas de ficheros UNIX en z/OS. Adems existen interfaces entre los lenguajes tradicionales (Cobol, C/C++, etc..) y el lenguaje JAVA. Por ltimo y como se ha dicho anteriormente, la ejecucin dentro de la Java Virtual Machine (JVM) se descarga en su mayora (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 mquina desde el punto de vista del SW.

Adems de poder ser ejecutados de manera interactiva, como en el resto de las plataformas, los programas Java en z/OS pueden ser ejecutados, tambin, en batch.

4.2.4 Lenguajes de reciente incorporacin


z/OS va incluyendo en sus diferentes versiones el soporte de los distintos lenguajes que en algn momento se consideran de utilidad en el Mainframe. Los ltimos en ser incluidos (en el z/OS 1.9) han sido Pearl y Metal Tambin existe el soporte de lenguajes de cuarta generacin 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 dinmicas 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 tambin: Desplegar en mltiples entornos que incluyen WebSphere, CICS, IMS, batch, y DB2 va 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 grficamente cdigo 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

IBM Corporation

21/02/2011

53 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, tambin dispone de sus propias rutinas de parsing.

DB2 incorpora un parsing de XML propio, aunque tambin 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. Adems de su disponibilidad para el usuario, hay diversas componentes que lo usan, como el TCP/IP que ejecuta parte de su cdigo bajo USS y parte bajo una STC. De esta manera la integracin est ms optimizada.

4.2.8 Security Server


Como se ha visto anteriormente, la seguridad en System z es una combinacin 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 nmero de sistemas y componentes a gestionar. Los aspectos bsicos de seguridad z/OS se sustentan en dos funcionalidades bsicas: Integridad.- Funciones de aislamiento hardware e integridad del sistema. Seguridad de sistema z/OS y sus componentes, que integra la proteccin 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 criptogrficas incorporan la base de seguridad de red y de transacciones, permitiendo la utilizacin de tcnicas de cifrado que proporcionan autenticacin, confidencialidad e integridad de datos.

ICSF (Integrated Cryptographic Service Facility) Componente de z/OS para la gestin de los procesadores criptogrficos del zSeries, que proporciona los API de la arquitectura criptogrfica de IBM CCA

IBM Corporation

21/02/2011

54 de 131

(Common Cryptography Architecture) a las aplicaciones y middleware que utilizan los servicios criptogrficos software. ICSF es la base fundamental de criptografa en z/OS posibilitando el cifrado y descifrado de datos, la generacin y gestin de claves y la realizacin de otras funciones criptogrficas de integridad de datos y firmas digitales.

System SSL / TLS (Secure Socket Layer / Transaction Layer Security) Componente base de z/OS que proporciona integracin de las funciones SSL /TLS de autenticacin y cifrado (integridad y confidencialidad) a las aplicaciones y servidores z/OS. Esta integracin proporciona servicios de cliente y de servidor SSL estandarizando y centralizando las funciones de los servicios SSL y las utilidades de gestin de certificados. System SSL/TLS se beneficia de las funcionalidades del hardware criptogrfico, y de cache del Sysplex para obtener altas tasas de rendimiento. PKI Services (Public Key Infrastructure Services) Componente base de z/OS que proporciona las funciones de gestin de Autoridad Certificadora estndares (Identrus compliant) en el entorno z/OS. PKI Services soporta X.509 v3 (PKIX) y Common Data Security Architecture (CDSA), y la gestin de certificados para Secure Sockets Layer (SSL), Internet Protocol Security (IPSEC) y Secure Multipurpose Internet Mail Extensions (S/MIME). PKI explota las funcionalidades de proteccin de RACF y del hardware criptogrfico para la seguridad de comunicaciones y para la proteccin de clave privada de CA. RACF (Resource Access Control facility) RACF ha sido el componente bsico de seguridad del sistema Mainframe desde sus inicios, centralizando las funciones de seguridad (identificacin y autenticacin, control de acceso a recursos y auditora) para el sistema operativo y los productos y subsistemas. Las peticiones a RACF se realizan de manera centralizada y estructurada a travs 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 Autenticacin de usuarios aplicando diferentes tecnologas: verificacin de usuario con password, password-phrase y passticket; autenticacin 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 Gestin 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 certificacin a autoridades certificadoras (CA), adems de proporcionar proteccin de acceso a claves y certificados. o Log y auditora integrada en el log del sistema (SMF), incluso para accesos a recursos no protegidos por RACF (como ficheros y directorios USS, filas DB2).

IBM Corporation

21/02/2011

55 de 131

4.3 Tcnicas de clustering. Sysplex Paralelo


Las tcnicas para compartir datos entre ms de una imagen del sistema operativo es lo que generalmente se llaman tcnicas 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 tcnicas previenen la concurrencia no deseada. La ms sofisticada de estas tcnicas 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 aplicacin. La clave es la tecnologa que permite compartir los datos con integridad tanto de lectura como de escritura de manera altamente efectiva. La tecnologa de clustering de sistemas con datos compartidos, ha ido evolucionando en z/OS desde la comparticin bsica de datos en discos hasta el Sysplex Paralelo, pasando por el llamado anillo GRS.

4.3.1 Clustering bsico


Se basa en la proteccin por un bloque global del dispositivo mientras est siendo actualizado en algn fichero de uso comn. Ej.- VTOCs e ndices de los discos, catlogos, ficheros comunes del online, etc No toda actualizacin implica un bloqueo, ya que aunque se comparten algunos datos, hay otros muchos que son propios de cada imagen. Este mtodo bloquea al mismo tiempo toda la informacin contenida en un dispositivo y exige, por tanto, una cuidadosa (y bastante estable) configuracin del contenido de los mismos. Tambin exige una cuidadosa `planificacin en los accesos para evitar el dead lock arriba descrito. Pese a sus limitaciones, esta tcnica ha permitido a los Mainframe compartir datos entre distintas instancias del sistema operativo, desde los aos 80.

4.3.2 Anillo GRS


Esta tcnica 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 ms) a travs de conexiones de canal formando un anillo. Cuando desde un sistema se va a actualizar algn elemento compartido (fichero u otro tipo) lanza una peticin 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 tcnica 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 informacin acerca de las caractersticas 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 polticas se apliquen exactamente igual en cada uno de los sistemas.

IBM Corporation

21/02/2011

56 de 131

Esta tcnica permite mayor dinamicidad en el contenido de los dispositivos, as como mayor flexibilidad en la planificacin. La limitacin es el delay que introduce en las peticiones y que hace que, en algunos casos, se siga utilizando la tcnica anterior. Desde su origen, el z/OS ha tenido una componente encargada de la serializacin 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 serializacin de intra-sistema a inter-sistema fue el GRS y de ah la denominacin de anillo GRS. Esta tcnica se ha estado utilizando hasta hace pocos aos.

4.3.3 Sysplex Paralelo (Resource sharing y Datasharing)


Un Sysplex Paralelo, es una coleccin 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 tecnologa es la base de la obtencin 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 imgenes de la aplicacin siguen funcionando. Sysplex paralelo, tambin posibilita un crecimiento horizontal (aadir un sistema con su potencia al conjunto) frente al crecimiento vertical (aadir potencia simplemente). Este crecimiento horizontal amplia el techo de crecimiento con System z. El lmite terico en la actualidad es de 32 sistemas con 64 procesadores cada uno. El Sysplex Paralelo esta basado en una tecnologa 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 configuracin de Sysplex paralelo son: Recursos HW- Coupling Facilities y Coupling Links Recursos SW: SW que se ejecuta en la CF Adaptacin 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 ms procesadores, unos GB de memoria , conexiones con los sistemas del Sysplex y un sistema operativo propio que se distribuye a la vez.

IBM Corporation

21/02/2011

57 de 131

La CF funciona como una gran buffer donde los datos pueden ser accedidos desde los sistemas con un mecanismo de serializacin adecuado al tipo de dato. Los Informacin que almacena es de tres tipos Informacin de lock que es compartida entre todos los sistemas del Sysplex Informacin 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 configuracin de un Sysplex paralelo con 2 imgenes.

Como funcionalidades ms relevantes de un Sysplex Paralelo, se podran destacar las siguientes: En muchos aspectos, un Sysplex Paralelo parece un nico sistema. Tiene una internase nica de operacin Planificando adecuadamente, una carga se puede ejecutar en una o varios sistemas

IBM Corporation

21/02/2011

58 de 131

Si uno de los sistemas falla, y los sistemas estn preparados para ello (ver GDPS mas adelante) su carga es desviada automticamente al resto sin prdida de servicio. De la misma forma, si algn de los sistemas necesita mantenimiento, su carga se puede desviar al resto sin prdida de servicio. Esto hace que incluso actualizaciones HW (cambio de mquinas) o de SW (cambio de Sistemas Operativos) se puedan llevar a cabo sin prdida de servicio. Por supuesto con los lmites de compatibilidad entre versiones que marca la poltica 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 implementacin de la tecnologa IBM para virtualizacin de servidores en la plataforma. Cada mquina virtual es vista por el sistema operativo guest o husped como una mquina fsica. Da la capacidad de correr otro tipo de sistemas operativos cono z/VSE o zLinux y tambin z/OS puede ser ejecutado bajo z/VM. z/VM soporta huspedes en arquitecturas de 24, 31 y 64 bits. z/VM suministra a cada usuario un entorno de trabajo individual, que es lo que llamamos mquina virtual, que el usuario ve como HW y se dirige a l utilizando las instrucciones HW que usara en modo nativo. Las mquinas 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 asignacin del procesador es por intervalos, es decir que se tiene una granularidad menor que un procesador. z/VM tambin permite virtualizar la E/S ( discos, cartuchos, etc. ) as como la red. La virtualizacin permite adems enriquecer el entorno por medio de funciones tales como:

Uso de tcnicas 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 huspedes.

z/VM permite compartir espacio en disco entre las imgenes zLinux. Esto permite que se pueda compartir el cdigo read-only entre dichas imgenes. Esta facilidad, adems 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 comunicacin entre los distintos sistemas huspedes es tambin virtual. Adems de ser ms rpida, 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,

IBM Corporation

21/02/2011

59 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 aadido del soporte y uso del HW del que dispone System z. Soporte Criptogrfico : 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 comunicacin de alta velocidad fuera del CEC. HiperSockets para comunicacin 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 comunicacin TCP/IP a alta velocidad entre LPAR. Usa la memoria como canal de comunicacin y usa un protocolo TCP/IP aligerado de las funciones relativas al medio fsico.

En general, zLinux hereda de manera automtica, las fortalezas del HW del Mainframe. Usado como husped de z/VM suministra una base para la consolidacin 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.

IBM Corporation

21/02/2011

60 de 131

5 Arquitectura System z. Plataforma Middleware Transaccional

SW-

Las transacciones ocurren en nuestra vida diaria constantemente; por ejemplo cuando sacamos dinero de un cajero o buscamos en Internet. Una transaccin es un intercambio, generalmente una peticin y su respuesta, que ocurre como un hecho rutinario para ejecutar operaciones del da a da de una organizacin. Las transacciones tienen las siguientes caractersticas:

Se procesan y transfieren pequeos volmenes de informacin por cada transaccin. Tienen gran nmero de usuarios. La duracin es corta. Se ejecutan con mucha frecuencia o en grandes cantidades. Los datos que manejan son compartidos.

Una transaccin de negocio es un acuerdo de negocio autocontenido. Algunas transacciones suponen una conversacin 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 ms o menos amplio (por ejemplo, la reserva de un viaje, incluyendo coche, hotel y billetes de avin). Una transaccin simple puede constar de muchos programas de aplicacin 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 ms de una tarea en un momento determinado, cada una guardando sus propios datos variables y siguiendo las instrucciones especficas 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 peticin para ejecutar una transaccin, puede arrancar una nueva tarea que se asocia con una instancia de la ejecucin de la transaccin, 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 aplicacin se procese por varias transacciones concurrentemente. Se requiere que todos los programas de aplicacin 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 nemotcnico A-C-I-D o ACID:

IBM Corporation

21/02/2011

61 de 131

Atomicidad los procesos ejecutados por la transaccin o se ejecutan como un todo o no lo hacen en absoluto. Consistencia la transaccin slo trabaja con informacin consistente. Isolation (aislamiento) los procesos que proceden de dos o ms transacciones deben estar aislados entre s. Durabilidad los cambios hechos por la transaccin deben ser permanentes.

Generalmente las transacciones se inician por usuarios finales que interactan con el sistema transaccional a travs de un terminal. En el pasado, los sistemas transaccionales slo soportaban terminales y dispositivos conectados a travs de una red de teleproceso 2. Hoy da los sistemas transaccionales pueden servir peticiones provenientes de:

Una pgina web Un programa en una estacin de trabajo remota Una aplicacin en otro sistema transaccional Un disparo automtico en un momento predefinido o ante un suceso determinado

En los siguientes puntos se detallan cada uno de los servidores de aplicacin transaccionales.

5.1 CICS
CICS son las iniciales de Customer Information Control System 3; es un subsistema de propsito general del z/OS para procesar transacciones. El CICS proporciona los servicios para ejecutar una aplicacin online, a peticin, y al mismo tiempo que otros usuarios estn submitiendo peticiones para ejecutar la misma aplicacin utilizando los mismos ficheros y programas. El CICS gestiona la comparticin de los recursos, la integridad de los datos y la priorizacin de la ejecucin 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). Podramos decir que el CICS acta (y lleva a cabo muchas de las mismas funciones) como el sistema operativo z/OS. Una aplicacin CICS es una coleccin de programas relacionados que llevan a cabo juntos una operacin de de negocio, como presentar una declaracin de renta por va telemtica o abrir una solicitud de ayuda para personas con dependencia.

De aqu deriva la denominacin de monitores de teleproceso que se ha dado tradicionalmente a los sistemas transaccionales.

Aunque desde hace unos aos al nombre CICS se le han aadido las iniciales TS de Transaction Server, en este libro seguiremos refirindonos a este middleware como CICS a secas.

IBM Corporation

21/02/2011

62 de 131

Las aplicaciones se ejecutan bajo control del CICS utilizando servicios CICS e interfaces para acceder a programas y ficheros. La ejecucin de una transaccin incluye la ejecucin de uno o ms programas de aplicacin que implementan la funcin que se requiere. En la documentacin de CICS se puede encontrar que a los programas de aplicacin CICS se les llama simplemente programas, y algunas veces el trmino transaccin se usa para indicar el proceso hecho por los programas de aplicacin.

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 aplicacin (la llamada aplicacin online) de otros en el sistema, y los gestiona l mismo. Cuando un programa de aplicacin 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 mtodos de acceso correspondientes del sistema operativo. Finalmente, el mtodo de acceso se comunica con el terminal o dispositivo.

Figura n: Sistema transaccional y sistema operativo Un sistema z/OS podra tener mltiples copias de CICS ejecutndose a la vez. Cada CICS arranca un espacio de direcciones z/OS separado. El CICS proporciona una opcin llamada operacin multiregin (MRO son las iniciales en ingls), y que permite la separacin de funciones CICS diferentes en regiones diferentes (espacios de direcciones); as un espacio de direcciones CICS (o ms) podra hacer el control de los terminales y se le llamara terminal-owning regions (TOR). Otras posibilidades incluyen application-owning regions (AORs) para las aplicaciones y file-owning regions (FORs) para los ficheros.

IBM Corporation

21/02/2011

63 de 131

5.1.2 Programas, transacciones y tareas CICS


El CICS permite separar la lgica de la aplicacin de los recursos de la aplicacin. Para desarrollar y ejecutar transacciones CICS, se necesita entender la relacin entre los programas CICS, transacciones y tareas. Estos trminos se usan a lo largo de las publicaciones CICS y aparecen en muchos comandos.

Transaccin.- Es una pieza de procesamiento iniciada por una simple peticin. Se puede iniciar desde un usuario en un terminal, pero tambin desde una pgina web, o desde un programa en una estacin de trabajo remota, una aplicacin en otro sistema transaccional o por un disparo automtico en un momento predefinido o ante un suceso determinado. A cada transaccin se le da un nombre de cuatro caracteres, que se define en la tabla de control de programas (PCT).

Programa de aplicacin.- Una transaccin simple puede constar de uno o ms programas de aplicacin, y que cuando se ejecutan, llevan a cabo el procesamiento requerido. Sin embargo, el trmino transaccin en CICS significa tanto un sencillo evento o todas las transacciones del mismo tipo. Cada transaccin se describe en el CICS con la definicin de recurso transaccin (transaction resource definition). Esta definicin le da a la transaccin un nombre (identificador de la transaccin o TRANSID) e informa a CICS de varias cosas como qu programa se invoca desde el principio y qu tipo de autenticacin se requiere durante la ejecucin de la transaccin. Se ejecuta la transaccin especificndole al CICS el nombre de la transaccin (TRANSID); ste usa la informacin guardada en la definicin de la transaccin para establecer el entorno de ejecucin adecuado, y arrancar el primer programa.

Unidad de trabajo Utilizamos este trmino para denominar a una operacin 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 transaccin CICS es el de una sola unidad de trabajo.

Tarea La palabra tarea tambin tiene un significado especial en CICS. Cuando el CICS recibe una peticin para ejecutar una transaccin, arranca una nueva tarea asociada con esta instancia de la ejecucin de la misma. A la tarea se le puede tambin considerar como un thread, Cuando la transaccin se completa, se termina la tarea.

5.1.3 Programacin conversacional y pseudo-conversacional


En CICS, cuando los programas que se estn ejecutando entran en conversacin con el usuario hablamos de transaccin conversacional. Una transaccin 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 conversacin real. Hay una tcnica en CICS que se llama procesamiento pseudo-conversacional en el que a travs de una serie de transacciones no conversacionales se da la apariencia al usuario de que existe una transaccin conversacional. No existe transaccin mientras el usuario est esperando por la entrada; cuando ste la enva, el CICS arranca la transaccin para leer y procesar los datos; justo despus de enviar respuesta de nuevo al usuario, acaba la transaccin. Es fundamental entender que la principal diferencia entre ambas tcnicas radica en los recursos que estn alocados en cada momento; mientras en la transaccin conversacional los programas mantienen los recursos mientras esperan a recibir los

IBM Corporation

21/02/2011

64 de 131

datos, en el caso de la programacin pseudo-conversacional, no se mantiene alocado ningn 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 ms opciones. Cuando se necesita un servicio del CICS, por ejemplo para leer un registro de un fichero, slo tienen que incluirse el comando CICS dentro del cdigo del programa.

5.2 Servicios CICS para los programas de aplicacin


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. Comunicacin con variedad de terminales y dispositivos. Conexin 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 transaccin y con otras transacciones.

Los programas CICS se ejecutan como parte de una transaccin bajo el control de una tarea CICS y pueden llevar a cabo las siguientes acciones: Obtener informacin 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.

IBM Corporation

21/02/2011

65 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 comunicacin Un rea de comunicacin (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 tamao mximo recomendado de un rea de comunicacin es de 24KB, aunque el valor mximo absoluto es de 32KB. Contenedores y canales (containers and channels) Un contenedor es un bloque de datos con nombre que se usa para pasar informacin entre programas. El programa puede pasar cualquier nmero de contenedores a otro programa usando una agrupacin lgica de contenedores llamada canal. Los contenedores no estn limitados a un tamao mximo 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 slo una vez. Se deben leer secuencialmente, y cada item de datos slo se puede leer una vez; despus de que una transaccin lee un item, ste se borra de la cola y deja de estar disponible para cualquier otra transaccin. El CICS proporciona dos tipos de colas TD: Colas TD intraparticin que se usan principalmente para comunicacin entre los programas CICS. Colas TD extraparticin que se usan principalmente para comunicacin entre un programa CICS y un dispositivo secuencial, como un fichero QSAM o una impresora.

Las colas TD intraparticin 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 travs 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 travs de Database Control (DBCTL). Los programas CICS pueden utilizar la interfaz de programacin 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 seccin 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 definicin. Se pueden usar tablas de datos compartidos (shared data tables) para proporcionar un acceso eficiente a los ficheros VSAM KSDS. Una tabla de

IBM Corporation

21/02/2011

66 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 ms de una regin CICS.

5.2.3 Topologa 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 travs de componentes hardware y servicios de software multisistema. Una regin CICS es una instancia (ejemplar) de CICS que se ejecuta en su propio espacio de direcciones z/OS. Una regin CICS se puede arrancar y parar independientemente de otras regiones. Un CICSplex es una agrupacin de regiones CICS que se maneja como una sola entidad. Cada regin CICS slo 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 agrupacin de regiones en un CICSplex que se puede manejar como una entidad. El grupo puede incluir regiones que se estn ejecutando en sistemas z/OS diferentes. En un CICSplex, cada regin puede pertenecer a ms de un grupo, y los grupos pueden estar contenidos en otros grupos. En la seccin El CICS y el z/OS se citaba el concepto de operacin multiregin; 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 desempear todos los roles y, en algunos casos, resulta apropiado combinar algunos de los roles en una regin. Un sistema z/OS podra tener mltiples copias de CICS ejecutndose a la vez. Cada CICS arranca un espacio de direcciones z/OS separado. El CICS proporciona una opcin llamada operacin multiregin (MRO son las iniciales en ingls), y que permite la separacin de funciones CICS diferentes en regiones diferentes (espacios de direcciones); as un espacio de direcciones CICS (o ms) podra hacer el control de los terminales y se le llamara 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 regin que es la llamada transport-owning region, y que realiza la conexin de un CICSplex a la red. Todos los conceptos de topologa CICS pueden verse recogidos en la siguiente figura:

IBM Corporation

21/02/2011

67 de 131

Figura n+1: Cmo se organizan las regiones CICS en un Sysplex

5.2.4 Intercomunicacin 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 operacin multiregin (MRO) ya citada con anterioridad se emplea para comunicar e intercambiar datos sin necesitar de una red de comunicacin 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 intercomunicacin CICS para distribuir el trabajo de una aplicacin entre un nmero de regiones CICS, permitiendo as que programas en una regin usen recursos en otra. Estas facilidades son function shipping, asynchronous processing, transaction routing, distributed program link y distributed transaction processing.

Resulta destacable que la gestin de cargas permite la distribucin de las peticiones entre las regiones CICS que puedan procesarlas de la forma ms eficiente. Los dos aspectos de la gestin de cargas son la separacin de stas y el balanceo. El primero permite la distribucin del trabajo entre regiones objetivo de acuerdo a atributos de la peticin, 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-topeer o en modo cliente servidor, mediante protocolos de comunicacin estndar de la industria. En la configuracin cliente servidor, cada nodo tiene un role distinto: el cliente enva peticiones a un servidor y el servidor devuelve la informacin 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).

IBM Corporation

21/02/2011

68 de 131

El CICS proporciona interfaces para que se puedan enviar peticiones a una regin CICS desde un sistema externo: CICS Transaction Gateway es un producto que permite invocar programas en CICS desde una aplicacin Java mediante interfaces J2EE. Clientes CICS estos son miembros de la familia de productos CICS de la estacin de trabajo que proporcionan un conjunto estndar 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 travs 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 Configuracin CICS


La regin CICS se pude configurar y controlar su comportamiento a travs de los parmetros de inicializacin de sistema, creando e instalando definiciones de recursos, y escribiendo exits de usuario (user exits). En la actualidad se puede emplear una herramienta de gestin del sistema llamada CICS Explorer que permite manejar de una forma simple y centralizada uno o ms 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 transaccin, cuando la seguridad del CICS est activa, la transaccin 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 peticin, 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 peticin.

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

IBM Corporation

21/02/2011

69 de 131

El CICS chequea la autoridad del usuario a diferentes niveles: Seguridad de signon que asegura que los usuarios del terminal estn autorizados a conectarse a CICS Seguridad del enlace que asegura que los sistemas remotos estn autorizados a conectase a CICS Seguridad de transaccin que los usuarios que intentan ejecutar una transaccin estn autorizados a ello. Seguridad de recurso que asegura que los usuarios que usan recursos CICS estn autorizados a ello. Seguridad de comando para asegurar que los usuarios que usan la interfaz de programacin CICS estn autorizados a ello.

Para llevar a cabo la identificacin y la autenticacin de los usuarios, el CICS puede usar los identificadores de usuario y passwords o los certificados de cliente SSL.

5.2.8 Herramientas para depuracin y de determinacin de problemas


El CICS proporciona un conjunto de herramientas para la depuracin de los programas de aplicacin y para el diagnstico de problemas en el sistema. Estas incluyen soporte para las herramientas de depuracin basadas en la estacin de trabajo, execution diagnostic facility (EDF), mensajes, trace y dump. En el caso de las herramientas de depuracin basadas en la estacin de trabajo, estas constan de dos componentes principales: Un cliente que se ejecuta en la estacin de trabajo que permite interactuar con el programa de aplicacin a travs de interfaz grfica. 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 regin CICS del programa de aplicacin y que se comunica con la parte cliente.

La utilidad EDF se usa para probar los programas de aplicacin interactivamente, sin hacer modificaciones al programa fuente o al procedimiento de preparacin del programa. El EDF intercepta la ejecucin del programa en varios puntos y muestran la informacin de ste. El CICS emite mensajes para advertir de eventos significativos y de condiciones de error y, en algunos casos, solicitar informacin 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 transaccin. La informacin recolectada de un trace se puede usar para determinar problemas, especialmente de rendimiento. El CICS tracea el flujo de control a travs de su cdigo. Los eventos clave que recolecta en el trace son la entrada y la salida a programas del sistema CICS y eventos excepcionales. Tambin se pueden tracear programas de aplicacin del usuario. Se puede capturar la informacin del trace internamente, en ficheros auxiliares de trace, y en el fichero GTF del z/OS. Se puede seleccionar qu informacin 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

IBM Corporation

21/02/2011

70 de 131

cuando se pide sacarlo explcitamente. El CICS proporciona dos tipos de dump, uno de transaccin que captura reas de memoria relativas a una cierta transaccin, y uno de sistema que captura todas las reas de memoria de una regin CICS.

5.3 IMS
El IMS, Information Management System, ha sido una parte importante de la industria de las tecnologas de la informacin 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 hazaa se vio cumplida antes del final de la dcada 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 construccin de aqulla. En 1966, 12 miembros de un equipo de IBM, junto con 10 miembros de American Rockwell y 3 de Carterpillar, empezaron a disear y desarrollar el sistema que se llam Information Control System and Data Language/Interface (ICS/DL/I). Durante el proceso de diseo 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 mquina de escribir IBM 2740 en la divisin 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 sueo del Presidente Kennedy. Empez la revolucin de los sistemas gestores de bases de datos. Contina 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 cdigo de la aplicacin se separara de los datos. El punto de separacin era el DL/I, Data Language/Interface. El IMS controla el acceso y la recuperacin de los datos. Los programas acceden y navegan por los datos invocando a la interfaz estndar DL/I. Esta separacin estableci un nuevo paradigma en la programacin de aplicaciones. El cdigo de aplicacin ahora se poda focalizar en la manipulacin de los datos sin las complicaciones y la sobrecarga asociada al acceso y a la recuperacin de los datos. Este paradigma eliminaba virtualmente la necesidad de copias redundantes de los datos. Diferentes aplicaciones podan acceder y modificar una instancia de los datos, proporcionando as el dato vigente a cada aplicacin. Se hizo ms fcil el acceso a los datos de forma online ya que el cdigo de la aplicacin se separaba del control de los propios datos. IBM desarroll un componente online para el ICS/DL/I con el fin de soportar la comunicacin de los datos. Se ampli la interfaz DL/I al componente online del producto para permitir la transparencia de comunicacin de los datos a los programas

IBM Corporation

21/02/2011

71 de 131

de aplicacin. Se cre una funcin de cola de mensajes para mantener la integridad de los mensajes de comunicacin de datos y para proporcionar planificacin a los programas de aplicacin. El componente online del ICS/DL/I se convirti finalmente en la funcin Data Communications (DC) del IMS, y que a su vez pas a ser IMS Transaction Manager en el IMS Versin 4. IMS se uni al Mainframe oficialmente en 1969. Se ha reinventado varias veces desde entonces. La aceptacin de los clientes de las nuevas versiones de IMS es la mejor medida de su valor estratgico. En el 2003 la carga IMS medida como capacidad de los sistemas en MIPS se haba incrementado en un 67.9% en las ltimas versiones. Sobre el 90% de las principales compaas en el mundo usan IMS para ejecutar sus operaciones diarias. IMS todava es una plataforma viable, en algunas ocasiones sin rival, para desplegar sistemas de alto procesamiento transaccional y, en combinacin con tecnologa de servidores web de aplicacin, es la base para una nueva generacin de aplicaciones. Veamos unos cuantos hechos sobre cmo se usa el IMS: Alrededor del 95% de las compaas del Fortune 1000 usan IMS. IMS gestiona alrededor de 15 millones de gigabytes de datos de produccin. IMS procesa alrededor de 50 billones de transacciones por da. IMS sirve a 200 millones de usuarios todos los das. IMS procesa alrededor de 100 millones de transacciones por da 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 billn al da) utilizando IMS data sharing y colas compartidas. Un solo IMS ha procesado unas 6.000 transacciones por segunda con una sola conexin 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.

IBM Corporation

21/02/2011

72 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 ms 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 ms que las funciones de uno de ellos. Cuando se utiliza slo el IMS DB, se le llama DBCTL, y si el que se utiliza es el IMS TM, se le llama DCCTL. Los programas de aplicacin 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 estndar a travs 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 gestin de bases de datos que ayuda a organizar los datos de negocio tanto con independencia de programas como de dispositivo. En el corazn del IMS DB estn las bases de datos jerrquicas y el lenguaje de manipulacin de datos (llamadas DL/I). Los datos dentro de las bases de datos se

IBM Corporation

21/02/2011

73 de 131

organizan en una estructura de rbol, con datos en cada nivel de la jerarqua relacionados con, y en algunos dependientes de, los datos en el nivel ms alto de la jerarqua. La siguiente figura muestra un modelo de bases de datos jerrquico. El dato se almacena en la base de datos slo 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 jerrquica. Con el IMS DB se puede: Mantener la integridad de los datos. Los datos en cada base de datos se garantiza que estn 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 transaccin o se complete entera o no. Ejecutar mltiples transacciones de bases de datos concurrentemente con los resultados de cada transaccin mantenidos aislados de las otras. Mantener las bases de datos. El IMS DB proporciona facilidades para afinar las bases de datos mediante la reorganizacin de las mismas. A los datos en IMS DB se puede acceder desde las aplicaciones que se ejecutan en: IMS TM CICS Transaction Server

IBM Corporation

21/02/2011

74 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 transaccin es un conjunto de datos de entrada que disparan la ejecucin de un programa de aplicacin (proceso o trabajo) de negocio. El mensaje que dispara el programa de aplicacin y el retorno de cualquier resultado, se considera una transaccin. La palabra terminal se usa a lo largo de esta seccin para describir a los dispositivos y a los controladores. Los terminales de operacin pueden ser impresoras, estaciones de trabajo, terminales de comunicacin, 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 aplicacin. 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 jerrquicas del IMS DB como para las relacionales de DB2.

El IMS TM soporta muchas sesiones de terminal a volmenes transaccionales muy altos. Los usuarios de las sesiones de terminal pueden ser: Personas en terminales o estaciones de trabajo. Otros programas de aplicacin, 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 recuperacin despus de fallos. De seguridad, para controlar el acceso y modificacin de los recursos IMS. De gestin de los programas de aplicacin, despachando trabajo, cargando programas de aplicacin, y proporcionando servicios de bloqueo. De diagnstico y recoleccin de informacin de rendimiento.

IBM Corporation

21/02/2011

75 de 131

De operacin de IMS. De comunicacin 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 aplicacin que se ejecuta en z/OS. Tanto uno como otro est diseados 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 aplicacin. A estos espacios de direcciones a veces se les llama regiones5, como la regin de control del IMS. Vamos a ver los distintos componentes de un sistema IMS en la siguiente seccin:

5.3.4 Estructura de los subsistemas IMS


La seccin describe los distintos tipos de espacios de direcciones z/OS con sus interrelaciones. La regin de control es el centro del subsistema IMS y se ejecuta en un espacio de direcciones. Cada regin de control usa muchos otros espacios de direcciones que proporcionan servicios adicionales a la regin de control, y en las que se ejecutan los programas de aplicacin del IMS. Algunas aplicaciones y utilidades IMS se ejecutan en regiones separadas llamadas regiones batch; stas ltimas estn separadas del subsistema IMS, de su regin de control y sin conexin con l. Cada uno de los entornos IMS es una combinacin 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 slo contiene la funcionalidad del IMS DB DCCTL, que slo contiene la funcionalidad del IMS TM Batch, que contiene la funcionalidad del IMS DB, pero que slo 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:

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

IBM Corporation

21/02/2011

76 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 aplicacin batch que actualizan bases de datos a determinados intervalos Ejecutar utilidades de bases de datos en batch

La regin de control permite acceso a: La red, que podra 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 Libreras del IMS Logs del IMS Bases de datos Fast Path Espacios de direcciones separados de DL/I Regin DBRC (Database Recovery Control) Regin IFP (IMS Fast Path) Regin JBP (Java batch processing program) Regin BMP (Batch message processing program)

Mltiples sistemas IMS Se pueden ejecutar varios sistemas IMS en una imagen z/OS nica o en varias imgenes de sistema operativo. Se llama sistema IMS al conjunto de regin de control y todas las regiones dependientes asociadas. Un sistema batch IMS (por ejemplo, batch DB) tambin se considera un sistema IMS. Hay tres formas de ejecutar varios subsistemas IMS en diferentes imgenes z/OS: Multiple Systems Coupling (MSC): MSC solo soporta conexiones IMS-IMS. Inter System Communications (ISC): Es ms flexible porque conexiones a IMS como a otros productos z/OS como CICS. soporta tanto

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 mxima disponibilidad. Se pueden compartir colas de mensajes y bases de datos.

IBM Corporation

21/02/2011

77 de 131

En las relacin del IMS con otros elementos del z/OS, conviene destacar que proporciona soporte a aplicaciones TCP/IP a travs de la funcin OTMA explicada anteriormente. Tambin soporta APPC, una implementacin 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 tecnologa J2EE y de Web Services. Es un entorno de despliegue y de ejecucin de aplicaciones Java construidas con tecnologas basadas en estndares abiertos, que soporta la mayora de las funciones como servlets, Java Server pages (JSPs), y Enterprise Java Beans (EJBs) e incluye la ltima tecnologa de interfaces e integracin de servicios. WebSphere Application Server proporciona la capa de la lgica de aplicacin 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 lgicos. Puede que se estn ejecutando o no en el mismo servidor fsico.

Figura n+12: arquitectura de aplicacin de tres niveles La responsabilidad de la presentacin y la interaccin 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 facturacin y el envo. Los procesos del segundo nivel se conocen normalmente como la capa de la lgica de aplicacin. Estos procesos gestionan la lgica empresarial de la aplicacin y pueden acceder a los servicios del tercer nivel. La capa de la lgica de aplicacin es donde se ejecuta la mayor parte del trabajo de los procesos. Varios componentes de cliente pueden acceder simultneamente a los procesos del segundo nivel, por lo que esta capa de la lgica de aplicacin debe gestionar sus propias transacciones.

IBM Corporation

21/02/2011

78 de 131

En el ejemplo anterior, si varios clientes intentan realizar un pedido del mismo artculo, del que slo queda uno, la capa de la lgica de aplicacin debe determinar quin tiene derecho a ese artculo, actualizar la base de datos para reflejar la compra e informar a los otros clientes de que el artculo 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 artculo se coloca en un carro de compra, para evitar que los dems clientes consideren la posibilidad de compra o es cuando la compra se hace efectiva, es una decisin de negocio y la toma el segundo nivel. La separacin del segundo y el tercer nivel reduce la carga en los servicios del tercer nivel, da soporte a una gestin de conexiones ms eficaz y puede mejorar el rendimiento general de la red. Los servicios del tercer nivel estn protegidos del acceso directo de los componentes de cliente que residen en una red segura. La interaccin debe producirse a travs 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 fsico de z/OS, conservando la seguridad y las ventajas lgicas de los sistemas de nivel nico. El WAS en z/OS est altamente integrado con todas las caractersticas 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 recuperacin, adems de estar perfectamente integrado con el componente de gestin de carga WLM. Hay dos clases de espacios de direcciones en el WAS de z/OS, la regin de control y la servidora. Una regin de control ejecuta programas autorizados de sistema y gestiona tareas como las comunicaciones del servidor; una regin servidora es el espacio de direcciones equivalente al servidor en una plataforma distribuida y ejecuta las aplicaciones Java a travs de los containers EJB y web. Una instancia de servidor de aplicacin se compone de una regin de control (CR) y de una o ms regiones servidoras (SRs). Vase la siguiente figura:

Figura n+13: una instancia de servidor de aplicaciones El servidor de aplicaciones en z/OS soporta dos tipos de configuracin: base y network deployment. Cada configuracin usa la misma jerarqua arquitectural compuesta de servidores, nodos y celdas.

IBM Corporation

21/02/2011

79 de 131

Un servidor es el componente de runtime primario. Es donde se ejecuta realmente la aplicacin. Proporciona contenedores y servicios que se especializan en permitir la ejecucin de los componentes especficos de la aplicacin Java. Cada servidor de aplicaciones corre en su propia mquina virtual java (JVM). Dependiendo de la configuracin, los servidores podran trabajar separadamente o en combinacin: Configuracin base: cada servidor de aplicaciones funciona como una entidad separada. No hay distribuciones de cargas de trabajo o administracin comn entre los servidores de aplicacin. Configuracin de network deployment: mltiples servidores de aplicacin se mantienen desde un punto de administracin central. Adems, se pueden montar los servidores de aplicacin en cluster para la distribucin de las cargas de trabajo.

Un nodo es una agrupacin lgica de procesos de servidor gestionada por WebSphere que comparte configuracin y control. Un nodo se asocia generalmente con la instalacin fsica de un servidor de aplicaciones. Conforme nos movemos a configuraciones de servidor de aplicaciones ms complejas, se introducen los conceptos de configuracin de diferentes nodos desde un servidor de administracin comn o la distribucin de cargas de trabajo entre nodos. En estas configuraciones gestionadas de forma centralizada, cada nodo tiene un agente. Una celda es una agrupacin de nodos en un dominio administrativo. En la configuracin base, una celda contiene un nodo. Ese nodo puede tener varios servidores, pero los ficheros de configuracin de cada servidor se almacenan y mantienen individualmente. En la configuracin de network deployment, una celda puede constar de varios nodos, todos administrados desde un nico punto. Los ficheros de aplicacin y configuracin para todos los nodos en la celda se centralizan en el repositorio de configuracin maestra de la celda. Conviene aclarar el concepto de container; es el que permite la separacin de los distintos elementos en tiempo de ejecucin. 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 ms detalle las dos configuraciones de WAS en z/OS que se han citado anteriormente:

5.4.1 Nodo de servidor base de aplicaciones:


Esta configuracin se corresponde con la estructura operacional ms sencilla de WAS en z/OS. Consta de un servidor de aplicacin y un servidor de demonio (un nodo y una celda), como puede verse en la siguiente figura. Todos los ficheros de configuracin 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 regin de control. Hay un servidor de demonio por celda por sistema (o LPAR). Cada nodo de servidor base de aplicaciones contiene la administracin de su propio dominio de celda y un repositorio separado para su configuracin. Por tanto, se puede disponer de muchos servidores base de aplicacin, unos aislados de otros, teniendo todos sus propias polticas de administracin para sus necesidades especficas de negocio.

IBM Corporation

21/02/2011

80 de 131

Nodo de servidor base de aplicaciones

5.4.2 Network Deployment Manager:


Es una extensin del servidor base de aplicaciones. Permite administrar mltiples servidores de aplicacin desde un punto centralizado. Aqu, los servidores de aplicacin se atachean a nodos, y varios nodos pertenecen a una celda. Con el Deployment Manager se pueden administrar fcilmente sistemas que escalan en horizontal o en vertical, as como aplicaciones distribuidas. El Deployment Manager tambin gestiona los repositorios de cada nodo, pudiendo realizar tareas como crear, mantener y eliminar los mismos.

Network Deployment Manager

IBM Corporation

21/02/2011

81 de 131

En la siguiente figura se puede ver una instancia del servidor de aplicaciones. Repasemos sus principales componentes:

IBM Corporation

21/02/2011

82 de 131

Componentes de una instancia de WAS

Servidores de aplicaciones: un servidor de aplicaciones es una mquina virtual Java (JVM) que ejecuta aplicaciones de usuario. Los servidores de aplicaciones utilizan la tecnologa 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 dinmica y personalizada a una peticin de un cliente. Servidores Web. En el producto WAS, un servidor de aplicaciones trabaja en colaboracin 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 mensajera. El producto da soporte a la mensajera al proporcionar un proveedor de JMS (Java Message Service). Un contenedor Web es un entorno de ejecucin para aplicaciones web. Procesa servlets, JSPs y otros tipos de componentes del lado servidor. Un contenedor de EJBs proporciona un entorno de ejecucin para los beans de empresa del servidor de aplicaciones. El contenedor maneja todos los aspectos de una operacin de bean de empresa dentro del servidor de aplicaciones y acta como intermediario entre la lgica de empresa escrita por el usuario en el bean y el resto del entorno del servidor de aplicaciones.

IBM Corporation

21/02/2011

83 de 131

Los servicios JCA permiten la conexin de los servidores de aplicacin a los Enterprise Information Systems (EIS); en definitiva es la tecnologa 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 gestin de bases de datos relacionales, e incluso jerrquicos (IMS). Esta interfaz ni cae necesariamente en la categora de conector porque no requiere un espacio de direcciones separado. La implementacin 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 travs de llamadas estndar con parmetros estndar.

En WAS se soporta obviamente el uso de web services. A las tecnologas clave sobre las que se desarrollan y despliegan estos, WAS aade otras como un registro de UDDI privado o un Framework para invocacin de aqullos (WSIF). La gestin de cargas de trabajo se lleva a cabo con la ayuda del WLM del z/OS y permite optimizar la distribucin de las peticiones entrantes entre los servidores de aplicacin, 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 gestin de fallos mediante el redireccionamiento de peticiones si uno o ms servidores no son capaces de procesarlas y se puede crecer (y decrecer) el nmero de regiones servidoras dependiendo de la carga en cada momento.

La seguridad tanto de los recursos J2EE como administrativos comprende los diferentes elementos de autenticacin, control de acceso, integridad de datos, confidencialidad, privacidad e interoperabilidad. Se basa en estndares 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. Tambin soporta proveedores de seguridad externos como RACF, TAM (Policy Director) o proxies inversos como WebSEAL. La administracin del sistema se compone de: Una consola administrativa que es una interfaz grfica que proporciona muchas funciones de gua para tareas de despliegue y administrativas. El cliente de scripting (wsadmin): el programa de scripting es un entorno no grfico intrprete de comandos muy potente que permite realizar operaciones administrativas en entornos productivos y de forma desasistida. Programas de administracin (Java Management Extensions): el producto soporta una interfaz de programacin Java para desarrollar programas de administracin. Todas las herramientas administrativas que se suministran con

IBM Corporation

21/02/2011

84 de 131

el producto estn escritas de acuerdo al API, que se basa en la especificacin JMX estndar de la industria. Herramientas de lnea de comandos: son programas que se ejecutan desde una lnea de comandos del sistema operativo y que permiten ejecutar tareas especficas, en contraposicin con la administracin de propsito general. Se pueden emplear para arrancar y parar servidores de aplicacin, comprobar el estado de servidores, o aadir o eliminar nodos, etc. Ficheros de configuracin: los datos de configuracin del producto residen en ficheros XML que se gestionan a travs de las herramientas mencionadas anteriormente.

Dentro del apartado de rendimiento, se encuentra el de monitorizacin del sistema y las aplicaciones, y que permite recolectar y analizar los datos relativos al comportamiento de aqullos. Estas herramientas de monitorizacin incluyen: Performance Monitoring Infrastructure (PMI).- Es la infraestructura clave para la monitorizacin 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 estn optimizados, la determinacin 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 documentacin de diagnstico que describe tcnicas de depuracin disponibles para ayudar a resolver problemas con Java.

IBM Corporation

21/02/2011

85 de 131

5.5 MQ
Muchas grandes organizaciones hoy tienen legados de sistemas de IT de varios proveedores, y que a menudo dificultan la comparticin de datos. Muchas de estas organizaciones tambin necesitan comunicarse y compartir datos electrnicamente con proveedores y clientes que podran a su vez tener otros sistemas diferentes. Sera til disponer de una herramienta que gestione mensajes que podra recibir de otro tipo de sistema y enviar a otro diferente. El software IBM WebSphere MQ facilita la integracin de aplicaciones mediante el paso de mensajes entre aplicaciones y servicios web. Se usa en docenas de plataformas hardware y para mensajera punto a punto desde aplicaciones Java, C, C++ y COBOL. Tres cuartas partes de las empresas que compran sistemas de mensajera entre aplicaciones compran WebSphere MQ. Las colas de mensajes y el software que las gestiona, como IBM WebSphere MQ for z/OS, permiten la comunicacin programa a programa. En el contexto de las aplicaciones online, la mensajera y el encolamiento se deben entender tal y como sigue: Mensajera significa que hay programas que se comunican envindose mensajes (datos) entre ellos, en lugar de llamndose 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 conexin lgica entre ellos.

En la siguiente figura puede observarse un mecanismo bsico de comunicacin programa a programa utilizando un modelo de comunicacin sncrono. 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 ejecutndose. 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 ejecutndose. Con este modelo, no existe el requerimiento de que los dos programa estn ejecutndose a la vez para que se puedan comunicar. Hay un claro problema de diseo sobre cunto tiempo el programa A debera esperar antes de continuar con su ejecucin. Este diseo podra ser deseable en algunas situaciones, pero no cuando las esperas son muy prolongadas. Para gestionar estas situaciones, es para lo que se disea la comunicacin asncrona.

IBM Corporation

21/02/2011

86 de 131

Figura n+17: modelo de diseo de aplicacin sncrono

Usando un modelo asncrono, el programa A pone mensajes en la cola 1 para que los procese el programa B, aunque es el programa C, actuando asncronamente con respecto al programa A, el que obtiene las respuestas de la cola 2 y las procesa. Tpicamente, el programa A y el programa C seran parte de la misma aplicacin. Puede verse este flujo de actividad en la siguiente figura. El modelo asncrono 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 variacin del modelo asncrono, el programa A podra poner una secuencia de mensajes en la cola 1, opcionalmente continuar con algn 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.

IBM Corporation

21/02/2011

87 de 131

Figura n+18: modelo de diseo de aplicacin asncrono

5.5.1 Tipos de mensajes


WebSphere MQ usa cuatro tipos de mensajes: Datagrama: un mensaje para el que no se espera respuesta. Peticin: un mensaje para el que se espera respuesta. Respuesta: una respuesta a un mensaje de peticin. Informe: un mensaje que describe un evento como la ocurrencia de un error o una confirmacin 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 aplicacin pone un mensaje en una cola, el gestor de colas se asegura de que el mensaje:

IBM Corporation

21/02/2011

88 de 131

se almacene de forma segura. sea recuperable. se entregue una vez, y slo una ve a la aplicacin 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 mensajera a las aplicaciones, asegura que los mensajes se ponen en la cola correcta, enruta mensajes a otros gestores de colas, y procesa mensajes a travs de la interfaz comn de programacin llama Message Queue Interface (MQI). El gestor de colas puede retener mensajes para procesamiento futuro en el caso de indisponibilidades de aplicacin o de sistema. Los mensajes se retienen en una cola hasta que se recibe una respuesta satisfactoria a travs de MQI. Hay similitudes entre los gestores de colas y los de bases de datos. Aqullos poseen y controlan colas de forma similar a cmo los gestores de bases de datos poseen y controlan sus objetos de datos. Proporciona una interfaz de programacin para acceder a los datos, y facilidades de administracin, seguridad, autorizacin y recuperacin. Sin embargo, hay tambin diferencias significativas. Las bases de datos se disean para proporcionar almacenamiento de datos de larga duracin con unos mecanismos de bsqueda muy sofisticados, mientras que las colas no estn diseadas de esa manera. Un mensaje en una cola indica por lo general que un proceso de negocio est incompleto. Podra representar una peticin 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 ms relevantes son los siguientes: Cola local.- Una cola es local es aquella poseda por el gestor de colas al que se conecta el programa de aplicacin. Se usa para almacenar mensajes para los programas que usan el mismo gestor de colas. El programa de aplicacin no tiene porque ejecutarse en la misma mquina 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; slo es la definicin 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 transmisin.

Cola de transmisin.- Esta cola local tiene un propsito especial; se usa como un paso intermedio cuando se envan mensajes a colas posedas por un gestor de colas remoto. Estas colas son transparentes a la aplicacin porque se usan internamente por la cola de iniciacin del gestor de colas. Es a una cola local a la que el gestor de colas escribe (transparentemente al programador) un

IBM Corporation

21/02/2011

89 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 vaca o en un cola de transmisin. Dos aplicaciones WebSphere MQ monitorizan las colas de iniciacin 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 transmisin 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 o o o o

La cola de destino est llena La cola de destino no existe Las altas de mensajes en la cola de destino se han inhabilitado El que enva no est autorizado a usar la cola de destino El mensaje contiene un nmero 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 comunicacin lgico. El estilo conversacional de la comunicacin programa a programa requiere la existencia de una conexin de comunicaciones entre cada par de aplicaciones que se comunican. Los canales aslan a las aplicaciones de los protocolos de comunicaciones que estn por debajo. WebSphere MQ usa dos tipos diferentes de canales: Canal de mensaje: es el que conecta a dos gestores de colas a travs 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 transmisin 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 Cmo queda asegurada la integridad transaccional?


Un negocio podra requerir que a dos o ms bases de datos distribuidas se mantuvieran sincronizadas. MQ ofrece una solucin que a su vez supone que muchas unidades de trabajo acten asncronamente (como puede verse en la siguiente figura).

IBM Corporation

21/02/2011

90 de 131

Figura n+19: modelo de diseo de aplicacin asncrono La parte de arriba de la figura muestra una estructura de two-phase commit, mientras que la solucin WebSphere MQ se presenta en la mitad de abajo:

La primera aplicacin 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 enva obtiene el mensaje de la cola de transmisin y lo enva 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 aplicacin. En la tercera unidad de trabajo, la segundo aplicacin 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 transaccin de negocio completa. Si la transaccin de negocio es ms compleja, habr muchas unidades de trabajo involucradas.

IBM Corporation

21/02/2011

91 de 131

5.5.6 Un ejemplo de mensajera y encolamiento


Veamos con un ejemplo de agencia de viajes las facilidades de mensajera jugando el papel de reserva de unas vacaciones. Asumamos que el agente de viajes debe reservar un vuelo, una habitacin de hotel, y un coche de alquiler. Todas estas reservas deben ir bien antes de que la transaccin de negocio completa se d por completada. Con un gestor de colas como WebSphere MQ,la aplicacin puede enviar varios peticiones a la vez; no necesita esperar por una respuesta a una peticin antes de enviar la siguiente. Se coloca un mensaje en cada una de las tres colas, sirviendo la aplicacin de reservas de vuelos, la de reservas de hotel y la de alquiler de coches. Cada aplicacin 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 aplicacin del agente espera a estas respuestas y genera una respuesta consolidada al agente de viajes. Aunque la aplicacin podra procesar normalmente las respuestas slo cuando se hubieran recibido todas, la lgica del programa puede especificar qu hacer tambin cuando slo se reciben conjuntos parciales de respuestas en un determinado periodo de tiempo.

Figura n+20: proceso paralelo

IBM Corporation

21/02/2011

92 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 mensajera 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 seccin del IMS dentro del captulo de middleware transaccional para detallar las caractersticas del IMS DB, este captulo lo dedicaremos en exclusividad a DB2, sistema gestor de bases de datos relacional por excelencia en z/OS. Al final del captulo podr verse un resumen del VSAM, mtodo de acceso y organizacin de ficheros tradicional del entorno operativo, y que actualmente sigue soportando parte tanto de la informacin 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 ms aplicaciones. Si est bien diseada y desplegada, la base de datos debera proporciona una vista nica y consistente de los datos, as que se puede controlar y gestionar de forma centralizada. Una manera de describir la visin lgica de esta coleccin de datos es usar un modelo de entidad-relacin. 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 aplicacin de control de stock, se deberan tener Piezas, Pedidos de Compra, Clientes y Pedidos de Clientes (entidades). Cada entidad tendra atributos, as por ejemplo la Pieza tendra el Nmero de Pieza, el Nombre, el Precio Unitario, la Cantidad, Estas entidades tambin tendran relaciones entre ellas, por ejemplo un cliente se relacionara con los pedidos que hace, y que a su vez se relacionara con las piezas que han sido ordenadas. La siguiente figura muestra un modelo de entidad-relacin.

IBM Corporation

21/02/2011

93 de 131

Entidades, Atributos y Relaciones Un sistema de gestin de base de datos, como el componente IMS DB o el DB2, proporciona un mtodo 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 manipulacin de los datos en la base de datos o la gestin de la propia estructura de la base de datos.

Los sistemas de gestin 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, jerrquicas, en red, o relacionales. En contraposicin a la navegacin por la estructura de la base de datos jerrquicas, 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 bsqueda a los atributos de aqullas. 5.6.1.1 Qu estructuras existen en una base de datos relacional?.

La base de datos (database): es una agrupacin lgica de datos. Contiene un conjunto de espacios de tablas y de ndices relacionados. Una base de datos, tpicamente, contiene todo el dato asociado con una aplicacin o grupo de aplicaciones relacionadas. Tabla: Es una estructura lgica compuesta por filas y columnas. Las filas no tienen un orden predeterminado, y si se leen los datos podran necesitar ordenarse. El orden de las columnas es el que se especifica cuando se crea la tabla por parte del administrador. En la interseccin de cada columna y fila hay un elemento de datos especfico que se llama valor, o ms precisamente, valor atmico. 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 explcitamente 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

IBM Corporation

21/02/2011

94 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 interseccin 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 estn en un orden especfico, un ndice se mantiene siempre en orden por el DB2. Un ndice se usa para dos propsitos: Para rendimiento con el fin de recuperar valores de datos de forma rpida. Para unicidad.

Creando un ndice por el nombre del empleado se pueden obtener los datos ms rpidamente para un empleado que leyendo la tabla entera. Tambin creando un ndice nico por nmero de empleado, el DB2 fuerza la unicidad de cada valor. Claves: es una o ms columnas que se identifican como tales en la creacin de una tabla o ndice, o en la definicin de la integridad referencial. Clave primaria: una tabla slo puede tener una clave primaria porque es la que define a la entidad. Deben cumplir dos condiciones: o o Debe tener valor; no se admiten valores nulos. 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 ms de una clave nica en una tabla. En el caso de una tabla de empleados, tanto el nmero de empleado como su identificacin 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 restriccin 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 constriccin es parte de la definicin de la tabla.

Antes vimos algunas estructuras bsicas comunes a los RDBMS. Ahora, veamos algunas estructuras de datos especficas de DB2. Vistas: una vista es una forma alternativa de ver los datos en una o ms tablas. Es como un marco que ponemos a una tabla para que slo 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 slo tengan acceso a un determinado departamento y actualicen informacin de salarios; no se desea que puedan ver los salarios de otros departamentos. Las vistas tambin se pueden usar para simplificar conjuntas complejas a usuarios menos experimentados.

IBM Corporation

21/02/2011

95 de 131

Espacio de tablas: una tabla se slo una construccin lgica. Se guarda en un fichero fsico llamado espacio de tablas. Pueden contener una o ms 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 automticamente define un espacio de ndices. Grupos de almacenamiento: un grupo de almacenamiento consta de un conjunto de volmenes 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:

Jerarqua 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 alfanumrico y numricos. UDF (User-Defined Function) se puede definer sobre una funcin DB2 existente y puede asimilarse a un programa de aplicacin que se accedera por una sentencia SQL.

IBM Corporation

21/02/2011

96 de 131

Trigger (disparador. gatillo) define una serie de acciones que se ejecutan cuando se lleva a cabo una insercin, actualizacin 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 imgenes, 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 aplicacin escrito por el usuario que se almacena y ejecuta tpicamente en el servidor. Diseados especficamente para el entorno cliente servidor, donde desde aqul 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 aplicacin que se define al DB2 y lo gestiona el subsistema DB2. Nos queda explicar un poco cules son y para que sirven las estructuras del sistema DB2; son las siguientes: Catlogo y directorio el DB2 mantiene l mismo un conjunto de tablas que contienen metadatos sobre los objetos DB2 del subsistema. El catlogo guarda informacin sobre todos los objetos, tales como tablas, vistas, ndices, espacios de tablas, etc. El directorio guarda informacin sobre los programas de aplicacin. El catlogo puede consultarse para ver informacin de los objetos; el directorio no se puede consultar. Cuando se crea una tabla de usuario, el DB2 automticamente guarda el nombre, el creador, su espacio de tablas y la base de datos en el catlogo y pone esta informacin en una tabla del catlogo llamada SYSIBM.SYSTABLES. Todas las columnas definidas en la tabla se guardan automticamente en la tabla SYSIBM.SYSCOLUMNS. Adems, para guardar que el propietario de la tabla tiene autorizacin sobre la misma, se inserta automticamente una fila en SYSIBM.SYSTABAUTH. Cualquier ndice que se cree sobre la tabla se guardara en la tabla de catlogo SYSIBM.SYSINDEXES. Buffer Pools son reas de memoria virtual en las que el DB2 almacena temporalmente pginas de los espacios de tablas e ndices. Actan como un rea de cache entre el DB2 y el almacenamiento fsico en disco donde residen los datos. La pgina de datos se obtiene del disco y se ubica en una pgina 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 informacin se usa para recuperar los datos en el caso de un fallo, o para que se puedan echar los cambios hacia atrs 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 informacin en escenarios de recuperacin, para rearranques del sistema, o para cualquier actividad que requiere leer el log.

IBM Corporation

21/02/2011

97 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 gestin de los bloqueos (IRLM). Adems podra desplegarse el Distributed Data Facility (DDF) que se usa para comunicarse con otros subsistemas DB2. Vase 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 funcin es que el administrador de la base de datos pueda mantener los objetos. Se ejecutan a travs de trabajos batch (jobs) que estn a su vez en libreras de ficheros propiedad del administrador. Sin embargo, hay herramientas que generar el JCL del trabajo como es el caso de Administration Tool o la opcin Utility del panel de DB2 interactivo (DB2I). Podran dividirse en las siguientes categoras: Utilidades de organizacin de los datos despus de creadas las tablas, el DBA emplea la utilidad de LOAD para poblarlas, con la posibilidad de comprimir grandes volmenes 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 reorganizacin, 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 informacin de estadsticas y rendimiento. Se pueden pasar estadsticas incluso sobre los catlogos de los sistemas. Utilidades de copia y recuperacin 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 slo pueden hacerse a copias completas, se recurre a la utilidad MERGECOPY para mergear copias incrementales con una completa La utilidad RECOVER durante una recuperacin a un punto anterior en el tiempo, permite volver la tabla a una copia imagen. Ms a menudo, se emplea el recuperar una tabla a situacin 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 travs de la utilidad REBUILD INDEX.

IBM Corporation

21/02/2011

98 de 131

Utilidades de consistencia de datos una de las utilidades bsicas de consistencia de datos es CHECK, que puede usarse para comprobar y ayudar a corregir integridad referencial e inconsistencias, especialmente despus de una carga masiva o de una recuperacin. Un uso tpico de las utilidades es ejecutar un RUNSTATS, luego un EXPLAIN, y despus 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. Tambin hay comandos para mostrar el estado del buffer pool, de las conexiones a DB2 y de la informacin de los logs. El Structured Query Language (SQL) es un lenguaje de alto nivel que se usa para especificar qu informacin necesita un usuario sin tener que saber cmo 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 ms tablas y devuelve el resultado como una tabla de resultados. El SQL se subdivide en tres categoras de acuerdo a la funcionalidad que tienen: DML lenguaje de manipulacin de datos que se usa para leer y modificar datos. DDL lenguaje de definicin 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 ms sentencias SQL a la vez. El DBA lo usa para conceder y revocar autorizaciones; a veces, cuando es una peticin urgente, tambin se emplea para crear objetos. Tambin lo emplean los desarrolladores para probar consultas. QMF, que significa Query Management Facility. Permite entrar y salvar slo una sentencia a la vez. La facilidad principal del QMF es la del reporting; permite disear formatos de informe flexibles y reusables, incluyendo grficos. 5.6.1.3 Programacin de aplicaciones en DB2

El SQL es un estndar 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 dinmicamente con un programa que interprete como el SPUFI, o puede estar embebido y compilado, o ensamblado, con un lenguaje de programacin. Cmo se escriben las aplicaciones que acceden a datos DB2?: para hacerlo el SQL se embebe en el cdigo fuente de un lenguaje de programacin, como Java, REXX, C, C++, COBOL, Fortran, PLI/I o high-level Assembler. Hay dos categoras de sentencias SQL que pueden usarse en un programa: las estticas y las dinmicas. SQL esttico: se refiere a sentencias SQL que se escriben en el cdigo fuente. En el proceso de preparacin del programa, el DB2 desarrolla los caminos de acceso para las sentencias, y stos se guardan en DB2. El SQL no cambia de ejecucin a ejecucin, usndose los caminos de acceso siempre sin que el DB2 tenga que crearlos de nuevo,

IBM Corporation

21/02/2011

99 de 131

un proceso que causa overhead (no todas las sentencias SQL deben tener un camino de acceso).

SQL dinmico: se refiere a sentencias SQL que son parcial o totalmente desconocidas cuando se escribe el programa. Slo cuando se ejecuta el programa, el DB2 sabe cules son las sentencias y es capaz de determinar los mejores caminos de acceso. Estos no se guardan porque pueden cambiar de una ejecucin a otra. Un ejemplo de esto es el SPUFI. Este es realmente un programa de aplicacin que acepta sentencias SQL dinmicas. 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 preparacin de SQL especiales para gestionar esto.

IBM Corporation

21/02/2011

100 de 131

5.7 SW de gestin
La gestin de sistemas se encarga de la gestin tradicional de la la infraesructura . Para sistemas z/OS existen diferentes reas de especializacin que en su conjunto forman la gestin de sistemas. Estas reas son: Operaciones z/OS gestin de los eventos mainframe centralizada. De ello se encargan los operadores de consola y los especialistas en la automatizacin del sistema. Explotacin z/OS: Planificacin de los trabajos, Gestin del almacenamiento, Gestin del batch (Ucls y salidas). Servicios de soporte tcnico: monitorizacin especfica de dominios, diagnstico y gestin de incidentes, anlisis de capacidad, estudio de tendencias, anlisis de rendimiento y uso. Este trabajo afecta a los tcnicos de sistemas, analstas de aplicaciones, administradores de base de datos, administradores de almacenamiento o tcnicos de comunicaciones. Seguridad: auditora y control de acceso a los recursos. El administrador de seguridad sera el responsible.

5.7.1 Gestin de almacenamiento


El sistema operativo z/OS dispone de una gestin de almacenamiento que hace mas fcil las funciones de este tipo de gestin: Asignacin de espacio de almacenamiento con lmites y controles dependiendo de quien lo pide, el entorno donde se pide, etc Liberacin de espacio no usado o caducado Salvaguarda y recuperacin de los datos mediante backups. En el apartadoa 4.1.5 existe una descripcin de estas funciones.

5.7.2 Gestin de la operacin (Tivoli SA y Netview)


El objetivo de las operaciones z/OS es mantener el ms alto grado de disponibilidad de los sistemas z/OS. Para lograr este objetivo es crtico tener control sobre las redes de comunicacin en el z/OS, y poder automatizar acciones correctivas en caso de detectar perdidas de disponibilidad. Es asimismo importante una gestin de eventos centralizada mainframe donde se observe no solo situaciones de indisponibilidad sino situaciones de degradacin del servicio para poder actuar preventivamente antes de sufrir prdidas de disponibilidad. Estas dos funciones las proporciona el Tivoli Netview for z/OS y la aplicacin especfica de operacin Tivoli System automation 5.7.2.1 Disponibilidad de red

Tivoli NetView for z/OS proporciona funciones que ayudan a mantener el grado ms 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

IBM Corporation

21/02/2011

101 de 131

punto de control. Porporciona funciones de correlacin avanzada para automatizar cualquier evento de red o de sistema, soportanto tanto redes SNA como TCP/IP. La gestin de redes IP con Netview incluye: Gestin de SNA sobre IP usando la tecnologa Enterprise Extender Soporte de dynamic virtual IP addresses (DVIPA) Descubrimiento recursos IP y correlacin de topologa Gestin de conexiones: tanto activas como histricas Trazas de paquetes y formateo a nivel de pila y de Open Systems Adapter (OSA): ayudan en el diagnstico de problemas Soporte de comandos desde la linea de comandos de Netview o desde procedimientos REXX u otras rutinas de automatizacin. * Soporte servidor IP: funciones de REXEC, RSH, Syslogd Respuesta automtica 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 informacin. Eventos: incluyendo traps SNMP, alertas y mensajes, eventos EIF (event integration facility), eventos con especificacin CBE (common base event). Soporte de IP versin 6 Network address translation Seguridad: previene conexiones no autorizadas al Netview, protege direcciones IP de comandos.

Las capacidades como motor de automatizacin incluyen: 5.7.2.2 Automatizacin de respuesta a mensajes y eventos y correlacin de los mismos Revisin (Parsing) de mensajes y comandos Comandos de temporarizacin Autotareas: reciben mensajes y lanzan comandos Exits de instalacin: rutinas de usuario que pueden modificar el comportamiento del Netview. Automatizacin del sistema con Tivoli System Automation

Tivoli System Automation for z/OS (SA z/OS) es una aplicacin basada en Netview diseada para proporcionar un punto de control nico para un amplio espectro de funciones de gestin de sistemas. Es una pieza clave en la automatizacin. Sus funciones principales son ver, controlar y automatizar un gran nmero de elementos del sistema desde hadware hasta software. Entre sus funciones destacan:

IBM Corporation

21/02/2011

102 de 131

Monitorizacin de recursos que afectan al usuario final: monitoriza componentes hardware, monitoriza aplicaciones y productos software, monitoriza procesos automticos 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 polticas de automatizacin del sistema y da soporte a rutinas de usuario para aumentar la potencia de la automatizacin. Gestin del Sysplex.

5.7.2.3

Tivoli SA gestiona el Sysplex a traves de sus capacidades de monitorizacin 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 Monitorizacin del Sysplex y de los recursos del sistema usando una combinacin de monitorizacin por muestreo y monitorizacin por evento Integracin en el Tivoli Enterprise Portal

Existe adems una aplicacin basada en Tivoli SA especfica para suministrar Alta Disponibilidad a dos o mas sistemas z/OS y zLinux asegurando asimismo la integridad de los datos. Esta tecnologa es el GDPS y ya fue descrita en captulos anteriores.

5.7.3 Gestin 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 planificacin relativamente fija, lo que la hace especialmente apropiada para el uso de una herramienta ejecute esta planificacin 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 especfico, 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.

IBM Corporation

21/02/2011

103 de 131

De la finalizacin (correcta o incorrecta) de otros trabajos. De parmetros variables que pueden ser cambiados en cada ejecucin. De parmetros de tiempo. De la hora del da, del da de la semana o del ao. Algunos jobs tienen que ser ejecutados los Viernes. Algunas veces hay reglas complejas para saber cuando un da 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 aplicacin as como sus depedencias. Ademas, cada da 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 Monitorizacin y rendimiento


5.7.4.1 SMF (System Management Facility)

En un entorno multitarea es importante recojer informacin 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 estadsticos y se lo pasan al SMF que lo guarda en sus ficheros. Hay mas de 100 tipos distintos de registros SMF y contienen informacin 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 planificacin de las necesidades futures de capacidad hasta la deteccin 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 da. 5.7.4.2 RMF

RMF es un producto especializado en el anlisis 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 contencin de recursos Evaluar el servicio que se est dando Detectar problemas tanto en el sistema como en las aplicaciones

IBM Corporation

21/02/2011

104 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 anlisis a largo plazo. Esta continuamente activo y graba registros resumiendo la informacin 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 utilizacin de los recursos. Monitor III Recoge datos para el anlisis a corto plazo. Es un monitor enfocado principalmente al estudio de los retrasos en ejecucin y su causa. Aunque tambin tiene datos de uso de recursos. 5.7.4.3 Tivoli Omegamon

Adems del RMF, los monitores Omegamon,proporcionan mtricas en tiempo real, pasado reciente e histrico que sirven para generar eventos y ayudar en el diagnstico de problemas. Se integran con la automatizacin para la resolucin automtica de la degradacin del servicio y son fuente de informacin para las herramientas de generacin de informes. Los monitores que IBM proporciona son: Tivoli OMEGAMON XE for z/OS: monitorizacin sistema operativo z/OS Tivoli OMEGAMON XE for CICS: monitorizacin del CICS Tivoli OMEGAMON XE for IMS: monitorizacin del IMS Tivoli OMEGAMON XE for DB2 Performace Expert: monitorizacin del DB2 Tivoli OMEGAMON XE for Mainframe Networks: monitorizacin TCP/IP y SNA Tivoli OMEGAMON XE for Messaging: monitorizacin de WebSphere MQ y WebSphere Message Broker Tivoli OMEGAMON XE for Storage: monitorizacin de almacenamiento Tivoli Advanced Catalog Management: monitorizacin catlogos Tivoli Advanced Audit for DFSMShsm: monitorizacin de auditoras de ficheros de control del HSM Tivoli Advanced Reporting for DFSMShsm: monitorizacin HSM Tivoli Advanced Backup and Recovery: monitorizacin conformidad normativa de copias de seguridad. Tivoli Tape Optimizer: monitorizacin copiado cintas del RMM. Tivoli Composiste Application Manager for Application Diagnostics: monitorizacin de WebSphere Application Server Tivoli Composite Application Manager for SOA: monitorizacin de servicios web Tivoli Composite Application Manager for Transactions: monitorizacin transacciones multiplataforma.

IBM Corporation

21/02/2011

105 de 131

Tivoli OMEGAMON DE: para generar paneles de control multidominio

5.7.4.3.1 Tivoli Enterprise Portal como interface de monitorizacin Los distintos monitores OMEGAMON, se integran utilizando el Enterprise Portal como Interface de monitorizacin. 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 histrico. Este sera un ejemplo de Enterprise Portal

Adems, el IBM Tivoli Enterprise Portal, debido a su funcin integradora de informacin, permite ver diferentes segmentos de la compaa en una nica ventana. Proporciona un punto de control nico para gestionar los recursos que usan las aplicaciones crticas de negocio, incluyendo una gran variedad de sistemas operativos, servidores, bases de datos, mainframes, y componentes web. A continuacin algunos detalles sobre los componentes mas comunes 5.7.4.3.2 Monitorizacin de z/OS con Tivoli OMEGAMON XE for z/OS Con el Tivoli OMEGAMON XE on z/OS se puede realizar un anlisis detallado de forma rpida 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 mltiples vistas de las operaciones del sistema y sus iteraciones con otros componentes simplificando de esta manera enormemente la gestin del entorno. Proporciona informacin detallada acerca de uso de CPU de los espacios de direcciones, anlisis de cuellos de botellas (incluyendo E/S y detalles de encolamiento),

IBM Corporation

21/02/2011

106 de 131

channel paths, estructuras en la coupling facility, cross-system coupling facility (XCF), DASD, enclaves, enqueues, sistemas global resource serialization (GRS) ring , anlisis de impacto, LPARs, alertas de operador, paginacin, uso de real storage y virtual storage, clases de servicios, utilizacin de CPU del sistema, cintas, WLM, USS, tiempo de respuesta de usuario.

5.7.4.3.3 Monitorizacin 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 cadas o prdidas de servicio. Sus funciones principales son: Gestionar el rendimiento y disponibilidad del CICS TS y CICS TG Rastrear el flujo de la transaccin integrado con Tivoli Composite Application Manager Identificar tareas esperando a recursos, y sealar tiempos de espera excesivos para resolver problemas rpidamente 5.7.4.3.4 Monitorizacin 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 Identificacin fcil y rpida de cuellos de botellas gracias a reglas predefinidas Combina informes en batch con monitorizacin en tiempo real e informacin histrica Guarda datos de rendimiento para explotarlos con herramientas de anlisis. 5.7.4.3.5 Monitorizacin de la transaccin con Tivoli Composite Application Manager for Transactions IBM Tivoli Composite Application Manager for Transactions (ITCAM for Transactions) ofrece un completo sistema de gestin 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 das y puede suponer una prdida de tiempo y de beneficios y un deterioro de la satisfaccin del cliente, ITCAM for Transactions proporciona una solucin para aislar componentes del problema y agilizar el diagnstico y la restauracin 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 supervisin, aplicaciones e-Commerce basadas en la web y correo electrnico (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

IBM Corporation

21/02/2011

107 de 131

experiencias de escritorio de usuarios reales. Response Time incluye los componentes siguientes: Application Management Console y Editor de configuracin de gestin de aplicaciones Transaction Tracking, que ofrece una vista completa de tiempos de respuesta del sistema para ayudar a aislar rpidamente la causa de los problemas de tiempo de respuesta y de disponibilidad. Transaction Tracking incluye los siguientes componentes: Transaction Collector Transaction Reporter Tambin dispone de componentes que permiten su utilizacin con, prcticamente, cualquier infraestructura SW.

IBM Corporation

21/02/2011

108 de 131

6 Integracin en los modelos IT ms usados en la actualidad


6.1 SOA
6.1.1 Introduccin El objetivo principal de este captulo no es definir la arquitectura orientada a servicios (SOA) u otros trminos relacionados con l, sino para aclarar el papel del Mainframe en un mundo centrado en SOA. La inclinacin natural para muchos es suponer que slo afecta a los sistemas SOA distribuidos y la tecnologa que es inferior a cinco aos de edad! Sin embargo, esto est lejos de la verdad. El Mainframe del siglo 21 puede remontar sus orgenes a los ordenadores System/360 de mediados de la dcada de 1960. Uno de los puntos clave del diseo 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 atrs 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 dcadas todava 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 inversin en sus aplicaciones. Sin embargo, cuando el mundo ha adoptado las nuevas tecnologas y arquitecturas, esto ha planteado un problema: cmo liberar el poder de estos activos de la empresa en las arquitecturas de computacin nuevas que han surgido en los ltimos aos? Este reto se inici con la Arquitectura Cliente / Servidor de la dcada de 1990, y ha continuado hasta hoy. SOA es simplemente una extensin de ese desafo. 6.1.2 Estndares en SOA Afortunadamente, SOA posee un atributo clave que posiciona el Mainframe como un participante de pleno derecho. En la pgina 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 programacin en la que se lleva a cabo el servicio. Los estndares son crticos para SOA, y especficamente para la participacin de entornos heterogneos, la realidad actual, en la arquitectura SOA. A travs de la normalizacin 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 gestin de base de datos para que las aplicaciones existentes se puedan integrar fcilmente en un entorno SOA. Hay una serie de normas que permiten esta interaccin, pudindose destacar las siguientes:

IBM Corporation

21/02/2011

109 de 131

Servicios de Web - Una de las normas ms importantes que surgieron en los ltimos diez aos es el SOAP. SOAP define un formato comn 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 informacin a travs de HTTP o mensajera middleware. La aparicin de SOAP como un estndar de transporte ha contribuido a que los proveedores puedan habilitar SOAP sus subsistemas para hacer ms fcil 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 computacin, proporcionando la neutralidad del Sistema Operativo que se describe en la definicin de SOA. Ms adelante en este trabajo se presentan detalles acerca de cmo el software de la plataforma z ha implementado SOAP y otros interfaces estndares para facilitar los servicios Web que llaman a las operaciones del Mainframe y sus datos. XML - XML no es una nueva tecnologa, ha estado en uso durante ms de cinco aos. Es fundamental para la interoperabilidad necesaria entre los servicios en SOA. El carcter de independencia de las descripciones XML, junto con el gran nmero de utilidades que lo procesan, lo convierten en un formato de representacin de datos ideal para la informacin que fluye en las invocaciones de servicio. Esta generalizacin se extiende a la plataforma System z, donde el procesamiento de XML es posible en los nuevos servidores de aplicaciones, como la tecnologa 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 mensajera ha existido desde hace muchos aos, proporcionando un mecanismo fiable, y de transporte rpido, 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 penetracin ha ayudado a hacer WMQ un estndar de facto para las aplicaciones de comunicaciones programa a programa. SOA no es slo los servicios Web. Una arquitectura orientada a servicios se pueden implementar sin necesidad de utilizar los servicios Web, aunque esto sea poco comn. SOA simplemente debe basarse en hardware con un sistema operativo y un transporte de lenguaje que de manera neutra faciliten la comunicacin 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 implementacin en la plataforma System z facilita el transporte e intermediacin de los servicios con las caractersticas de escalabilidad y resiliencia de esta plataforma.

6.1.3

Construyendo las TI con nuevos parmetros

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 modernizacin de las aplicaciones. Los retos

IBM Corporation

21/02/2011

110 de 131

para la modernizacin de aplicaciones, en trminos 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 reutilizacin, se clasifican como lo que la industria denomina aplicaciones monolticas. Estas aplicaciones suelen estar fuertemente cohesionadas e incurren en altos costos de mantenimiento y mejora (aproximadamente un 70% del presupuesto de TI de una organizacin se gasta en mantenimiento). Aunque estas aplicaciones incorporan un gran conocimiento del negocio, son difciles 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 extensin ms flexible y fcil. Pero la reescritura podra no ser siempre la mejor opcin, si tenemos en cuenta la cantidad de cdigo involucrado, de las repercusiones en las interdependencias, y del dilema de la seleccin 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 travs 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). Tambin utilizan diferentes procesos, herramientas y lenguajes de programacin. El segundo reto es el coste y el tiempo necesario para adaptar al personal existente a las nuevas tecnologas. El tercer desafo es que los "baby boomers", la gente que puede manejar las plataformas de aplicaciones existentes, estn desapareciendo. No pueden ser sustituidos por las nuevas generaciones ya que no entienden o no tienen inters en las antiguas tecnologas y esto obliga a los administradores de TI a considerar la contratacin externa, la estabilizacin, el final de la vida de las aplicaciones, la vuelta a escribirlas, y as sucesivamente. Todas estas opciones son difciles y costosos. El desarrollo de software es lento, repetitivo y propenso a errores. Muchos aplicaciones existentes estn 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 comparacin con los lenguajes orientados a objetos (por ejemplo; Java). Muchas veces, la reconversin profesional de un programador de COBOL para convertirse en programador de Java puede no ser una opcin, debido a los altos costos asociados con la reconversin y la posibilidad de que el programador de COBOL falle en esta reconversin.

Multitud de plataformas y de middleware: Las fusiones y adquisiciones incrementan la necesidad de informacin comercial y presenta un desafo nico que ahora tiene que hacer frente a plataformas y middleware dispares y heterogneos. Estas consolidaciones podran dar lugar a una fragmentacin de los conocimientos necesarios para apoyar estas plataformas y aadir complejidad de las interfaces entre las aplicaciones. Todo ello tiende a frenar el desarrollo de las funciones necesarias. Estos desafos que a menudo se traducen en altos costos, reducen la capacidad

IBM Corporation

21/02/2011

111 de 131

de responder de forma rpida 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 prcticas SOA

En general, el primer paso es realizar una planificacin adecuada para identificar los servicios correctos como primer paso. Para esto, quizs sea til considerar el uso de metodologas, como el de Modelado de Componentes de Negocio (CBM) o la de Modelado de la Arquitectura Orientad a Servicios.(SOMA). Es importante sealar que no todos los componentes, mdulos o interfaces de un programa tienen que convertirse en un servicio. Tambin es necesario considerar las tecnologas que faciliten la gestin y utilizacin de servicios, tales como Enterprise Service Bus (ESB) y los procesos de coreografa. Por ltimo, pero no menos importante, se debe abordar el gobierno de OA. En un entorno orientado a la reutilizacin de los servicios es imprescindible el mantenimiento de un gobierno que establezca y mantenga las normas y polticas 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 tambin 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 coreografa de servicios innecesariamente. Otro punto a sealar es que la estratificacin o la separacin 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 separacin en distintos mdulos de la presentacin, la lgica de negocio, la lgica 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 caractersticas 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 ms pura, requiere de muy poca sobrecarga en la infraestructura, la naturaleza de la orientacin al servicio, simplemente dicta una lgica estructuracin de cdigo de aplicacin que encapsula las funciones de negocio como servicios. La definicin de SOA no hace referencia a algn tipo de middleware o software de apoyo. Simplemente se refiere a la normalizacin de los la interfaz de servicio y a la neutralidad de la plataforma. Sin embargo, en las grandes implementaciones SOA, no es realmente prctico para aplicar sin necesidad de herramientas para ayudar a la conectividad y la orquestacin de la interaccin entre los servicios. Por otra parte, otras herramientas auxiliares son necesarias en la mayora de las implementaciones de SOA, incluyendo desarrollo y herramientas de pruebas, herramientas de interfaz de usuario como los portales, y la supervisin y aplicaciones de gestin. En esta seccin se describe por qu IBM System z es un ideal plataforma para el funcionamiento de estas herramientas y productos de middleware que se encuentran comnmente utilizados en la aplicacin 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 ms crticos 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 tambin deben residir en la plataforma

IBM Corporation

21/02/2011

112 de 131

que acoge el entorno SOA. La plataforma System z, en particular, es el entorno ms adecuado para proporcionar cualidades de servicio que las aplicaciones de una empresa necesitan.

Cules 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 bsicos necesarios para apoyar un entorno SOA. En el centro de esta arquitectura de referencia est el Enterprise Service Bus (ESB). Alrededor del ESB estn los servicios esenciales necesarios para soportar la ejecucin de un ambiente SOA: servicios de interaccin, servicios de procesos, servicios de informacin, los servicios de asociados, servicios de aplicacin empresarial, y servicios de acceso. En los siguientes prrafos nos referiremos brevemente a cada uno de estos elementos. Junto con los servicios bsicos, las casillas que los rodean escriben las dems funciones que sern necesarias para apoyar los servicios antes, durante y despus 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 implementacin. Esto incluye el despliegue del hardware y software para los servicios de negocio y los servicios de infraestructura. Un entorno de produccin por lo general requiere el ms 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 crtica, las funciones de la plataforma aaden el ms alto grado de escalabilidad, confiabilidad, y seguridad; tanto el Security Server, para la implementacin de la seguridad, como los Servicios de Recuperacin de Recursos (RRS), para el soporte nativo del two phase commit y garantizar la integridad de las transacciones con acceso a mltiples 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 lgica de negocio dentro de ellas. Las herramientas pueden ser las herramientas del ms alto nivel adecuado para los analistas de negocio y, herramientas de menor nivel, como los utilizados para el desarrollo orientado a objetos.

IBM Corporation

21/02/2011

113 de 131

La salida de estas herramientas consta de artefactos tales como los modelos UML, el cdigo fuente de la aplicacin real en una variedad de lenguajes como Java o COBOL, y lenguajes de marcado como XML y el lenguaje de ejecucin de procesos empresariales (BPEL). Desde la perspectiva de System z, la mayora del cdigo de desarrollo y las herramientas de modelado no se ejecutan en el Mainframe. Sin embargo, si el cliente desea construir nuevos servicios o la reutilizacin 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 desplegarn en el Mainframe. 6.1.4.3 Servicios de Gestin TI

Los componentes de la infraestructura SOA consisten principalmente en middleware. Al igual que las arquitecturas de aplicaciones tradicionales, una implementacin SOA requiere de los niveles adecuados de supervisin y gestin 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 computacin y redes, y podr exigir garantas y contextos transaccionales que se llevarn a partir de un servidor o sistema operativo a otro. La depuracin y correccin de errores, los problemas de rendimiento en este entorno requiere una buena supervisin y herramientas de gestin. Muchas herramientas de la cartera de Tivoli proporcionan la funcionalidad para la gestin 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 aplicacin de varios niveles que abarca distribuidos y sistemas Mainframe. 6.1.4.4 Servicios de innovacin y optimizacin de los Negocios

Si bien la infraestructura de TI se controla y gestiona a travs de los servicios de TI componentes de gestin, qu pasa con los servicios de negocio? Una organizacin pueda garantizar un nivel adecuado de rendimiento del sistema y aplicacin, pero qu pasa con el rendimiento del negocio? La innovacin empresarial y servicios de optimizacin componente proporcionan la funcionalidad necesaria para una efectiva supervisin y registrar lo que se pasando en la empresa desde una perspectiva puramente empresarial. Cuntos aparatos se vendieron en la ltima hora / da / mes / ao? Cunto tarda en arrancarse el proceso de atencin al cliente? Cuntos clientes hicieron una peticin 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 ms precisin, se puedan realizar simulaciones, y se pueden hacer modificaciones a los procesos empresariales para mejorar an ms la eficacia de la empresa. El WebSphere Business Monitor ofrece un monitor que vigila los servicios de negocio y acumula los informes y las estadsticas acerca de cmo las funciones de negocio estn realizando. De nuevo, esto no es una pregunta como "Cmo de rpida es la ejecucin de esta transaccin?". En su lugar, se pregunta y responde "Cuntos de estas funciones de la empresa estamos realizando y con qu eficiencia las estamos haciendo?.

IBM Corporation

21/02/2011

114 de 131

6.1.4.5

Servicios de Interaccin

El componente de interaccin de servicios proporciona la interfaz de usuario de la solicitud SOA. Un principio clave de SOA es la abstraccin de las capas de aplicacin. En este caso, la interfaz de la aplicacin de usuario (UI) est expuesta en una capa separada de la lgica de negocio. Los servicios de interaccin se piensan comnmente 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 slo proporciona una abstraccin de la interfaz de usuario, sino que tambin proporciona un conjunto estndar 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 ms fcil vinculadas a los servicios para facilitar la integracin entre la interfaz de usuario y la lgica de los servicios de negocio. WebSphere Portal Server es el componente principal de proporcionar una interaccin los servicios y est disponible en la plataforma System z (as como en las plataformas distribuidas). Como se mencion anteriormente, en un diseo de SOA, la proximidad a los servicios, transacciones y datos es un principio bsico del diseo arquitectnico. La colocacin de un portal en la plataforma, cerca de los servicios que se invoca, reduce los gastos generales de comunicacin y los puntos de fallo. 6.1.4.6 Servicios de Procesos

Un atributo clave de una aplicacin SOA es que a menudo es una aplicacin compuesta, es decir una que se construye a partir de varios servicios discretos, todos ellos conectados a travs de algn tipo de motor de orquestacin. El proceso de los servicios componentes proporciona la orquestacin de flujo de trabajo y servicios que se requieren para fusionar mltiples servicios en una sola aplicacin. Esta aplicacin puede ser una sola transaccin, 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), actan como servidores de la coreografa de procesos. WPS provee orquestacin de servicios mltiples, impulsado por un "guin" 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 mltiples. WMB se utilizara para los servicios que se agrupan en una sola transaccin. El WPS puede albergarse en la plataforma System z. La colocacin 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 Informacin

Los datos estn en todas partes. En las ltimas dcadas, las empresas han recogido grandes cantidades de datos en diferentes repositorios en todo el negocio. Los servicios de informacin proporcionan acceso basado en SOA para los repositorios de datos a travs de tcnicas tales como el acceso a los procedimientos almacenados como servicios Web, proporcionando interfaces estndar para los depsitos de datos no relacionales, y acceder a otras mecanismos que devuelven informacin como un

IBM Corporation

21/02/2011

115 de 131

servicio (IAAS). Puesto que los datos o informacin en s misma no son "ejecutables", se necesita una infraestructura para exponer los datos a las aplicaciones que utilicen estndares SOA como SOAP. Muchos de los datos crticos 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 integracin

El componente de servicios de integracin de socios es la interfaz para socios de negocios externos. La exposicin de los servicios empresariales con el mundo exterior y la invocacin de servicios externos plantean desafos 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 organizacin. Histricamente, gran parte de la interaccin con los socios externos se ha hecho a travs de mecanismos tales como EDI. Los servicios de asociados se proporcionan en el Mainframe a travs de canales tradicionales, como WebSphere Data Interchange, para la traduccin EDI. El socio de WebSphere Partner Gateway de la cara al mundo exterior. 6.1.4.9 Servicios de Aplicaciones de Negocio

El recin 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 (presentacin, lgica de negocio, y los datos lgica), o puede alojar los servicios de negocio que tienen las otras funciones de abstraccin en otras partes de la arquitectura de referencia (ver Servicios Interaccin y Servicios de Informacin). WebSphere Application Server est disponible en la plataforma System z tanto en z / OS y en zLinux. En zLinux la versin es idntica a la versin 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 especficas del sistema sin sacrificar la portabilidad de aplicaciones. 6.1.4.10 Servicos de Acceso De particular inters para los clientes de Mainframe es el componente de los servicios de acceso, la vinculacin 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 tecnologas.

IBM Corporation

21/02/2011

116 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 crtico 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 implementacin de SOA. El ESB proporciona la capa de abstraccin entre el solicitante del servicio y el proveedor del servicio. En las antiguas aplicaciones no-SOA, los vnculos entre las aplicaciones son con frecuencia no modificables y puedes ser difciles de gestionar y mantener. Para cambiar las relaciones entre los programas, puede ser necesario cambiar las aplicaciones segn evolucione el negocio o la tecnologa. La definicin de IBM de un bus de servicios empresariales es el de una construccin arquitectnica y no la de un producto especfico. La ESB debe apoyar cuatro funciones principales: Enrutamiento de mensajes entre los servicios, eliminando la relacin directa entre los interlocutores. La conversin de protocolos de transporte entre el solicitante y el servicio, por ejemplo, SOAP a MQ, FTP para excitato, y as sucesivamente. La transformacin de formatos de mensaje, por ejemplo, la transformacin de XML a binario. Manejo de eventos de diferentes fuentes. Los eventos son recibidos del ESB con criterios de valoracin 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 aplicacin de ESB. Los productos WebSphere Enterprise Service Bus y el WebSphere Message Broker son la base del ESB en la solucin SOA de IBM. Proporcionan las cuatro primarias funciones del ESB, y cuando se combinan con el WebSphere Process Server para la orquestacin, los clientes de IBM tienen una infraestructura muy slida para SOA. La plataforma System z es el lugar ideal para colocar un ESB. Tanto el WebSphere Message Broker como el WebSphere ESB estn 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 crtico de la arquitectura, realizando el encaminamiento de las llamadas de servicio para todas las transacciones SOA. Tiene sentido de poner la parte ms crtica de la arquitectura en la plataforma que posee la ms alta calidad en las caractersticas del servicio, junto con la proximidad a aplicaciones y datos.

6.2 Proceso en nube (Cloud computing).


En los ltimos aos se ha hablado mucho de cloud computing pero qu es Pproceso en nube?.

IBM Corporation

21/02/2011

117 de 131

En primer lugar debemos decir que existen dos puntos de vista a la hora de definir este nuevo6 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 rpidamente y se proporcionan como una oferta estndar a los usuarios a travs de la web con un modelo de precios flexible. Desde el punto de vista de la administracin de infraestructura tecnolgica y de metodologa de entrega de servicios, el proceso en nube es una forma de administrar un gran nmero de recursos altamente virtualizados tales que, desde el punto de vista de la administracin, stos parecen un nico y gran recurso. Entonces se pueden utilizar estos recursos para ofrecer unos servicios estandarizados con una escalabilidad elstica.

Con el concepto de proceso en nube aparecen dos formas de ofrecer estos servicios: nube privada y nube pblica. La diferencia entre ellas es, por supuesto, quin ofrece dichos servicios y para quin los ofrecen. La nube pblica 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 aqulla que poseen las compaas, y en las cuales los usuarios son aqullos que designan dichas compaas. Su caracterstica principal es que poseen un buen control y un valor bajo. Podemos considerar como un tipo de esta nube, las herramientas de colaboracin que proporcionan las empresas a sus empleados. Por supuesto, entre una y otra hay una especie de continuo, conocido como hybrido.

Nuevo en la forma de referirnos a ello. En realidad ms que un nuevo concepto es una evolucin, como veremos ms adelante

IBM Corporation

21/02/2011

118 de 131

Podemos considerar los siguientes pros a la hora de decidirnos por una nube privada: ms control, menos latencia, ms seguridad, un entorno de aprendizaje, un cambio de paradigma de precio/coste a precio/valor. Una vez vistos los conceptos ya entendemos por qu ms que una revolucin es una evolucin:

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 mquina VM en la que poda correr mis programas FORTRAN para solucionar los problemas que me proponan. Desde el punto de vista de la informtica de gestin tenemos lo siguiente:

Dnde podemos ver que la puesta en marcha de estas nubes privadas requieren un alto grado de virtualizacin y estandarizacin, adems de los servicios de automatizacin pertinentes, para poder llegar a una nube efectiva. Cmo 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:

IBM Corporation

21/02/2011

119 de 131

Ya hemos hablado del alto grado de virtualizacin que el System z proporciona. De su seguridad inigualable, De los miles de usuarios que el zVM puede soportar proporcionando a cada uno una visin de mquina propia. Todo esto son las bases del cloud computing, Si le unimos el rpido aprovisionamiento y la gran automatizacin que se puede conseguir, tenemos construida la nube sin ms. Un dato ms: el System z consigue una utilizacin del 90% sin merma de su rendimiento, dato que queda muy lejos del 38% de utilizacin que consigue el tipo de nube basada en x86 (GOOGLE). Esto se engarza con el mayor consumo de energa de estas nubes y la mayor creacin de basura tecnolgica que se genera, aparte de algunos otros tems, como podemos ver en las siguientes grficas:

IBM Corporation

21/02/2011

120 de 131

Con todo esto, IBM tiene actualmente varias ofertas de proceso en nube para el System z que, sin duda, irn creciendo a lo largo del tiempo.

IBM Corporation

21/02/2011

121 de 131

La evolucin del IBM System z: zEnterprise


Casi todas las organizaciones se enfrentan a obstculos informticos en su camino al xito empresarial. Los silos de tecnologas 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 ms 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 sustitucin de cada aplicacin antigua estimados en entre 20 y 80 euros por lnea suponen cientos de miles de millones de euros. La refinanciacin implica grandes costes y riesgos: una lgica empresarial deteriorada y retrasos prolongados suelen acompaar a un desarrollo de primer nivel.

La modernizacin 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 tecnologas pueden ayudar a cualquier Organizacin a modernizar, ampliar y reutilizar activos existentes a la vez que ahorran tiempo y dinero, y reducen riesgos. Tras la modernizacin, estos sistemas de TI ofrecen una mayor agilidad, flexibilidad y solidez, adems de poder aumentar la productividad, lo que le permite responder con rapidez a las dinmicas de mercado y a las cambiantes necesidades comerciales. La inversin 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 estratgicas, ofrecen una integracin sin igual en toda la plataforma e incorporan tecnologas que aceleran la implantacin de nuevas prestaciones. En definitiva, el camino a la modernizacin puede cambiar la forma en la que una Organizacin desarrolle, gestione y proporcione soluciones de TI; tambin puede mejorar todas sus operaciones desde sistemas a procesos y personas.

Modernizacin empresarial en zEnterprise

IBM zEnterprise System (zEnterprise) cubre los desafos nicos de la informtica empresarial. Gracias a este sistema, una Organizacin puede implantar una plataforma de hardware completamente integrada que abarca su empresa, mainframe integrados, tecnologas POWER7 y x86. Podr consolidar con efectividad islas informticas, 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 propsitos especiales e IBM Blades (seleccin de aplicaciones IBM POWER7 y System x Blades para AIX y Linux

IBM Corporation

21/02/2011

122 de 131

sobre System x). IBM zEnterprise Unified Resource Manager ofrece entornos heterogneos conjuntamente en un nico sistema, lo que proporciona a la Organizacin una gestin centralizada e integrada de todos los aspectos operativos crticos, incluidos supervisin y gestin de la energa, gestin de polticas orientadas al objetivo, aumento de la seguridad, redes virtuales y gestin de datos, consolidados en una nica interfaz que se puede unir a los requisitos comerciales.

IBM zEnterprise The integration of System z and distributed technologies into a revolutionary combination
IBM zEnterprise Unified Resource Manager
Unifies resources, extending System z qualities of service across the infrastructure Install, Monitor, Manage, Optimize, Diagnose & Service

IBM zEnterprise BladeCenter Extension


Server Blades
Runs app unchanged and supports what you know. Logical device integration between System z and distributed resources

IBM zCPC
The industrys fastest and most scalable enterprise server Ideally suited for large scale data and transaction serving and mission critical enterprise applications

Optimizers

HMC

Workload specific accelerators to deliver significant performance and/or lower cost per transaction

All statements regarding IBM future direction and intent are subject to change or withdrawal without notice, and represents goals and objectives only.
2010 IBM Corporation

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 propsitos especiales como el nuevo IBM Smart Analytics Optimiser para DB2 para z/OS V1.1, y IBM Blades para propsitos generales desarrollados por IBM POWER7. (Existe una declaracin de direccin para aadir un blade basado en System x en un futuro prximo.) Puede ejecutar una aplicacin que abarque z/OS, Linux en System z, AIX en POWER, o Linux en System x bajo un paraguas de gestin nico. System z ofrece a los departamentos de TI la proteccin de su inversin, reduccin de la complejidad, flexibilidad mejorada y un menor coste de la propiedad. Unified Resource Manager puede ayudar a proporcionar una gestin y virtualizacin integrales, y la capacidad de optimizar la implantacin de recursos de acuerdo con los requisitos de carga de trabajo individuales.

IBM Corporation

21/02/2011

123 de 131

IBM System z: System Design Comparison


System I/O Bandwidth 288 GB/Sec*

Balanced System CPU, nWay, Memory, I/O Bandwidth*

172.8 GB/sec*

96 GB/sec

Memory 3 TB**

24 GB/sec

1.5 TB**

512 GB

256 GB

64 GB

300

450

600

920

ITR for 1-way ~1200

16-way

32-way

zEnterprise GA1
54-way

z10 EC z9 EC zSeries 990

64-way

* Servers exploit a subset of its designed I/O capability ** Up to 1 TB per LPAR


zEnterpriseTLLB_21

80-way Processors

zSeries 900
2010 IBM Corporation

Transformar sus activos de TI para proteger sus inversiones

Muchos lenguajes y aplicaciones antiguos del mainframe estn estancados y carecen de funcionalidad, interfaces y estndares para permitir la integracin con nuevas cargas de trabajo o un cambio rpido de la lgica empresarial para resolver los nuevos requisitos comerciales. Estas aplicaciones importantes para la empresa a menudo representan grandes inversiones durante aos, 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 ms completos del sector en lenguajes y entornos operativos, lo que puede ayudar a cualquier Organizacin a obtener el mximo valor de sus inversiones existentes y a respaldar una amplia diversidad de iniciativas de arquitectura y modernizacin. Nuestras inversiones en herramientas Rational Developer y ampliaciones de migracin pueden ayudarle a reducir los costes operativos asociados a tecnologas obsoletas y proporcionar silos de desarrollo bajo una solucin comn de gestin del ciclo de vida relativa a aplicaciones y programacin basada en equipos.

Modernice su empresa para maximizar la agilidad

La plataforma System z incluye tecnologas modernas que pueden permitir a una Organizacin a utilizar los elementos existentes de su infraestructura de aplicaciones de

IBM Corporation

21/02/2011

124 de 131

manera innovadora. La integracin de procesamiento rentable y de alto rendimiento de Java y XML proporciona un entorno slido de arquitectura orientada a servicios (SOA) que puede resolver los requisitos empresariales del maana sin tener que rehacer la inversin de su organizacin en aplicaciones comerciales estratgicas. Aprovechar una solucin Smart SOA para habilitar aplicaciones antiguas para el servicio y la web con el fin de la reutilizacin puede eliminar la complejidad y mejorar la calidad. Cualquier Organizacin podr mejorar drsticamente el rendimiento mediante la promocin de la reutilizacin de activos clave que ya estn en funcionamiento en su entorno. Y, por ello, salir al mercado con mayor rapidez con ciclos de desarrollo ms reducidos. La integracin de zEnterprise de activos heterogneos bajo un conjunto comn de recursos gestionados y conectados con una red privada de datos a alta velocidad ofrece a la Organizacin niveles mejorados de integracin, gestin de sistemas, rendimiento, calidad y seguridad para la implantacin 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.

IBM Corporation

21/02/2011

125 de 131

Consolidacin de servidores
En este anexo vamos a incluir una serie de consideraciones sobre la consolidacin de servidores y las ventajas que la plataforma System z aporta en sus diversas aproximaciones.

Introduccin
La consolidacin es mucho ms que la simple sustitucin de una gran cantidad de pequeos servidores por un menor nmero de servidores ms grandes, ms potentes. La consolidacin 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 diseada para manejar las posibles necesidades futuras. El objetivo es optimizar y simplificar la infraestructura de TI de principio a fin, no slo los servidores, sino tambin el almacenamiento, los datos, las aplicaciones, las recursos de las redes, y las herramientas del sistema de gestin que ayudan a ver toda la infraestructura como un nico elemento. Adems de ofrecer el potencial de ahorro de costes y mejoras en la eficiencia, disponibilidad y la productividad, la consolidacin puede proporcionar una base estable para el despliegue rpido de nuevas iniciativas segn las necesidades del negocio evolucionen. Tpicamente, una carga de trabajo UNIX, Linux o Microsoft Windows , est fsicamente dividida en diferentes servidores fsicos. Los servidores distribuidos normalmente cuentan con grandes espacios vacios para manejar picos de carga de trabajo. Estos servidores, por lo general, tiene una ocupacin media muy baja (Windows 5% - 10%, UNIX 25% -30%). Estas cargas de trabajo son claros candidatos para una consolidacin y aprovechar sus ventajas. Los principales beneficios de la consolidacin son los siguientes: Disminuir el costo total de propiedad (TCO) La consolidacin puede ayudar a reducir la complejidad, establecer un mejor sistema de polticas y prcticas de gestin, optimizar la utilizacin 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 consolidacin puede ayudar a habilitar las aplicaciones que impulsan la integracin 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 consolidacin puede ayudar a controlar la seguridad de la informacin clave. Aprovechando las capacidades, lderes en la industria de TI, del System z se pueden conseguir entornos seguros, giles, prximos al 24x7, altamente resistentes a las interrupciones no planificadas, adaptarse a los cambios y con rpida recuperacin. . La informacin como herramienta estratgica de negocios El modelo de computacin distribuida a menudo crea islas de las aplicaciones y datos. La consolidacin de los recursos de TI puede ayudar a asegurar que los datos crticos de negocio, y los procesos son accesibles y compartidos a travs de la empresa.

IBM Corporation

21/02/2011

126 de 131

Tipos de Consolidacin.
En el siguiente grfico se representan los diferentes tipos de consolidacin y las ventajas inherentes junto con los esfuerzos y riesgos asociados.

Se puede realizar una Consolidacin de CPD (Site Consolidation) que

Consolidacin en System z
Los puntos fuertes de la plataforma System z (su capacidad para ejecutar mltiples tipos de carga de trabajo con una fiabilidad excepcional, rendimiento, seguridad y administracin) han sido imitadas pero nunca igualada por las plataformas de servidor. La visin bsica de una consolidacin en Systemz es la realizacin de un Centro de Datos en una caja, no con una granja de servidores. Las siguientes caractersticas de la plataforma System z la hacen ideal para consolidaciones: La Arquitectura z est diseado para manejar cargas de trabajo heterogneas. El Workload Manager (WLM) y el Intelligent Resource Director (IRD) realizan la gestin de cargas de trabajo mixtas y de los recursos de computacin para permitir a las aplicaciones que comparten todos los elementos del sistema.

IBM Corporation

21/02/2011

127 de 131

La plataforma System z incluye tecnologas avanzadas de virtualizacin. La plataforma System z tiene una fuerte historia como servidor de datos. Su arquitectura est diseado para el acceso masivo a los datos, ya sea a travs de Internet, a dispositivos de almacenamiento, o a sitios remotos de respaldo. El procesador especializado zIIP hace la integracin de datos ms 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 ms rentable la ejecucin de trabajos Java en el systemz. El entorno de System z ha sido diseado para ofrecer integridad y soluciones de seguridad completas para ayudar a satisfacer las demandas actuales de explotacin en materia de seguridad. La plataforma System z proporciona QoS inigualables. La consolidacin en el System z permite que las aplicaciones aprovechen su excepcional fiabilidad, alta disponibilidad, escalabilidad, capacidad de servicio y capacidad de recuperacin. Sofisticados sistemas de control y de gestin han estado disponibles en el System z durante aos. (Consulte la seccin "Gestin de sistemas" en la pgina 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 colocacin adecuada de cada una de dichas cargas.

IBM Corporation

21/02/2011

128 de 131

IBM Corporation

21/02/2011

129 de 131

7 Bibliografa
Sin pretender ser exhaustivos,incluimos una relacin de documentos sobre el System z que pueden ser de inters para profundizar en el conocimiento de las caractersticas que hemos descrito someramente en los captulos 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, SG247175 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, SG246665 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 Parallelism, 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 travs de los siguientes enlaces: IBM terminology: http://www.ibm.com/ibm/terminology IBM Redbooks: http://www.redbooks.ibm.com/

IBM Corporation

21/02/2011

130 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

IBM Corporation

21/02/2011

131 de 131

You might also like