La discussion dans Pourquoi utiliser des zones pour Java ES ? portait sur l'utilisation des zones par les composants produit Java ES : ces composants pouvant être explicitement sélectionnés dans le programme d'installation de Java ES et installés et configurés dans diverses zones de manière à obtenir l'architecture de déploiement et les capacités fonctionnelles souhaitées. Cependant, les composants partagés, dont dépendent les composants produit, entraînent certaines restrictions pour le déploiement de Java ES dans un environnement multizone. Voici les deux principales difficultés concernant l'utilisation des composants partagés Java ES et des zones :
Les difficultés de contrôle et de prise en charge du grand nombre (environ 30) d'interactions complexes entre les composants partagés Java ES et les composants produit Java ES nécessitent que tous les composants partagés d'une instance de système d'exploitation unique soient synchronisés sur la même version Java ES. En d'autres termes, tous les composants partagés Java ES installés dans un environnement sans zone, ou dans n'importe quelle zone d'un environnement Solaris 10, doivent être de la même version. Cette exigence entraîne certaines restrictions concernant l'utilisation de Java ES dans un environnement multizone.
Voici les conséquences de ce besoin de synchronisation :
Les différentes versions des composants partagés Java ES ne peuvent résider que dans des zones différentes. Par exemple, vous pouvez installer les composants partagés de Java ES Version 4 dans une zone et les composants partagés de Java ES Version 5 dans une autre zone mais vous ne pouvez pas les combiner dans une seule et même zone.
Si un composant partagé dans une zone est mis à niveau ou que tout nouveau composant partagé d'une version supérieure est installé, alors tous les composants partagés de cette zone doivent être mis à niveau dans le même temps. (Les composants partagés doivent être rétrocompatibles afin que les composants produit de la Version 4 puissent fonctionner avec les composants partagés de la Version 5.) Supposons, par exemple, qu'un composant produit de la Version 5 soit installé dans une zone dans laquelle un ou plusieurs composants produit de la Version 4 résident. Étant donné que le composant produit Version 5 requiert un certain nombre de composants partagés Version 5, de par le besoin de synchronisation, il est nécessaire que tous les composants partagés Version 4 résidant dans cette zone soient mis à niveau en Version 5 au moment de l'installation du composant produit Version 5. Il en va ainsi même si le composant produit Version 5 installé requiert des composants partagés différents de ceux déjà installés dans la zone.
Lorsque des composants partagés sont installés et qu'ils se propagent à partir de la zone globale (voir la section Stratégies de propagation Java ES), il est important de maintenir une synchronisation des composants partagés dans toutes les zones. Sinon, les composants partagés d'une version précédente dans une zone non globale pourraient se mélanger avec les composants partagés Version 5 propagés à partir de la zone globale. (Nous soulignons l'importance de cette action car habituellement la gestion du cycle de vie des composants partagés s'effectue uniquement dans la zone globale : Pour plus d'informations, reportez-vous au Tableau A–2 et à la section Cas spéciaux relatifs aux composants partagés.).
Le besoin de synchronisation des composants partagés impose des restrictions sur l'utilisation du programme d'installation de Java ES dans un environnement multizone (pour plus d'informations, voir Prise en charge des zones dans le programme d'installation de Java ES) et modifie les procédures d'installation et de mise à niveau des composants produit Java ES dans ce type d'environnement.
L'utilisation de Java ES dans un environnement multizone peut également être modifiée du fait qu'un grand nombre de composants partagés ne peut être installé dans les zones sparse root à cause des systèmes de fichiers en lecture seule présents dans ces zones. Par conséquent, ces composants partagés, dont le répertoire de base est /usr (répertoire qui par défaut est partagé par la zone globale), doivent être installés dans la zone globale afin d'être accessibles dans une zone sparse root.
L'incapacité à installer certains composants partagés Java ES dans des zones sparse root signifie que pour correctement installer des composants produit ayant des dépendances sur de tels composants partagés dans des zones sparse root, ces derniers doivent d'abord être installés dans la zone globale et propagés dans les zones non globales.