Descripción general técnica de Sun Java Enterprise System 5

Capítulo 4 Ciclo de vida de las soluciones de Java ES

En este capítulo se describen los conceptos y la terminología relevantes para cada etapa del ciclo de vida de la solución de Java ES. El eje de este capítulo son las tareas de implementación, especialmente las tareas de diseño de implementación y de puesta en práctica.

En este capítulo se describen las tareas incluidas en cada etapa del ciclo de vida. Este capítulo contiene las siguientes secciones:

Tareas del ciclo de vida de las soluciones

Sobre el ciclo de vida de las soluciones se realizó una introducción en el Capítulo 1, Introducción a Java Enterprise System como una aproximación estándar al despliegue de soluciones de negocio que usan el software Java ES. El diagrama del ciclo de vida se vuelve a mostrar en este capítulo para consultarlo con mayor facilidad.

Figura 4–1 Tareas del ciclo de vida de las soluciones

Diagrama que muestra las etapas del ciclo de vida de una solución; cada una de ellas compuesta por una serie de tareas descritas en las siguientes secciones de este capítulo.

Etapa previa a la implementación

En las etapa previa a la implementación phases del ciclo de vida, un análisis de las necesidades del negocio se traduce en un escenario de implementación. El escenario de implementación sirve como especificación para el diseño de la implementación.

Las tareas previas a la implementación se agrupan en tres etapas, tal y como se muestra en la Figura 4–1:

La arquitectura lógica, junto con el rendimiento, la disponibilidad, la seguridad y otros requisitos de calidad del servicio se encapsulan en un escenario de implementación, tal y como se muestra en la siguiente figura. Para obtener más información acerca de la etapa previa a la implementación del ciclo de vida, consulte la Sun Java Enterprise System Deployment Planning Guide.

Figura 4–2 Especificación de un escenario de implementación

Diagrama que muestra cómo los requisitos empresariales se trasladan mediante casos de uso y análisis de uso a un escenario de implementación.

Implementación

En las etapas de implementación del ciclo de vida, un escenario de implementación se convierte en un diseño de implementación que, posteriormente, se implementará, se probará y se implantará en un entorno de producción.

El proceso de implementación normalmente engloba componentes de software en todas las capas y en todos los niveles de servicios de infraestructura necesarios para poder utilizar una solución de software. En general, debe implementar tanto los componentes de aplicación desarrollados de forma personalizada (componentes J2EE, servicios web u otros servidores) como los componentes de Java ES necesarios para poder utilizar la solución.

Las tareas de implementación se agrupan en dos etapas, tal y como se muestra en la Figura 4–1:

Diseño de la implementación

En la etapa de diseño de la implementación, se crea una arquitectura de implementación general seguida de las especificaciones de implementación detalladas.

Arquitectura de implementación

Una arquitectura de implementación se crea asignando los bloques de construcción lógicos de una aplicación (la arquitectura lógica) a un entorno informático físico de modo que se cumplan los requisitos de calidad del servicio especificados en el escenario de implementación. El escenario de implementación se traduce en una arquitectura de implementación, como se muestra en la siguiente figura.

Figura 4–3 Conversión de un escenario de implementación en una arquitectura de implementación

Diagrama que muestra cómo se convierte un escenario de implementación en una arquitectura de implementación.

Un aspecto de este diseño arquitectónico es el tamaño del entorno físico (que determina el número de equipos y estima los requisitos de potencia del procesador y de memoria RAM) para que satisfaga los requisitos de rendimiento, disponibilidad, seguridad y otros requisitos de calidad del servicio. Una vez completadas las tareas relacionadas con el tamaño, deberá asignar componentes de aplicación y los de Java ES a los distintos equipos en el entorno físico. La arquitectura de implementación resultante debe tener en cuenta las funciones de los diferentes equipos, las características de los servicios de infraestructura del sistema y las restricciones del coste total de propiedad o del coste total de disponibilidad.

Cuanto mayor sea el número de componentes de Java ES incluidos en el escenario de implementación, más exigentes serán los requisitos de calidad del servicio, así como el diseño de los equipos de gran potencia y el ancho de banda de la red. Cuando el hardware es limitado, o excesivamente caro, es posible que deba evaluar las concesiones entre los costes fijos (hardware) y los costes variables (requisitos de recursos humanos) o entre los diferentes requisitos de calidad del servicio. También es posible que tenga que aumentar la sofisticación del diseño.

El diseño de una arquitectura de implementación a menudo se realiza de forma iterativa. Las arquitecturas de implementación de referencia sirven como punto de partida para el diseño de la implementación de Java ES.

