Die Zonen in Solaris 10 (auch als Solaris-Container bekannt) bieten eine Möglichkeit zum Erstellen von virtualisierten Betriebssystemumgebungen innerhalb einer Instanz von Solaris OS. Dadurch können Prozesse isoliert von anderen Aktivitäten auf dem Host ausgeführt werden. So kann ein in einer Zone ausgeführter Prozess nur Signale an andere Prozesse in derselben Zone senden, unabhängig von der Benutzer-ID und sonstigen Anmeldeinformationen.
Jeder Solaris 10-Host enthält eine einzelne globale Zone. Die globale Zone ist sowohl die Standardzone für den Host als auch die Zone, die für die systemweite Administrationssteuerung verwendet wird. Alle Prozesse werden in der globalen Zone ausgeführt, sofern vom globalen Administrator keine nicht globalen Zonen erstellt wurden. Manche Java ES-Produktkomponenten, wie beispielsweise Sun Cluster-Software, können ausschließlich in der globalen Zone installiert werden. Eine nicht globale Zone kann man sich als Schachtel vorstellen. In dieser Schachtel können Anwendungen ausgeführt werden, ohne dass eine Interaktion mit den anderen Teilen des Hosts stattfindet. Jede nicht globale Zone verfügt quasi über eine eigene Instanz eines installieren Solaris 10-Betriebssystems mit einer eigenen Konfiguration und sonstigen Informationen, die nur für diese nicht globale Zone gelten. Wenn ein Paket in einer globalen Zone installiert wird, wird es standardmäßig automatisch in alle nicht globalen Zonen übernommen. Anders ausgedrückt: Das Paket wird sowohl in der nicht globalen Zone als auch in der globalen Zone installiert. Durch diese automatische Übernahme wird die nicht globale Sichtbarkeit und die Verfügbarkeit für Pakete gewährleistet, die in der globalen Zone installiert sind. Dieser Übernahmevorgang kann beim Hinzufügen des Pakets optional unterdrückt werden. Auf diese Weise wird das Paket nur auf die globale Zone beschränkt. In der Standardkonfiguration für eine nicht globale Zone werden Teile des Dateisystems der globalen Zone gemeinsam genutzt. Es werden zwei Typen von nicht globalen Zonen unterstützt: Ganze Root-Zone und Sparse-Root-Zone.
Eine ganze Root-Zone enthält eine Lese-/Schreib-Kopie des Dateisystems in der globalen Zone. Bei der Erstellung einer ganzen Root-Zone werden alle in der globalen Zone installierten Pakete in der ganzen Root-Zone verfügbar gemacht. Eine Paketdatenbank wird erstellt und alle Pakete werden in die ganze Root-Zone kopiert, sodass eine dedizierte und unabhängige Kopie aller Dateien erstellt wird.
Eine Sparse-Root-Zone enthält nur eine Lese-/Schreibkopie eines Teils des in der globalen Zone vorhandenen Dateisystems, während andere Dateisysteme mit Schreibschutz aus der globalen Zone als virtuelle Loopback-Dateisysteme, wie beispielsweise /usr gemountet werden. Der globale Administrator wählt bei der Erstellung der Sparse-Root-Zone aus, welche Dateisysteme gemeinsam mit einer Sparse-Root-Zone genutzt werden sollen.
Für Java ES wird angenommen, dass für Sparse-Root-Zonen das /opt -Dateisystem nicht aus der globalen Zone übernommen wird und daher beschreibbar ist.
Für eine erfolgreiche Zonenbereitstellung ist es wichtig, die Aufgaben und die Abfolge der Aufgaben sorgfältig zu planen. Java ES-Komponenten können potenziell in jeder Art von Zone in einer beinahe unbegrenzten Anzahl an Kombinationen und in fast beliebiger Reihenfolge installiert werden. In einigen Fällen kann die Reihenfolge, in der die Java ES-Produktkomponenten installiert und die nicht globalen Zonen erstellt werden, von entscheidender Bedeutung sein. Eine vollständige Planungsbeschreibung für die Implementierung von Java ES in einer Solaris-Zonenumgebung erhalten Sie in Anhang Anhang A, Java ES and Solaris 10 Zones in Sun Java Enterprise System 5 Installation Planning Guide.