Visión general técnica de Sun Java Enterprise System 2005Q4

Capítulo 4 Tareas del ciclo de vida de la solución Java Enterprise System

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.

El capítulo está organizado alrededor de los tres grupos de etapas del ciclo de vida siguientes:

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. Este capítulo describe las tareas incluidas en cada etapa del ciclo de vida. El diagrama del ciclo de vida aparece de nuevo en la Figura 4–1 para que sea más fácil consultarlo.

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.

Implementación previa

En las fase 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 de 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 fase previa a la implementación del ciclo de vida, consulte la Guía de planificación de la implementación de Sun Java Enterprise System 2005Q4.

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, se convierte un escenario de implementación en un diseño de implementación, que, posteriormente, se desplegará, 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 servicio de infraestructura necesarios para dar soporte a una solución de software. En general, hay que implementar tanto los componentes de aplicaciones desarrolladas de forma personalizada (componentes J2EE, servicios web u otros servidores) como los componentes de Java ES necesarios para lograr que la solución sea compatible.

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

Diseño de 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 de 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 de servicio, así como el diseño en los equipos de gran potencia y en el amplio ancho de banda de red. Cuando el hardware es limitado, o excesivamente caro, quizá tenga que evaluar concesiones entre los costes fijos (hardware) y los costes variables (requisitos de recursos humanos) o entre los diferentes requisitos de calidad de 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. Sin embargo, como punto de partida para el diseño de implementación, Java Enterprise System desarrolla un conjunto de arquitectura de implementación de referencia.

Una arquitectura de referencia se basa en un escenario de implementación específico: una arquitectura lógica con requisitos de calidad de 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 de 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:

Despliegue de implementación

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. Las siguientes subsecciones describen cada tarea principal de implementación en el orden en que se realizan normalmente. Para obtener información detallada sobre estas tareas, consulte la Guía de documentación de Sun Java Enterprise System 2005Q4.

Configuración de 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 da soporte a la solución 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. El instalador que se incluye con Java ES se utiliza para instalar los componentes adecuados de Java ES en cada equipo de su arquitectura de implementación (consulte El instalador integrado de Java Enterprise System).

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 Enterprise System, si está actualizando componentes de Java ES instalados anteriormente o si está sustituyendo componentes de terceros por otros de Java Enterprise System. 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, cada componente de Java ES debe estar configurado para poder 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, normalmente se puede personalizar Portal Server para que proporcione canales de portal, Access Manager para que ejecute tareas de autorización y Messaging Server para que use comprobaciones de virus y filtros anti-spam.

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 Java Studio proporciona herramientas para programar componentes distribuidos o servicios empresariales. Sun Java Studio simplifica 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 ofrece un marco conector que permite integrar las aplicaciones existentes en el entorno de Application Server desarrollando adaptadores de recursos J2EE, mientras que Message Queue ofrece una función robusta de mensajería asíncrona para integrar diversas aplicaciones.

Pruebas de prototipos y pilotos

En función del grado de personalización o trabajo de desarrollo necesario, en un momento dado será necesario comprobar la arquitectura de implementación; para ello, deberá comprobar la solución en los casos de uso para verificar que satisface los requisitos de calidad de 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 fase supone instalar, configurar e iniciar aplicaciones distribuidas y servicios de infraestructura en un entorno de producción, realizar la provisión de usuarios finales del sistema de producción, configurar el inicio de sesión único, 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 aplican cargas progresivamente mayores para confirmar que se cumplen los requisitos de calidad de servicio.

Implementación posterior

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

Términos clave de este capítulo

Esta sección explica los términos técnicos clave utilizados en este capítulo. Se pone un interés especial en clarificar las relaciones entre estos términos y cómo se utilizan en el contexto de Java Enterprise System.

implementación

Etapa del ciclo de vida de una solución de Java Enterprise System 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 del mismo 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 Enterprise System y los requisitos de calidad del servicio que debe satisfacer la solución para ajustarse a las necesidades del negocio. Entre los requisitos de calidad de servicio se incluyen aquéllos relacionados con: el rendimiento, la disponibilidad, la seguridad, la facilidad de mantenimiento y las funciones de escalabilidad o latencia. 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 Enterprise System mediante la que los componentes personalizados de una arquitectura de implementación se programan y prueban.

fase previa a la implementación

Una fase del ciclo de vida de una solución de Java Enterprise System en la que las necesidades de negocio se convierten en un escenario de implementación: una arquitectura lógica y un conjunto de requisitos de calidad del servicio a los que debe ajustarse una solución.

fase posterior a la implementación

Una fase del proceso de vida de una solución de Java Enterprise System en la que las aplicaciones distribuidas se inician, se supervisan, 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.