Una arquitectura de referencia se basa en un escenario de implementación específico: una arquitectura lógica con requisitos de calidad del servicio específicos. En la arquitectura de referencia, se implementa una solución de software en un entorno físico específico de una forma tal que satisface los requisitos de calidad del servicio especificados. La prueba de rendimiento en cargas específicas se basa en el mismo conjunto de casos de uso a partir del que se desarrolló el escenario de implementación. La documentación de referencia de la arquitectura está disponible para los clientes de Java ES y está sujeta a un acuerdo de confidencialidad.

Basándose en una arquitectura de implementación de referencia o en una combinación de arquitecturas de referencia, puede diseñar una primera aproximación a una arquitectura de implementación que reúna los requisitos de su propio escenario de implementación. Puede ajustar las arquitecturas de referencia o utilizarlas como puntos de referencia, teniendo en cuenta la diferencia entre su propio escenario de implementación y aquéllos en los que se basan las arquitecturas de referencia. De este modo, puede valorar el impacto de sus propias necesidades de tamaño del sistema, rendimiento, seguridad, disponibilidad, capacidad y facilidad de mantenimiento.

Especificaciones de implementación

Las especificaciones de implementación proporcionan los datos necesarios para llevar a la práctica una arquitectura de implementación. Las especificaciones incluyen generalmente la siguiente información:

Planes de implementación

Los planes de implementación describen cómo realizar las planificaciones para llevar a cabo las distintas tareas de la etapa de puesta en práctica de la implementación. Los planes cubren generalmente las siguientes tareas:

Implementación de despliegue

El despliegue de un diseño de implementación consta de las tareas que se incluyen en la sección anterior y que se muestran en la Figura 4–1. El orden de estas tareas no es rígido ya que el proceso de implementación es repetitivo por naturaleza. En las siguientes subsecciones se describe cada tarea principal de implementación de despliegue en el orden en que se realizan normalmente.

Configuración del hardware

La especificación de implementación incluye todos los datos del entorno físico: los equipos, el diseño de red, el hardware de red (incluidos el cableado, los conmutadores, los enrutadores y los equilibradores de carga), los dispositivos de almacenamiento, etc. Todas estas necesidades de hardware deben configurarse conforme a la plataforma que admite la solución de Java ES.

Instalación, actualización y migración de software

La arquitectura de implementación, junto con los detalles adicionales que se proporcionan en las especificaciones de implementación, indica los componentes de aplicación y los componentes de Java ES que se instalarán en cada equipo del entorno físico. Debe utilizar el programa de instalación integrado de Java ES para instalar los componentes adecuados de Java ES en cada equipo de la arquitectura de implementación (consulte El programa de instalación integrado de Java ES).

El plan de instalación describe la secuencia y el alcance de las sesiones del programa de instalación. Sin embargo, el planteamiento que utilice para realizar la instalación puede depender de si está realizando una nueva instalación de Java ES, si está actualizando los componentes de Java ES instalados anteriormente o si está sustituyendo componentes de terceros por otros de Java ES. Los dos últimos escenarios de adopción de Java ES a menudo requieren que se migren datos o códigos de aplicaciones para que puedan ser compatibles.

Configuración y personalización del sistema

Debe completar una serie de tareas de configuración para que los distintos componentes del sistema funcionen como un sistema integrado. La primera de estas tareas es la configuración inicial necesaria para que cada componente individual del sistema se inicie. En segundo lugar, debe configurarse cada componente de Java ES para que pueda comunicarse con los componentes con los que interactúa.

También debe configurar la alta disponibilidad, en función de la solución de disponibilidad para cada componente. Es necesario realizar la provisión de los usuarios para que éstos puedan acceder a los distintos servicios. También hay que configurar los controles y las directivas de autorización y autenticación (consulte Identidad integrada y servicios de seguridad).

En la mayoría de los casos, las tareas de configuración incluyen algún grado de personalización de los componentes de Java ES para obtener la función exacta que se necesita. Por ejemplo, debe personalizar normalmente Portal Server para que proporcione canales de portal, Access Manager para que realice las tareas de autorización, etc.

Desarrollo e integración

La arquitectura lógica especificada en el escenario de implementación determina generalmente el ámbito del trabajo de desarrollo necesario para desplegar una solución.

Para algunas implementaciones, el proceso de desarrollo puede ser bastante amplio, ya que hay que desarrollar nuevos servicios de presentación y de negocios desde el principio utilizando componentes de J2EE que se ejecutan en un entorno de Application Server o Web Server. En esos casos, es recomendable elaborar un prototipo de la solución y realizar pruebas de concepto antes de embarcarse en un esfuerzo de desarrollo completo.

