El debate de la sección ¿Por qué utilizar zonas para Java ES? se centra en el uso de zonas por componentes del producto de Java ES: los que se pueden seleccionar de forma explícita en el instalador de Java ES e instalarse y configurarse en varias zonas para obtener la arquitectura de implementación y capacidad funcional deseada. Sin embargo, los componentes compartidos en los que los componentes del producto dependen establecen una serie de limitaciones sobre cómo se implementa Java ES en un entorno de varias zonas. Existen dos problemas relacionados con los componentes compartidos de Java ES y las zonas:
La dificultad de poner a prueba y admitir el alto número (unos 30) de componentes y las interacciones complejas entre componentes compartidos de Java ES y los componentes de producto Java ES hace que sea necesario que todos los componentes compartidos dentro de una misma instancia del sistema operativo se tengan que sincronizar con la misma versión de Java ES. En otras palabras, todos los componentes compartidos de Java ES instalados en un entorno que no sea de zonas o en una sola zona de un entorno Solaris 10 tienen que ser de la misma versión. Este requisito pone ciertos límites a cómo se puede utilizar Java ES en un entorno de varias zonas.
El requisito de sincronización implica lo siguiente:
Las diferentes versiones de los componentes compartidos de Java ES sólo pueden residir en diferentes zonas. Por ejemplo, puede instalar componentes compartidos Java ES versión 4 en una zona y componentes compartidos Java ES versión 5 en otra zona, pero no podrá combinarlos en la misma zona.
Si se actualiza un componente compartido en una zona o se introduce un componente compartido nuevo de una versión más reciente, entonces todos los componentes de la zona deberán actualizarse a la vez. (Es necesario que los componentes compartidos sean compatibles con versiones anteriores, de forma que los componentes de producto de la versión 4 funcionen con los componentes compartidos de la versión 5.) Por ejemplo, supongamos que un componente de producto de la versión 5 se instala en una zona donde residen uno o más componentes de producto de la versión 4. Como el componente de producto de la versión 5 requiere una serie de componentes compartidos de la versión 5, el requisito de sincronización significa que todos los componentes compartidos de la versión 4 que residan en dicha zona se tendrán que actualizar a la versión 5 cuando se instale el componente de producto de la versión 5. Esto es así aunque el componente de producto de la versión 5 que se esté instalando requiera diferentes componentes compartidos de los que ya están instalados en la zona.
Cuando se instalan componentes compartidos en la zona global y se propagan desde la misma (consulte la sección Reglas de propagación de Java ES), debe tenerse especial cuidado en el mantenimiento de la sincronización de componentes compartidos en todas las zonas. En caso contrario, existe la posibilidad que componentes compartidos de una versión anterior de una zona no global se entremezclen con los componentes compartidos de la versión 5 que se han propagado desde la zona global. (Especial cuidado no significa que la administración del ciclo de vida de los componentes tenga lugar únicamente en la zona global. Para otener más información, consulte la Tabla A–2 y Casos especiales de componentes compartidos..)
El requisito de sincronización de componentes compartidos impone restricciones sobre qué limitaciones tiene el instalador de Java ES en un entorno de varias zonas (para obtener más información, consulte Compatibilidad de zonas en el instalador de Java ES) y afecta también a los procedimientos para instalar y actualizar componentes de producto de Java ES en un entorno de varias zonas.
Otro problema que afecta el uso de Java ES en un entorno de varias zonas es que no se puede instalar un número elevado de componentes compartidos en zonas de poca raíz debido a los sistemas de archivos de sólo lectura de las zonas de poca raíz. Así los componentes compartidos cuyo directorio base es /usr (un directorio que, de manera predeterminada, se comparte en la zona global) deben instalarse en la zona global para que estén disponibles en una zona de poca raíz.
La incapacidad de instalar varios componentes compartidos Java ES en zonas de poca raíz significa que para poder instalar correctamente componentes de producto con dependencias en componentes compartidos de este tipo en zonas de poca raíz, los componentes compartidos se deben instalar primero en la zona global y posteriormente propagarlos hacia las zonas no globales.