通过在不同的区域中运行应用程序来实现隔离与通过在不同计算机的操作系统中运行应用程序来实现隔离的效果大致相同。因此,为将 Java ES 组件隔离并保证其安全性,可在同一台计算机内的不同区域中安装、配置或运行这些组件,而不必在不同的计算机上安装、配置和运行它们。
以此方式合并 Java ES 组件还能够更加有效地利用资源。可将在未得到充分利用的专用计算机中运行的 Java ES 组件改为在一台计算机的不同非全局区域中运行。全局管理员可根据在不同区域中运行的组件的资源需求在这些区域之间动态分配资源。(注意,与目前通常具备的关于不同组件资源需求的知识和了解程度相比,要实现上述操作需要更多的知识及更深的了解。)
多区域环境还可以帮助实现其他目标:
版本分离。不同版本的 Java ES 组件并行集可在不同的区域中运行。这样,经过一段时间后,可从一个 Java ES 版本迁移到另一个版本。例如,一个非全局区域中的 Java ES 发行版本 4 组件可与另一个非全局区域中的 Java ES 发行版本 5 组件并行运行。要实现这种类型的版本分离,请将生命周期管理(以及配置和运行时管理)委托给区域管理员。
集中式生命周期管理。虽然由于 Java ES 的限制,未对其提供完整支持,但可以通过区域实现对 Java ES 组件的集中式生命周期管理。组件可在全局区域中进行安装、升级和卸载,但要在多个非全局区域中配置和运行,以实现运行时隔离、安全性、可伸缩性以及其他需求。当一个组件的多个实例在不同的区域中运行,或想要确保这些实例同步为同一发行版本时,集中式生命周期管理便体现了它的优势。
例如,您将可以在全局区域中安装一次 Application Server,然后在不同的非全局区域中运行多个实例。不同的 Application Server 实例可以支持 Access Manager、Portal Server 或其他 Java ES 组件(它们可以是不同非全局区域中的相同或不同的组件)。或者,不同的 Application Server 实例可供不同的开发团队在不同的区域中使用。
要实现此目标,生命周期管理应由全局管理员执行,而配置和运行时管理则要委托给各自的区域管理员。这种方法要求在执行生命周期管理任务(如升级)时进行充分的协调。
组织独立性。对于并存且运行于同一台计算机上的所有 Java ES 组件,不同的组织可拥有这些组件的不同部署或不同运行时实例。例如,不同的开发者小组可以使用其各自的不同 Java ES 组件实例,或者,不同的组织可以使用不同的 Java ES 部署进行测试、预试生产或生产。组织独立性可以通过多种方式实现,这取决于具体的目标:可以集中式管理 Java ES 生命周期而将配置和运行时管理委托给区域管理员,也可以将所有管理功能(生命周期、配置和运行时)均委托给区域管理员。
可使用 Java ES 在多区域环境中实现的不同目标及其必然包含的使用方案,需要在多区域环境中针对部署和管理 Java ES 组件采用不同的策略才能实现。有些目标会利用不同区域间的隔离,以独立管理不同的 Java ES 组件及其运行时实例;而其他目标会利用全局区域的传播功能,以简化 Java ES 组件的生命周期管理。
在讨论完因 Java ES 软件的性质所强加的一些多区域环境限制后,我们会重新阐述用于在多区域环境中使用 Java ES 的安装和管理策略。