需求建模 第 2 部分: 构建您的新设计
 

2009-08-14 作者:Michael J. Welsh 来源:IBM

 
本文内容包括:
设计了新体系结构后,您会迫不及待地想进行构建。但开始之前,请看一下在不打断业务的情况下实现计划的最好方法。在“需求建模”系列的第二篇文章(即本文)中,我们将了解让新体系结构从绘图板进入下一个级别——构建——所需的重要步骤。

前一篇文章讨论了如何确定您的体系结构需求。通过这些内容,本文将说明在确定了需求后如何构建新的体系结构。

在本文中,我将继续使用 WidgetCo 的示例,该企业是一家在短时间内发展非常迅速的一家公司。WidgetCo 拥有人数有限但分工明确的 IT 部门,包括网络与服务器团队、开发人员团队和最近增加的帮助台人员。该公司聘请您重新构建体系结构,以满足增长要求和可靠性。

您知道关键所在,获得了相关预算,而且团队已经准备好了。接下来让我们开始构建工作吧!

技能和能力

您手边有体系结构内需要马上处理的问题的列表。尽管并没有获得想要的所有东西,但已经获得了足够的预算,可以满足极大改善总体体系结构的安全性和可靠性的需求。

需求概述

通过研究,您发现了 WidgetCo 的网络中多处低效的情况。首先,您必须处理缺乏安全性的问题。您可以通过购买具有隔离区(DeMilitarized Zone,DMZ)、入侵防御系统(Intrusion Prevention System,IPS)功能、深度数据包检查和负载平衡的防火墙快速处理这种情况。替换现有防火墙将导致服务中断,因此告知经理需要暂时封锁,并安排启动 Internet 通信进行更改的时间。

第二个大问题是缺乏冗余。如果某台服务器出现故障,其上的数据在服务器恢复之前都不能访问。另外,公司需要处理由各种内部和外部应用程序访问的数千兆字节数据。WidgetCo 决定将尽可能多的数据库整合到一个 Microsoft® SQL Server 集群中对这两个冗余性问题的常见解决方案是使用存储区域网络(Storage Area Network,SAN)。SAN 将保护独立磁盘冗余阵列 (RAID) -5、加速本地驱动器并能够对增长进行处理。新的 SAN 将作为文件服务器和 SQL 服务器的后端。WidgetCo 将对旧设备进行重新部署,将其用于开发测试和其他重要性较低的系统。

以下是新设备列表:

  • 两台应用服务器(加入集群)
  • 两台 SQL Server 计算机(加入集群)
  • 两台文件服务器
  • 两台 Active Directory 服务器
  • 一个 SAN
  • 一个防火墙

现在您已经有了一些要启动的项目,接下来就要决定其最佳的推出方式。作为架构师,您将会承担项目管理的任务,负责创建重要活动时间安排。确定时间安排时,请考虑以下目标:

  • 投标与定价:与供应商讨论各个选项,并开始寻找最佳价格。
  • 采购:购买!
  • 交付:等待新设备送到可能是这个过程中最让人痛苦的部分,但应该使用这段时间来准备空间和应用程序。
  • 检测:新设备送到后,请对其进行检查和测试。是否是您订购的设备,是否能正常工作?
  • 安装:加载操作系统,安装机器制造之后推出的任何更新,并将其安装在机架上。
  • 测试:测试和重新测试。然后,再次对其进行测试。
  • 部署:进行部署!
  • 再次测试:是的,部署后的测试非常重要。

让您的专家确定最佳的价格,并根据支付条款处理会计帐目。保持团队间沟通的畅通。服务器团队应该就服务器需求(如处理器速度、内存和硬盘空间)与开发人员团队进行沟通。开发人员反过来需要知道应用程序将产生什么样的负载。

迁移到新数据模型

从定价到交付的各个阶段中,让您的开发团队开始了解如何对分散在整个公司内的各种应用程序数据库进行整合。很多第三方应用程序都在其网站上发布了简单易用的演练。对于内部应用程序,您的开发人员可能需要制定特定的迁移计划。

组合数据

在 WidgetCo,开发人员已经决定采用 SQL Server 平台进行构建,因为此平台能够与多个第三方应用程序兼容。虽然其大部分第三方应用程序都已经在使用 SQL Server 了,但货运和仓储应用程序都在公司的 IBM AS/400® 系统上运行,并由一家提供商提供服务。在此阶段对这些应用程序进行转换将带来很大的开销,因此将不会对其进行处理。另外,AS/400 系统已经被证明极为可靠,因此并不需要急着进行更改。

