Die Erläuterung im Abschnitt Gründe für die Verwendung von Zonen für Java ES konzentriert sich auf die Verwendung von Zonen durch Java ES-Produktkomponenten: diese können im Java ES-Installationsprogramm explizit ausgewählt und in verschiedenen Zonen installiert und konfiguriert werden, um die gewünsche Bereitstellungsarchitektur und Funktionalität zu erzielen. Die gemeinsam genutzten Komponenten jedoch, von denen die Produktkomponenten abhängen, führen zu verschiedenen Beschränkungen in Bezug auf die Java ES-Bereitstellung in einer Multi-Zonen-Umgebung. Für gemeinsam genutzte Java ES-Komponenten und Zonen gelten insbesondere die folgenden zwei Einschränkungen:
Die Schwierigkeit, sämtliche der (etwa 30) komplexen Interaktionen zwischen den gemeinsam genutzten Java ES-Komponenten und Java ES-Produktkomponenten zu testen und zu unterstützen, macht es erforderlich, dass alle gemeinsam genutzten Komponenten innerhalb einer Betriebssysteminstanz für dieselbe Java ES-Version synchronisiert werden müssen. Anders ausgedrückt: Alle in einer Nicht-Zonen-Umgebung oder in einer einzelnen Zone mit einer Solaris 10-Umgebung installierten gemeinsam genutzten Java ES-Komponenten müssen dieselbe Version aufweisen. Diese Anforderung führt zu gewissen Einschränkungen in Bezug auf die Verwendung von Java ES in einer Multi-Zonen-Umgebung.
Diese Synchronisierungsanforderung hat folgende Auswirkungen:
Unterschiedliche Versionen von gemeinsam genutzten Java ES-Komponenten können nur in unterschiedlichen Zonen vorliegen. Sie können beispielsweise die gemeinsam genutzten Komponenten von Java ES Version 4 in einer Zone und gemeinsam genutzte Komponenten von Java ES Version 5 in einer anderen Zone installieren, eine Kombination in derselben Zone ist jedoch nicht möglich.
Wenn eine gemeinsam genutzte Komponente in einer Zone aktualisiert oder eine neue gemeinsam genutzte Komponente einer höheren Version eingeführt wird, dann müssen alle gemeinsam genutzten Komponenten in dieser Zone ebenfalls aktualisiert werden. (Gemeinsam genutzte Komponenten bieten Abwärtskompatibilität, daher stellt es kein Problem dar, Produktkomponenten der Version 4 mit gemeinsam genutzten Komponenten der Version 5 auszuführen.) Angenommen, eine Produktkomponente der Version 5 wird in einer Zone installiert, in der mindestens eine Produktkomponente der Version 4 installiert ist. Da die Version 5-Produktkomponente einige der gemeinsam genutzten Komponenten für Version 5 benötigt, muss während der Installation der Version 5-Produktkomponente eine Synchronisierung aller gemeinsam genutzten Komponenten für Version 4 in dieser Zone auf Version 5 erfolgen. Dies ist auch dann der Fall, wenn die zu installierende Version 5-Produktkomponente gemeinsam genutzte Komponenten erfordert, die von den bereits in der Zone installierten gemeinsam genutzten Komponenten abweichen.
Wenn gemeinsam genutzte Komponenten in der globalen Zone installiert und von dort verbreitet werden (siehe Java ES-Verbreitungsrichtlinien), dann muss besonders auf die Synchronisierung der gemeinsam genutzten Komponenten in allen Zonen geachtet werden. Anderenfalls wäre es möglich, dass gemeinsam genutzte Komponenten einer früheren Version in einer nicht globalen Zone mit den gemeinsam genutzten Komponenten für Version 5 gemischt werden, die über die globale Zone verbreitet wurden. (Als Vorsichtsmaßnahme wird die Lebenszyklusverwaltung für gemeinsam genutzte Komponenten normalerweise ausschließlich in der globalen Zone durchgeführt: Weitere Informationen finden Sie in Tabelle A–2 sowie unter Sonderfälle bei gemeinsam genutzten Komponenten.)
Die Synchronisierungsanforderung für gemeinsam genutzte Komponenten führt zu Beschränkungen für das Java ES-Installationsprogramm in einer Multi-Zonen-Umgebung (siehe Zonenunterstützung im Java ES-Installationsprogramm) und hat darüber hinaus Auswirkung auf die Verfahren zur Installation und Aktualisierung von Java ES-Produktkomponenten in einer Multi-Zonen-Umgebung.
Ein weiterer Aspekt bei der Verwendung von Java ES in einer Multi-Zonen-Umgebung ist der, dass zahlreiche gemeinsam genutzte Komponenten in Sparse-Root-Zonen nicht installiert werden können, da in Sparse-Root-Zonen mit schreibgeschützten Dateisystemen gearbeitet wird. Aus diesem Grund müssen gemeinsam genutzte Komponenten mit dem Basisverzeichnis /usr (ein Verzeichnis, das per Voreinstellung in der globalen Zone freigegeben ist) in der globalen Zone installiert werden, damit sie in einer Sparse-Root-Zone zur Verfügung stehen.
Die Unfähigkeit, verschiedene der gemeinsam genutzten Java ES-Komponenten in Sparse-Root-Zonen zu installieren, macht es erforderlich, dass zur erfolgreichen Installation von Produktkomponenten, die von diesen gemeinsam genutzten Komponenten abhängen, die Produktkomponenten zunächst in der globalen Zone installiert und anschließend auf die nicht globalen Zonen verbreitet werden müssen.