|
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
[这个贴子最后由周华在 2003/04/03 07:20pm 编辑]
国防科技大学王怀民
基于Internet的网络信息系统是一个不断成长的“生态”系统,“可成长性”则成为Internet环境下网络计算的基本特征。因此,如何在无法预知未来的情况下构建可成长的网络计算系统是我们今天面临的挑战。
“烟囱”与“一体化”一种观点认为我国网络应用的历史不长,规模不大,没有发达国家那么多“烟囱”,因此易于在一体化设计的指导下开发网络计算系统,但实际情况并非如此。例如,电信、邮政、社保等领域的网络信息系统的开发者在做“三互(即互连、互通、互操作)”的需求调研时就遇到困难:用户提不出具体需求。这也难怪,因为用户连局部应用的体会还没有,何来综合集成的需求呢?在这种情况下,用户往往是先开发当时能够讲清楚的局部系统,然后再考虑各局部系统的集成问题。由此看来,我们在网络计算系统方面虽然没有发达国家那么多“烟囱”,但同时也缺乏一体化建设的深入需求和经验。这是否意味着我们一定要走先建“烟囱”的老路呢?
回答和解决这些问题需要深入研究Internet环境下网络计算的特点,遵从网络计算系统建设的一般规律。
“无木不言林,孤木不成林”网络计算系统是把分布各处的多个局部自治的系统通过网络集成在一起,以实现资源(包括信息、应用和计算资源)的广泛共享。网络计算系统需要解决的问题就是如何将各局部自治的应用系统联合成为能够发挥综合效能的大系统。因此,没有多个自治的局部系统,也就无所谓网络计算系统,或者说,人们也就提不出所谓广泛共享性的需求。但这并不意味着我们一定要走先建“烟囱”再拆“烟囱”的老路,我们的观点是“植树造林”,在“造林(建设网络计算系统)”的目标引导下“植树(开发局部系统)”,让网络计算系统“成长”起来。
“木在壤中生,林在地上长”那么如何使今天栽下的“树”长大之后不至于成为“孤木”,免遭“砍伐”之灾或免受“移植”之苦呢?一个简单的办法是将所有的“树”栽在同一块土地上。对于网络计算系统而言,首先就是将各自独立的局部系统建立在公共平台上。
基于以上对网络计算系统建设规律的认识,我们认为,网络计算系统的设计应该遵循“可成长性”原则,即所谓“如何栽树,使之成林”的设计。
可成长性设计原则所谓一个系统是可成长的是指该系统在一定条件下具有“可代谢性”和“可生长性”。系统的可代谢性特指系统的组成部分可以更新;系统的可生长性指系统的组成成分可以不断增加。这里的“一定的条件”可以是投入/产出、时效、技术或功能等因素。
回顾计算机技术的发展历程,许多有生命力的计算系统都具有某种可成长性,其中的关键技术也因此成为主流技术,人们熟知的有以下一些:
●面向对象的应用系统面向对象的应用系统由若干接口清晰的对象组成,对象的封装特性使应用系统的组织成分易于替换、升级和重用。基于对象技术的构件/构架技术的发展使得应用系统具有更灵活的扩展能力。面向对象的分析、设计和程序设计方法、工具成为开发可成长的网络计算系统的主流技术。
●基于层次结构的网络系统网络系统的层次模型要求下层构件为上层构件提供标准的服务接口,上层通过下层构件的标准接口请求服务,因此,只要保持各层的接口不变,下层构件内部机制的变化(如协议构件的变化)不会对上层构件产生大的影响,这使得网络系统的代谢成本较低,易于应用生长。这种层次结构已经被许多系统采用,成为提高系统代谢能力和生长能力的主流技术。
●基于客户/服务器模型的分布式应用系统客户/服务器模型将分布式应用系统的数据管理逻辑与应用及表现逻辑分开,前者部署在服务器上,后者部署在客户机上。客户应用通过标准接口共享服务器上的数据。该模型使客户数可以充分扩展,而服务器及数据库管理系统的升级也不会影响分布在各地的客户的正常工作。
●基于WWW技术的Internet信息系统标准HTML文件格式使任何HTML浏览器可以解释丰富多彩的HTML页面,标准的HTTP协议使浏览器可以与任何HTTP服务器交互,统一的URL地址格式使用户可以透明地访问网络上任何HTTP服务器管理的页面。WWW技术使任意的HTTP服务器或HTML浏览器可以在任何时候加入系统。WWW技术使Internet迅速成长为新型媒体。
基于历史的分析,我们可以梳理出网络计算系统可成长性设计的若干原则:
可继承性原则一个寿命很短的系统不是可成长的系统。这一原则要求网络计算系统的组成成分之间具有较好的兼容性和可重用性。
可替换性原则可替代性是保证系统可代谢能力的基础。这一原则要求网络计算系统的组成成分局部性好,升级或移植的成本低,对系统其他成分的影响小。
可扩展性原则可扩展性是保证系统可生长能力的基础。这一原则要求网络计算系统的组成成分之间有较好的“三互”,尤其需要动态组合与配置能力。
根据以上原则,网络计算系统的可成长性设计应该重视以下技术途径:
层次化系统设计需要将环境相关的部分与环境无关的部分置于不同的层次,以使系统能够比较方便地适应环境的变化,并尽可能多地重用已有成分;另外需要将领域相关和领域无关的成分置于不同的层次,以便共享或重用公共服务,或在公共平台上扩展功能。
构件化系统每一个层次应该由若干可重用、易替换的构件组成。
局部化系统的层次之间应该接口清晰,各层次之间、构件之间的关联完全通过标准接口,不应涉及实现细节和其他环境因素。
标准化采用标准,特别是采用被广泛接受的工业标准对于系统构件的可重用性、可移植性和互操作性具有重要的基础性作用。
案例分析这里,我们分析一种当前主流的支持网络计算系统可成长性的二维体系结构,其中一维是层次化的平台体系结构,另一维是三层应用体系结构(图1)。
|
|