在解决方案生命周期的实现阶段,从部署设计阶段创建的规范和规划着手,构建和测试部署体系结构,最终使部署进入生产阶段。虽然部署设计的实现不在本指南讨论范围之内,但本章将对此阶段进行概括说明。
本章包括以下部分:
部署体系结构获得核准并已完成实现规范和规划后,即进入了解决方案生命周期的实现阶段。实现是一组复杂的过程和步骤,需要仔细规划才能确保成功。实现包括以下任务:
构建网络和硬件基础结构
按照安装规划安装和配置软件
将数据从现有应用程序迁移到当前解决方案
实现用户管理规划
根据测试规划在测试环境中设计和部署试验性或原型系统
根据测试规划设计和运行功能性测试和负载测试
根据展开规划将解决方案从测试环境向生产环境中展开
根据培训规划培训部署的管理员和用户
有关部署设计实现的更多信息不在本指南讨论范围之内。但以下各节提供了有关这些任务的概要信息。
面向分布式企业应用程序的 Sun JavaTM Enterprise System 的安装和配置需要对大量任务和步骤进行规划和协调。在部署设计阶段,基于高级部署体系结构创建安装规划,该规划提供安装 Java Enterprise System 软件所需的安装和配置信息。
此安装规划的重点包括:
确定安装的顺序和类型
检查主机以前安装的软件和安装准备情况
收集每个要安装的 Java Enterprise System 组件的配置信息
《Sun Java Enterprise System 2005Q4 安装规划指南》提供了关于如何收集安装规划信息的详细说明。《Sun Java Enterprise System 2005Q4 安装参考》提供了详细的配置信息以及可用于记录此信息的工作表。《Sun Java Enterprise System 2005Q4 安装指南》提供了对涉及多个 Java Enterprise System 组件的通用安装方案的指导。有关更多信息,参阅《Sun Java Enterprise System 2005Q4 安装指南》中的第 1 章 “准备安装”。
Java Enterprise System 部署通常分为两类:一类是主要基于 Java Enterprise System 所提供服务的部署;另一类是需要大量与 Java Enterprise System 服务集成的定制服务的部署。可将前者视作一种 80:20 部署(80% 的服务由 Java Enterprise System 提供),同样可将后者视作一种 20:80 部署。
对于 80:20 部署,通常需在实现阶段开发用于测试的试验性部署。由于 80:20 部署使用的是提供即用性功能的成熟的 Java Enterprise System 服务,因此相对而言,试验性部署从开发、测试和修改步骤,最终进至生产部署阶段的速度较快。试验性部署不仅验证解决方案的功能,还提供关于系统运行状况的信息。
相反,20:80 部署引入了新的定制服务,这些服务不具有 80:20 部署所具有的互操作性历史记录。因此需要创建原型部署,它们是概念验证式部署,通常需要经历更为严格的开发、测试、修改过程,才能进入生产阶段。原型部署可以确定提议解决方案在测试环境中解决问题的效果如何。一旦原型部署论证了其功能完全可以达到要求,即可继续进行更严格的测试,然后进入试验性部署。
实际企业部署所需的定制服务开发的数量会有很大差异。如何使用试验性部署和原型部署进行测试取决于部署的复杂程度和性质。
测试试验性部署和原型部署的目的是,在测试条件下尽可能确定部署是否既能满足系统要求,又可实现业务目标。
理想情况下,功能性测试应基于所有已确定的使用案例模拟各种方案,并且应开发一套标准来衡量符合性。功能性测试还可包含将系统有限地部署给选定的一组试用版用户,以确定其能否满足业务需求。
负载测试衡量在峰值负载下的测量性能。这些测试通常使用一系列模拟环境和负载发生器来衡量数据吞吐量和性能。部署的系统要求通常是设计和通过负载测试的基础。
对于系统要求未经明确定义、没有可作为估量基础的先前实现且需要进行大量全新开发的大型部署,功能性测试和负载测试尤其重要。
通过测试能够发现部署设计规范存在的问题,并可能要经过若干次反复设计、生成和测试,才能向生产环境展开部署。测试原型部署时,可能会发现部署设计中存在问题。在这种情况下,可以重新返回解决方案生成周期的先前阶段,以解决存在的问题。
确保在进入试验性部署前已对部署设计进行了全面测试。试验性部署表示已在前面的一系列测试中验证了部署设计。在试验性部署测试中发现的问题通常必须在部署设计的参数中加以解决。
由于测试永远不可能完全模拟生产环境,并且已部署解决方案的性质会发生演进和改变,因此应继续监视部署的系统,以确定是否有需要调整、维护或修补的部分。
试验性或概念验证部署符合测试标准后,即可向生产环境展开部署。向生产环境展开部署通常分阶段进行。分阶段展开对会影响大量用户的大型部署具有尤其重要的意义。
分阶段部署可以先向一小部分用户部署,然后逐步扩大用户范围,直至将其部署给所有用户。分阶段部署也可这样进行:先部署一定类型的服务,然后逐步引入其余类型的服务。分阶段升级服务有助于隔离、确定和解决服务可能在生产环境中遇到的问题。