系統架構師論文-論混合軟件架構設計
論混合軟件架構設計
摘要
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混合明,能節省開發和維護成本, 使系統具有良好的開放性,易擴展性,便於移植等優點.