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.
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.
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.
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.
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.
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.
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.