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