构建网络

设备送达时,需要将 WidgetCo 的数据中心准备好。让您的服务器负责人安装新服务器和 SAN。他们应该继续与开发人员沟通,以确定内存或硬盘需求是否发生了变化,或者是否需要特定的驱动程序。安装硬件并进行测试后,让开发团队接手下一步的工作。但要安排一名服务器管理员作为其联系人。

传输数据

对开发人员而言,将结构化查询语言(Structured Query Language,SQL)数据传输到集群可能是最简单的任务,因为可以使用大量工具和选项将数据从一种数据库类型转换为另一种数据库类型。对应用程序进行更改将是比较麻烦的部分,因为每个应用程序都可能具有自己独特的数据库连接方式。有些可能使用开放数据库连接(Open Database Connectivity,ODBC)打开,而有些则在配置文件中设置。软件发布者的网站或支持热线应该能够告知您如何更改应用程序的数据库源。

现在 WidgetCo 的数据在新服务器上加载,而且可以对应用程序进行更改,接下来就要进行再次测试了。让关键用户测试每天、每周和每月会用到的应用程序功能。是否能正确计算工资单?会计程序是否应用了正确的税率?是否能够打印发票?另外,还要考虑将一次性迁移多少应用程序。仔细权衡利弊。一次性完成所有工作可能很方便,但如果出现重大问题,则存在需要关闭对所有应用程序的访问的风险。一次性迁移一个应用程序可能比较缓慢,但可以从出现的问题总结经验教训。迁移第一个应用程序所得到的经验教训可以在进行其他应用程序迁移时使用。到迁移最后一个应用程序的时候,出错的几率将非常小了。

与用户就即将进行的应用程序更改进行沟通。确立一个截至日期和时间,在这之后就不能更改旧服务器上的信息了。到达截至日期时,请确保所有用户都完成了当前工作,然后通过关闭数据库服务或从网络断开数据库来断开对服务器的访问。

所计划的更改的复杂性将决定如何进行更改。例如,您可以通过向用户登录脚本添加简单的脚本来替代中央服务器的文件,从而更改配置文件。如果此过程比较复杂,而且不能实现自动化,则请考虑让帮助台和工作站技术人员进行数小时的处理来进行更改。进行了更改并测试之后,帮助台人员应该准备好帮助用户处理可能出现的任何问题。

工具和技术

WidgetCo 的新体系结构包括两个方面:软件需求和硬件需求。此部分将分开处理这些需求,因为可能将由不同的团队处理每个方面的实际工作。

软件需求

在 WidgetCo 的项目示例中,组建 SQL Server 计算机集群需要特殊许可和一些特别注意事项。尽管软件可以使用很多工具和向导来组建服务器集群,但专家数据库管理员(DataBase Administrator,DBA)可以帮助处理各种意外问题。如果人员中没有经过认证的 DBA,请从 IBM 的专家咨询师中找一位。他们经验丰富,可帮助您避免费时的常见错误。他们还可以就设置和常规维护对您的员工进行培训。

硬件需求

在 WidgetCo,数据中心已经与各种品牌的服务器硬件构成了集群。尽管这样做可能会在短期内产生经济效益,但服务器故障处理起来非常费时,而且还可能会因为多个品牌造成额外问题。您希望使用单个硬件提供商,但在进行任何决策之前,请找到每个提供商的服务电话,试着了解每台计算机的保修时间并确定每个提供商的服务速度如何。

WidgetCo 已经决定采用 IBM 服务器作为标准配置。因为空间有限,公司打算购买 IBM BladeCenter® 系统,计划将其与新的 IBM SAN 结合使用。这个强大的组合可提供可靠的增长选项。

里程碑

构建体系结构过程中的里程碑有:

  • 沟通——不仅包括与团队的沟通,还包括将受到更改影响的所有用户。
  • 优化项目。
  • 让您的专家接手。
  • 从大处着眼,不当“近视眼”。为下个月、下一年或接下来两年设定目标。

结束语

推出新体系结构充满了挑战。但通过谨慎的计划、良好的沟通和积极的态度,可以让这一切都变得很容易。

参考资料

学习 获得产品和技术
  • 下载 IBM 产品评估版,获得来自 DB2®、Lotus®、Rational®、Tivoli® 和 WebSphere® 的应用程序开发工具和中间件产品。
讨论

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织