<p> 2007年3月,我所在的公司组织开发了一套完整的变电综合信息管理系统,在这个项目中,我担任系统架构设计师,主要负责软件架构和网络安全体系架构设计的工作。该系统包括变电运行所需的运行记录、图形开票、安全生产管理、生产技术管理、行政管理、总体信息管理、技术台帐管理、班组建设、学习培训、系统维护等各个业务层次模块。<br> 本文首先简单地分析了C/s架构和B/S架构各自的优缺点,然后说明混合C/S架构和B/S架构的必要性,分析“内外有别”和“查改有别”两种混合模型,并以变电综拿信息管理系统为例,结合实际情况,讨论了C/s和B/S混合架构的应用。实践证明,在软件项目的开发中,使用C/S与B/S混合软件架构,能节省开发和维护成本,使系统具有良好的开放性、易扩展性、易移植性等优点。<br> 正文:<br> 典型的软件架构风格有很多。例如,设计图形用户界面常用的事件驱动风格、设计操作系统常用的层次化设计风格、设计编译程序常用的管道与过滤器风格、设计分布式应用程序常用的客户机/服务器风格等。一个实用的软件系统通常是几种典型架构风格的组合。<br> 1.项目概述<br> 当前,我国电力系统正在进行精简机构的改革,变电站也在朝无人、少人和一点带面的方向发展(如一个有人值班220kV变电站带若干个无人值班220kV和110kV变电站),“减人增效”是必然的趋势,而要很好地达到这个目的,使用一套完善的变电综合信息管理系统(TSMIS)显得很有必要。2007年3月,笔者所在的公司组织有关力量,针对电力系统变电运行管理工作的需要,结合变电站运行工作经验,开发了一套完整的变电综合信息管理系统,在这个项目中,我担任系统架构设计师,主要负责软件架构和网络安全体系架构设计的工作。<br> TSMIS系统包括变电运行所需的运行记录、图形开票、安全生产管理、生产技术管理、行政管理、总体信息管理、技术台账管理、班组建设、学习培训、系统维护等各个业务层次模块。实际使用时,用户可以根据实际情况的需要选择模块进行自由组合,以达到充分利用变电站资源和充分发挥系统作用的目的。限于篇幅,在此,我们不详细介绍各模块的功能。<br> 系统的实现采用VisualC++、VisualBasic、VisualInterDev和Java语言和开发平台进行混合编程。服务器操作系统使用Windows2003AdvancedServer,后台数据库采用SQLServer2005。系统的实现充分考虑到我国变电站(所)电压等级的分布,可以适用于大、中、小电压等级的变电站(所)。<br> 2.C/S与B/S的比较分析<br> C/S架构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。但随着企业规模的日益扩大,软件的复杂程度不断提高,C/S架构逐渐暴露了以下缺点:<br> (1)开发成本较高。C/S架构对客户端软硬件配置要求较高,增加了整个系统的成本。<br> (2)客户端程序设计复杂。采用C/S架构进行软件开发,大部分工作量放在客户端的程序设计上,客户端显得十分庞大。<br> (3)软件移植困难。采用不同开发工具或平台开发的软件,一般互不兼容,不能或很难移植到其他平台上运行。<br> (4)软件维护和升级困难。采用C/S架构的软件要升级,开发人员必须到现场为客户机升级,每个客户机上的软件都需维护。对软件的一个小小改动(例如,只改动一个变量),每一个客户端都必须更新。<br> B/S架构主要是利用不断成熟的WWW浏览器技术,结合浏览器的多种脚本语言,用通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件架构。基于B/S架构的软件,系统安装、修改和维护全在服务器端解决。用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的功能,很容易在运行时自动升级。B/S架构还提供了异种机、异种网、异种应用服务的联机、联网、统一服务的最现实的开放性基础。<br> 与C/S架构相比,B/S架构也有许多不足之处,例如:<br> (1)B/S架构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。<br> (2)B/S架构的系统扩展能力差,安全性难以控制。<br> (3)采用B/S架构的应用系统,在数据查询等响应速度上,要远远地低于C/S架构。<br> (4)B/S架构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。<br> 3.C/S与B/S混合软件架构<br> 传统的C/S架构并非一无是处,而新兴的B/S架构也并非十全十美。由于C/S架构根深蒂固,技术成熟,原来的很多软件系统都是建立在C/S架构基础上的,因此,B/S架构要想在软件开发中起主导作用,要走的路还很长。我们认为,C/S架构与B/S架构还将长期共存,其结合方式主要有两种。下面分别介绍C/S与B/S混合架构的两个模型。<br> (1)“内外有别”模型<br> 在C/S与B/S混合架构的“内外有别”模型中,企业内部用户通过局域网直接访问数据库服务器,软件系统采用C/S架构;企业外部用户通过Internet访问Web服务器,通过Web服务器再访问数据库服务器,软件系统采用B/S架构。<br> “内外有别”模型的优点是外部用户不直接访问数据库服务器,能保证企业数据库的相对安全。企业内部用户的交互性较强,数据查询和修改的响应速度较快。<br> “内外有别”模型的缺点是企业外部用户修改和维护数据时,速度较慢,较烦琐,数据的动态交互性不强。<br> (2)“查改有别”模型<br> 在C/S与B/S混合软件架构的“查改有别”模型中,不管用户是通过什么方式(局域网或Internet)连接到系统,凡是需执行维护和修改数据操作的,就使用C/S架构;如果只是执行一般的查询和浏览操作,则使用B/S架构。<br> “查改有别”模型体现了B/S架构和C/S架构的共同优点。但因为外部用户能直接通过Internet连接到数据库服务器,企业数据容易暴露给外部用户,给数据安全造成了<br> 一定的威胁。<br> 4.应用实例<br> 在设计TSMIS系统时,我们充分考虑到变电站分布管理的需要,采用C/S与B/S混合架构的“内外有别”模型,如图21-4所示。<img src="http://que-oss.fenziquan.com/web/akimg/asource/2016091908353972159.gif"><br> 在TSMIS系统中,变电站内部用户通过局域网直接访问数据库服务器,外部用户(包括县调、地调和省局的用户及普通Internet用户)通过Internet访问Web服务器,再通过Web服务器访问数据库服务器。外部用户只需一</p>