钏助仁
摘 要 监控类软件作为电厂实现生产、运行、管理自动化的重要部分,为电厂实现生产运行设备自动监视、自动控制、生产、运行、管理信息自动交换、快速发布起着重要的作用,但随着电厂对生产运行需求越加规范及C/S架构本身存在的问题,采用C/S架構搭建的监控类软件已经无法适应新时期的要求,出现了一些亟待解决的问题,而另一方面,电厂监控类软件中采用B/S架构搭建的软件越发凸显其优越性,如软件更新比较容易、使用比较简单、数据维护更新简单快捷、软件故障率低、运行时间长等,因此,将C/S架构的软件迁移至B/S架构的软件成了电厂解决当前存在的问题的一种经济、有效的手段。本文就架构迁移进行探讨其可行性。
【关键词】C/S B/S 监控类软件 迁移评价体系 无缝迁移 逆向工程再造
1 论文研究的目的及意义
监控类软件作为电厂实现生产、运行、管理自动化的重要部分。为电厂实现生产运行设备自动监视、自动控制;为生产、运行、管理信息自动交换、快速发布起着重要的作用。这些软件的部署确实使电厂生产、运行、管理信息化的水平得到了提高,为电厂提高了生产过程的效率与安全性,提高了运行管理的及时性、全面性、准确性,减少了人力资源成本、维护成本、管理成本。但随着电厂对生产运行需求由粗放式、手工式向精细化、自动化的转变,以及日趋规范化的生产运行管理对软件的可靠性、可维护性提出了更高的要求,电厂监控类软件中按照以前C/S架构搭建的软件已经无法适应新时期的要求,出现了一些亟待解决的问题,如:资源消耗率越来越高、进程阻塞现象频频出现、数据更新越发困难、数据垃圾难于清理、维护责任越发不合理、使用越来越不方便等;而另一方面,电厂监控类软件中采用B/S架构搭建的软件越发凸显其优越性,如软件更新比较容易、使用比较简单、数据维护更新简单快捷、软件故障率低、运行时间长等,因此,将电厂C/S架构的监控类软件迁移至B/S架构,就成为了解决上述问题的一种可行方法。
但是,是否所有的监控类软件都适合采用B/S架构?是否当前的监控类软件都具有迁移的可能性?具有迁移可能性的软件迁移后是否能确确实实解决迁移前存在的问题?需要迁移的软件采用何种方式进行迁移、其迁移方案是什么?迁移后的软件会带来哪些优势?这些就是本文所要探讨的内容。
2 C/S和B/S架构介绍和优缺点比较
C/S和B/S是两种截然不同的软件架构,两者所涉及的适用范围、开发技术、管理模式和运行方法都存在较大的差异,软件系统在两者之间的迁移存在较大的难度,是一个系统性的工程。因此,在系统迁移初期必须做好系统迁移的可能性分析工作,了解C/S和B/S架构的相关知识,把握两者间存在的技术特点、适用范围和应用差异,解决系统迁移中涉及的技术、难点、工作量、资源配置和步骤等问题,以提高系统迁移的成功率。
2.1 C/S架构相关知识介绍
C/S(Client/Server)结构即客户机与服务器结构。是软件系统体系结构,具有很强的通信处理能力和图像处理能力。但无论是二层网络结构还是三层结构,必需在客户端安装相应软件,需要客户端的人为干预,加之软件产品的更新换代十分快。所以系统存在伸缩性差和维护工作量大的缺点。
2.2 B/S架构相关知识介绍
B/S(Browser/Server)结构即浏览器/服务器结构。Web方式是基于广域网,通过网页发送信息,所有与系统有关信息都可以通过浏览器访问方式获取(极少部分事务逻辑在前端实现),提升系统的可伸展性和降低客户端维护量。
2.3 C/S和B/S架构的比较
C/S与B/S是过去10年世界开发模式技术架构的两大主流技术,两种技术本身存在许多的优点,都拥有一定的市场份额和客户群,但随着技术的不断发展和主流应用向B/S或更高级的ERP、中间件技术倾斜,C/S架构开始走上了下坡路。
2.3.1 C/S架构的优势与劣势
(1)应用服务器运行数据负荷较轻。最简单的C/S体系结构的数据库应用由两部分组成:客户应用程序(前台程序)和数据库服务器程序(后台程序)。运行前台程序的机器称为客户电脑,运行后台程序的机器称为应用服务器。如需要对数据库中的数据进行操作时,客户程序会自动寻找服务器程序,向它发出请求,服务器程序根据事先预定的规则作出应答,送回结果,所以应用服务器运行数据负荷较轻。
(2)数据的储存管理功能较为透明。数据库中数据的储存管理功能,是由客户机和服务器分别独立进行的。对于工作在前台程序上的最终用户,是“透明”的,他们无须过问背后的过程,就可以完成自己的一切工作。但在C/S体系下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。
(3)C/S架构的劣势是维护成本高且投资大。首先,如果需要建立两地间的“实时”数据同步,就必须在它们之间建立实时的通讯连接,才能保持两地的数据库服务器在线运行,这样网络管理人员要同时对服务器与客户端维护管理,这需要复杂的技术支持和高昂的投资。其次,传统C/S架构的软件需要针对不同的操作系统开发不同的版本,由于软件的更新换代快,导致高代价和低效率。以此同时在JAVA语言出现之后,B/S架构更加猛烈冲击C/S。
2.3.2 B/S架构的优势和劣势
(1)简化了客户端。B/S架构的软件只需管理服务器,不同的客户机上无需再安装不同的应用程序,所有的客户端只是浏览器。
(2)简化了系统的开发和维护。系统的开发者不需要再为不同级别的用户开发不同的应用程序,所有的功能都能在服务器上实现,只要为不同级别的用户设置不同的权限,不需要再对客户端做任何维护。
(3)客户端操作变得更简单。客户端只是一个简单易用的浏览器,使用者无需接受任何专门的培训就可以直接使用。
(4)成本降低,选择更多。在服务器操作系统上可以选择windows或Linux,都不影响客户端运行。其中Linux安全性高、免费(包括数据库也是免费)。
(5)应用服务器运行数据负荷较重。B/S架构管理软件只需安装在服务器端,所有用户的大部分需求都通过浏览器在服务器端实现。所以应用服务器运行数据负荷很重,一旦发生服务器“崩溃”等问题,后果不堪设想。為此许多用户都有备份,以防万一。
2.3.3 C/S与B/S架构优缺点比较
总结以上介绍,我们可以得出如表1所示的C/S架构和B/S架构优劣分析表。
2.4 C/S迁移至B/S架构的难点
根据金蝶软件、IBM、Amazon公司在过去10年实施C/S至B/S架构的案例情况,本文认为,C/S迁移至B/S架构至少存在以下两个难点:
2.4.1 C/S客户端能否部署在服务器
采用C/S架构的系统,其客户端和服务器端承担了相当的业务处理工作,因此,如何将客户端中承担业务处理的程序迁移至服务器?能否无缝迁移至服务器?迁移的工作量有多大?迁移后的程序能否和服务器端程序整合?这些就是C/S客户端在迁移过程中会遇到的难点问题。
2.4.2 B/S架构能否达到C/S客户端的性能
由于C/S中显示部分由客户端承担,因此,C/S能有效调用本地资源,提供高质量、高速度、快速响应的客户端显示界面,而B/S架构虽然由性能强劲的服务器承担几乎所有的业务处理工作,但由于采用浏览器(Brower)作为客户端,其本身的HTML语言自身存在的表现力不足、接口不够强壮、反应不够灵敏和缺乏趣味性的表现力能否达到C/S客户端的显示效果、响应速度?能否提供用户与C/S客户端媲美的使用体验?是C/S迁移至B/S架构的过程中遇到的又一个难题。
3 迁移方案设计
3.1 无缝迁移
监控类软件迁移至服务器,其三个组成部分,一是系统所用的数据库,二是用驱动程序,三是用客户端,均可无需太多修改的迁移至windows服务器,然后用ASP或PHP编写网页查询页面,将该数据库中的历史数据和当前数据传至网页页面进行显示,此方案只需修改数据库的配置文件,增加一个网页查询程序,即可完整的实现原监控类软件系统的所有功能,迁移时间短、工作量小,但由于程序内部没有进行重构或优化,原有的进程阻塞、数据结构不合理、数据大量冗余、数据更新不方便等问题依然存在,同时由于业务处理工作仍由客户端完成,服务器资源利用率不高,系统与服务器整合度不足反而降低了系统的运行效率。
3.2 部分代码重用的逆向工程再造
逆向工程再造是软件工程的一个重要的软件开发思想,其通过对系统源代码、界面和部分文档的逆向思考,提取出该系统的需求说明,构造出系统的内部数据结构,分析出系统的数据库设计,给出系统的类、模块、方法等技术说明,然后在这些逆向文档的基础上对系统进行重新开发,开发过程中重用原系统的部分代码和设计方法,能有效整合和优化新系统与新平台的资源,提升新系统的运行效率,解决原系统存在的诸多问题,但由于要进行逆向构造,对技术人员的要求比较高,开发周期较长。
4 总结和展望
B/S架构虽然比C/S架构有着更多的优越性,但B/S架构也存在着一些问题,如B/S架构采用浏览器交换数据,由于浏览器本身安全性需要第三方安全软件的保护,因此,采用B/S架构的系统安全性不如C/S高;其次,B/S架构在当前虽然已经采用了许多提高交互度的技术,如Ajax,但和C/S一整套的客户应用相比还是太有限;再次,B/S的响应速度也暂无法和C/S相比。
对于电厂而言,信息的安全性和可靠性远高于技术的先进性,因此,不能单纯的将B/S架构视为监控类软件的首选,而应该结合系统的应用范围、安全要求、性能要求等进行综合判断,选择最合适的系统架构。就如德国的架构大师Frank Buschman所说的一样:没有一种架构是万能的。
随着新一代的开发架构,如ERP、中间件、云架构等技术的兴起,以及新的客户端交互技术的出现,B/S架构会慢慢吸收众家之所长,不断完善,使自身被更多的用户所喜爱。
参考文献
[1]Gerard Bimont.火力发电厂电子监控技术[J].华东电力,2008(02):41-43
[2]王清,赵辉等.基于B/S、C/S模型协调控制的电厂远程监控系统研究[J].天津理工大学学报,2009(10):36-38.
[3]佟鹏,高建强等.基于B/S模式的电厂性能监测系统研究[J].热力发电,2003(10):67-69.79.
[4]郭小宝,王爽心.基于B/S结构的电厂经济指标在线监测系统[J].自动化博览,2005(05):56-58.
[5]Xu Zhigao,Gao Zhengping,Si Fengqi.Real-Time Information System of Power PlantBased on B/S Computing Mode[J].Journal of Southeast University(English Edition),2002(01):80-83.
作者单位
德宏师范高等专科学校 云南省德宏傣族景颇族自治州芒市 678400