Para las soluciones que requieren un desarrollo amplio, Sun JavaTM Studio proporciona herramientas para programar componentes distribuidos o servicios de negocios. Las herramientas para desarrolladores de Sun Java Studio simplifican la programación y comprobación de las aplicaciones admitidas por la infraestructura de Java ES.

En algunas situaciones, los componentes de Java ES pueden estar integrados con aplicaciones heredadas o de terceros. Estas integraciones pueden implicar los directorios existentes o servicios de datos en la capa de datos o componentes existentes en la capa de servicios empresariales. La integración de componentes de Java ES con estos sistemas puede requerir la migración de datos o de código de aplicaciones.

La plataforma J2EE proporciona una estructura de conector que permite integrar las aplicaciones existentes en el entorno de Application Server, desarrollando adaptadores de recursos J2EE, mientras que Message Queue proporciona una función robusta de mensajería asíncrona para integrar diversas aplicaciones.

Pruebas de prototipos y pilotos

En función del nivel de personalización o la cantidad de trabajo de desarrollo necesario, deberá verificar en algún momento su arquitectura de implementación: debe probar la solución frente a los casos de uso para verificar que se cumplan los requisitos de calidad del servicio.

Si tiene pocos servicios personalizados (una implementación prácticamente estándar), la solución simplemente requerirá la personalización de los componentes de Java ES y una prueba piloto del sistema.

No obstante, si ha desarrollado bastante lógica de aplicación nueva y ha creado servicios personalizados, esta prueba puede ser más amplia, ya que debería probar el prototipo, la integración, etc.

Si esta prueba revela defectos en la arquitectura de implementación, deberá modificar la arquitectura y probarla de nuevo. Este proceso iterativo debe producir al final una arquitectura de implementación y una implementación que esté lista para ponerla en práctica en un entorno de producción.

Presentación de producción

La presentación de producción implica llevar a la práctica la implementación en un entorno de producción. Esta etapa conlleva la instalación, configuración e inicio de las aplicaciones distribuidas y los servicios de infraestructura en un entorno de producción, la provisión de usuarios finales del sistema de producción, la configuración del inicio de sesión único y las directivas de acceso, etc. Normalmente, se empieza con una implementación limitada y se pasa a una implementación en toda la organización. En este proceso, debe realizar ejecuciones de prueba en las que se apliquen cargas progresivamente mayores para confirmar que se cumplen los requisitos de calidad del servicio.

Etapa posterior a la implementación

En la etapa posterior a la implementación del ciclo de vida, se ejecuta una solución implementada en un entorno de producción. La etapa de operaciones del ciclo de vida conlleva las siguientes tareas:

Términos clave de este capítulo

En esta sección, se explican los términos técnicos clave empleados en este capítulo, con especial atención al uso de estos términos en el contexto de Java ES.

implementación

Etapa del ciclo de vida de una solución de Java ES en la que un escenario de implementación se convierte en un diseño de implementación que luego se desplegará. También se hará un prototipo de éste y, por último, se aplicará en un entorno de producción. El producto final de este proceso también se denomina "implementación" (o solución implementada).

escenario de implementación

Una arquitectura lógica para una solución de Java ES y los requisitos de calidad del servicio que debe satisfacer la solución para ajustarse a las necesidades empresariales. Entre los requisitos de calidad del servicio, se incluyen aquellos relacionados con el rendimiento, la disponibilidad, la seguridad, la facilidad de mantenimiento, la escalabilidad o la capacidad latente. El escenario de implementación es el punto de partida del diseño de implementación.

desarrollo

Una tarea del proceso de implementación de una solución de Java ES mediante la que los componentes personalizados de una arquitectura de implementación se programan y prueban.

etapa previa a la implementación

Una etapa del ciclo de vida de una solución de Java ES en la que las necesidades empresariales se convierten en un escenario de implementación: una arquitectura lógica y un conjunto de requisitos de calidad del servicio que debe satisfacer una solución.

etapa posterior a la implementación

Una etapa del proceso de vida de una solución de Java ES en la que las aplicaciones distribuidas se inician, se supervisan y se ajustan para optimizar su rendimiento, y se actualizan dinámicamente para incluir nuevas funciones.

arquitectura de implementación de referencia

Una arquitectura de implementación que se ha diseñado, desplegado y probado para proporcionar un rendimiento. Las arquitecturas de implementación de referencia se utilizan como puntos de partida para el diseño de arquitecturas de implementación de soluciones personalizadas.

caso de uso

Una tarea específica del usuario final o un conjunto de tareas realizadas por una aplicación de empresa distribuida que se utiliza como base para el diseño, la prueba y la evaluación del rendimiento de una aplicación.