系統架構師論文-論混合軟件架構設計

  • 2019 年 10 月 26 日
  • 筆記

論混合軟件架構設計

摘要

    2007年3月,我所在的公司組織開發了一套完整的變電綜合信息管理系統,在這個項  目中,我擔任系統架構設計師職務,主要負責軟件架構和網絡安全體系架構設計的工作.  該系統包括變電運行所需的運行記錄、圖形開票、安全生產管理、生產技術管理、行政管  理、總體信息管理、技術台帳管理、班組建設、學習培訓、系統維護等各個業務層次模塊.      本文首先簡單地分析了 C/S架構和B/S架構各自的優缺點,然後說明了混合C/S架構  和B/S架構的必要性,分析了「內外有別」和「查改有別"兩種混合模型,並以變電綜合信息  管理系統為例,結合寤情況,討論了 C/S和B/S混合架構的應用.實踐證明,在軟件項  目的開發中,使用C/S與B/S混合軟件架構,能節省開發和維護成本,使系統具有良好的  開故性,易擴展性,便於轉等腕.

正文

    典型的軟件架構風格有很多,例如,設計圖形用戶界面常用的■件驅動風格、設計操  作系統常用的層次化設計風格、設計編譯程序常用的管道與過濾器風格、設計分佈式應用  程序常用的客戶機/服務器風格等.一個實用的軟件系統通常是幾種典型架構風格的組合.

1.項目概述

    當前,我國電力系統正在進行精簡機構的改革,變電站也在朝無人、少人和一點帶面  的枷發展(例如:一個有人值班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的比較分析

    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的混合軟件架構

    傳統的C/S架構並非一無是處,而新興的B/S架構也並非十全十美.由於C/S架構根技術成  熟,原來很多的軟件系統都是建立在c/s腳基礎上的,因此,B/s架構要想在軟件開發中起主導  作用,要走的路還很長.我們認為,C/S腳與B/S架構還將長期共存,其結合方式主要有兩種.  下面,我們分別介紹C/S與B/S混合架構的兩個模型.
3.1 "內外有別"模型
    在C/S與B/S混合架構的「內外有別」模型中,企業內部用戶通過局域屈直接訪問數據  庫服務器,軟件系統釆用C/S架構;企業外部用戶通過Internet訪問Web服務器,通過Web服務  器再訪問數據庫服務器,軟件系統採用B/S架構.      "內外有別"的模型的優點是外部用戶不直接訪問數據庫服務器,能保證企業數據庫的相  對安全.企業內部用戶的交互性較強,數據查詢和修改的響應速度較快.      「內外有別'模型的缺點是企業外部用戶修改和維護數據時,速度較慢,較煩瑣,數  據的動態交互性不強.
3.2 "查改有別"模型
    在C/S與B/S混合軟件架構的"查改有別」模型中,不管用戶是通過什麼方式(局域網或者  Internet)連接到系統,凡是需執行維護和修改數據操作的,就使用C/S架構,如果只是執行  一殷的查詢和瀏覽操作,則使用B/S架構.「查改有別」模型體現了B/S架構和C/S架構的共同優  點.但因為外部用戶能直接通過Internet連接到數據庫服務鬍,企饋據容易暴露繪外部用戶,  給數據安全造成了一定的威脅.

4.應用實例

    在設計TSMIS系砌,我們充分考慮到變電站分佈管理的需霎,採用C/S與B/S混合架構的  「內外有別」模型,如下圖所示.
    在TSMIS系統中,變電站內部用戶通過局域網直接訪問數據庫服務器,外部用戶(包  括縣調、地調和省局的用戶及普通Internet用戶)通過Internet訪問Web服務器,再通過  Web服務器訪問數據庫服務器.外部用戶只需一台接入Internet的計算機,就可以通過  Internet查詢運行生產管理情況,無須做太大的投入和複雜的設置.這樣也方便所屬電業局  及時了解各所的運況,對各變電站的運行生產進調控.此設計能很好地滿足用戶的需求,符  合可持續發展的原則,使系統有較好的開放性和易擴展性      該系統已經在全國的多個變電站使用,用戶反映良好,真正滿足了變電管理朝無人、  少人和一點帶面發展趨勢的需要,提高工作效率、增強準確性,對工作過程中的各種記錄  都能詳實、準確地記載,減少大童手工重複錄入,達到變電站無人、少人值班的目的.      實踐證明,在軟件項目的開發中,使用C/S與B/S混合明,能節省開發和維護成本,  使系統具有良好的開放性,易擴展性,便於移植等優點.