Las zonas de Solaris 10 (denominadas también contenedores de Solaris) proporcionan un medio para crear entornos de sistemas operativos virtuales en una instancia del SO Solaris. Esta función permite que uno o varios procesos se ejecuten de forma aislada independientemente del resto de actividades del host. Por ejemplo, un proceso que se ejecuta en una zona sólo podrá enviar señales a otros procesos de la misma zona, independientemente del Id. de usuario y del resto de credenciales.
Cada host de Solaris 10 contiene una única zona global. La zona global es tanto la zona predeterminada para el host como la zona que se usa para el control administrativo de todo el sistema. Todos los procesos se ejecutan en esta zona, a menos que el administrador global cree zonas que no sean globales. Algunos componentes de productos de Java ES como, por ejemplo, el software de Sun Cluster, sólo pueden ejecutarse en la zona global. Una zona no global sería similar a una caja. Una o varias aplicaciones pueden ejecutarse en esa caja sin interactuar con el resto del host. Es como si cada zona no global tuviera su propia instancia de sistema operativo Solaris 10 instalada con configuraciones e informaciones exclusivas para dicha zona no global. Cuando un paquete se instala en la zona global, se propaga de forma predeterminada a todas las zonas no globales. En otras palabras, el paquete se instala en las zonas no globales, así como en la zona global. Esta propagación proporciona una visibilidad y disponibilidad no global de los paquetes instalados en la zona global. Se puede anular de forma opcional el comportamiento de propagación al agregar un paquete, restringiendo de esta forma el paquete únicamente a la zona global. La configuración predeterminada de una zona no global consiste en compartir partes del sistema de archivos de la zona global. Se admiten dos tipos de zonas no globales: una zona root completa y una zona root dispersa.
Una zona root completa contiene una copia de lectura/escritura del sistema de archivos que existe en la zona global. Al crear una zona root completa, todos los paquetes que se instalan en la zona global se ponen a disposición de la zona root completa. Se crea una base de datos de paquetes y se copian todos los paquetes en la zona root completa, creando una copia independiente y dedicada de todos los archivos.
Una zona root dispersa contiene una copia de lectura y escritura de una parte del sistema de archivos que existe en la zona global, mientras que se montan otros sistemas de archivos de sólo lectura desde la zona global en forma de sistemas de archivos virtuales de realimentación como, por ejemplo, /usr. El administrador global selecciona los sistemas de archivos que se van a compartir con la zona root dispersa al crear esta zona.
En Java ES se presupone que, en las zonas root dispersas, el sistema de archivos /opt no se ha heredado a partir de la zona global y, por lo tanto, permite su escritura.
Para que la implementación de las zonas se realice satisfactoriamente, es vital que planifique detalladamente las tareas y la secuencia en que se realizarán. Los componentes de Java ES pueden instalarse potencialmente en cualquier tipo de zona con un conjunto de combinaciones casi ilimitado y en cualquier orden posible. En algunos casos, el orden de instalación de los componentes de productos de Java ES y el orden de creación de las zonas no globales pueden ser muy importantes. Para obtener una descripción completa de la planificación de la implementación de Java ES en un entorno de zonas de Solaris, consulte el Apéndice A, Java ES and Solaris 10 Zones de Sun Java Enterprise System 5 Installation Planning Guide.