论混合软件架构设计
摘要
代码语言:javascript
复制 2007年3月,我所在的公司组织开发了一套完整的变电综合信息管理系统,在这个项
目中,我担任系统架构设计师职务,主要负责软件架构和网络安全体系架构设计的工作.
该系统包括变电运行所需的运行记录、图形开票、安全生产管理、生产技术管理、行政管
理、总体信息管理、技术台帐管理、班组建设、学习培训、系统维护等各个业务层次模块.
本文首先简单地分析了 C/S架构和B/S架构各自的优缺点,然后说明了混合C/S架构
和B/S架构的必要性,分析了“内外有别”和“查改有别"两种混合模型,并以变电综合信息
管理系统为例,结合寤情况,讨论了 C/S和B/S混合架构的应用.实践证明,在软件项
目的开发中,使用C/S与B/S混合软件架构,能节省开发和维护成本,使系统具有良好的
开故性,易扩展性,便于转等腕.
正文
代码语言:javascript
复制 典型的软件架构风格有很多,例如,设计图形用户界面常用的■件驱动风格、设计操
作系统常用的层次化设计风格、设计编译程序常用的管道与过滤器风格、设计分布式应用
程序常用的客户机/服务器风格等.一个实用的软件系统通常是几种典型架构风格的组合.
1.项目概述
代码语言:javascript
复制 当前,我国电力系统正在进行精简机构的改革,变电站也在朝无人、少人和一点带面
的枷发展(例如:一个有人值班220KV变电站带若干个无人值班的220KV和110KV变电站),
"减人增效"是必然的趋势,而要很好地达到这个目的,使用一套完善的变电综合值息管理
系统(TSMIS)显得很有必要.2007年3月,笔者所在的公司组织有关力重,针对电力系统变电运
行管理工作的需要,结合变电站运行工作龄,开发了一套完整的交电综合值息管理系统,在
这个项目中,我担任系统架构设计师职务,主要负责软件架构和网络安全体系架构设计的工
作.
TSMIS系统包括变电运行所需的运行记录、图形开票、安全生产管理、生产技术管理,
行政管理、总体信息管理、技术台帐管理、班组建设、学习培训、系统维护等各个业务层次
模块.实际使用时,用户可以根据实际情况的需要选择模块进行自由组合,以达到充分利用变
电站资源和充分发挥系统作用的目的.限于篇幅,在此我们不详细介绍各个模块的功能.
系统的实现釆用Visual C 、Wsual Basic、Visual InierDev和Java语言和开发平台进
行混合编程.服务器操作系统使用Windows 2003 Advanced Server,后库采用SQL Server
2005.系统的实现充分考虑到我国变电站所电压等级的分布,可以适用于大、中、小电压等扱
的变电站所.
2.C/S与B/S的比较分析
代码语言:javascript
复制 C/S 具有强大的数据处理能力和事务处理能力,模型思想简单,易于人们理解和捶受.
但随春企业规模的日益扩大,软件的复杂程度不断提高,C/S架构逐渐暴露了以下缺点:
(1)开发成本较高.C/S架构对客户端软硬件配貫要求较高,増加了整个系统的成本.
(2)客户端程序设计复杂.采用C/S架构进行软件开发,大部分工作宣放在客户端
的程序设计上,客户端显得十分庞大.
(3)软件移植困难.采用不同开发工具或平台开发的软件,一般互不兼容,不能或
很难移植到其它平台上运行.
(4)软件维护和升级稣采用C/S架构的软件要升级,开发人员必须到现场为客户机升级
,每个客户机上的软件都需维护.对软件的一个小小的改动(例如,只改动一个变重),每一
个客户端都必须更新,
B/S架构主要是利用不断成熟的WWW浏览器技术,結合浏览器的多种脚本语言,用
通用浏览器就实现了原来需要复杂的专用软件才能实现的强大功能,并节约了开发成本,
是一种全新的软件架构.基于B/S架构的软件,系统安装、修改和维护全在服务器端解决.
用户在使用系统时,仅仅需要一个浏览器就可运行全部的模块,真正达到了“零客户端”的
功能,很容易在运行时自动升级.B/S架构还提供了异种机、异种网、异种应用服务的联
机、联网、统一服务的最现实的开放性基础.
与C/S架构相比,B/S架构也有许多不足之处,例如:
(1)B/S架构缺乏对动态页面的支持能力,没有集成有效的数据库瞧功能.
(2)B/S架构的系统扩展能力差,安全性难以控制,
(3)采用B/S架构的应用系统,在数据查询等响应速度上,耍域地低于C/S架构.
(4)B/S的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务的处
理和应用
3.C/S与B/S的混合软件架构
代码语言:javascript
复制 传统的C/S架构并非一无是处,而新兴的B/S架构也并非十全十美.由于C/S架构根技术成
熟,原来很多的软件系统都是建立在c/s腳基础上的,因此,B/s架构要想在软件开发中起主导
作用,要走的路还很长.我们认为,C/S腳与B/S架构还将长期共存,其结合方式主要有两种.
下面,我们分别介绍C/S与B/S混合架构的两个模型.
3.1 "内外有别"模型
代码语言:javascript
复制 在C/S与B/S混合架构的“内外有别”模型中,企业内部用户通过局域屈直接访问数据
库服务器,软件系统釆用C/S架构;企业外部用户通过Internet访问Web服务器,通过Web服务
器再访问数据库服务器,软件系统采用B/S架构.
"内外有别"的模型的优点是外部用户不直接访问数据库服务器,能保证企业数据库的相
对安全.企业内部用户的交互性较强,数据查询和修改的响应速度较快.
“内外有别'模型的缺点是企业外部用户修改和維护数据时,速度较慢,较烦琐,数
据的动态交互性不强.
3.2 "查改有别"模型
代码语言:javascript
复制 在C/S与B/S混合软件架构的"查改有别”模型中,不管用户是通过什么方式(局域网或者
Internet)连接到系统,凡是需执行维护和修改数据操作的,就使用C/S架构,如果只是执行
一殷的查询和浏览操作,则使用B/S架构.“查改有别”模型体现了B/S架构和C/S架构的共同优
点.但因为外部用户能直接通过Internet连接到数据库服务鬍,企馈据容易暴露绘外部用户,
给数据安全造成了一定的威胁.
4.应用实例
代码语言:javascript
复制 在设计TSMIS系砌,我们充分考虑到变电站分布管理的需霎,采用C/S与B/S混合架构的
“内外有别”模型,如下图所示.
代码语言:javascript
复制 在TSMIS系统中,变电站内部用户通过局域网直接访问数据库服务器,外部用户(包
括县调、地调和省局的用户及普通Internet用户)通过Internet访问Web服务器,再通过
Web服务器访问数据库服务器.外部用户只需一台接入Internet的计算机,就可以通过
Internet查询运行生产管理情况,无须做太大的投入和复杂的设置.这样也方便所属电业局
及时了解各所的运况,对各变电站的运行生产进调控.此设计能很好地满足用户的需求,符
合可持续发展的原则,使系统有较好的开放性和易扩展性
该系统已经在全国的多个变电站使用,用户反映良好,真正满足了变电管理朝无人、
少人和一点带面发展趋势的需要,提高工作效率、增强准确性,对工作过程中的各种记录
都能详实、准确地记载,减少大童手工重复录入,达到变电站无人、少人值班的目的.
实践证明,在软件项目的开发中,使用C/S与B/S混合明,能节省开发和维护成本,
使系统具有良好的开放性,易扩展性,便于移植等优点.