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.
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.
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.
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:
Hardware existente, incluidos equipos, dispositivos de almacenamiento, equilibradores de carga y cableado de red
Sistemas operativos
Diseño de red, incluidas las subredes y las zonas de seguridad
Datos de diseño de disponibilidad
Daños de diseño de seguridad
Información sobre el diseño del directorio necesaria para la provisión de los usuarios finales
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:
Configuración de hardware
Instalación, actualización y migración de software
Configuración y personalización del sistema
Desarrollo e integración
Comprobación
Despliegue en producción