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

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.