淺談供熱管理軟件BS架構(gòu)和CS架構(gòu)的優(yōu)劣
抽時間寫這篇文章,完全是由于業(yè)務(wù)經(jīng)理在碰到一些競爭對手在描黑BS架構(gòu)的供熱管理軟件時而不知所措。我想有必要給我們的業(yè)務(wù)人員做一下掃盲,同時也可以幫助更多供熱企業(yè)選擇更有可能代表未來和先進的管理軟件架構(gòu)。
從發(fā)展軌跡來說,BS是人們對CS的不滿積累到一定程度,才被發(fā)明出來的,是大趨勢。而且隨著移動互聯(lián)和云計算發(fā)展,絕大部分CS管理軟件肯定會被淘汰掉。
從應(yīng)用場景來說,CS一般來說只適合局域網(wǎng)內(nèi)部使用,而BS可以架構(gòu)于任何網(wǎng)絡(luò)。
從應(yīng)用單位來說,供熱行業(yè)信息化嚴(yán)重落后于其他行業(yè),選用應(yīng)用簡潔易用的BS軟件才能更加有效推進企業(yè)信息化工作。
用來編制CS管理軟件的編程語言,早已江河日下
首先我們來了解一下各種語言的發(fā)展趨勢和排行榜,可以看到排名前十的語言中,沒有一種是用來開發(fā)CS管理軟件的,其中8種語言(Java,C#,Python,PHP,Visual Basic .NET,JavaScript,Perl,Ruby)主要就是面向BS架構(gòu)軟件的語言,剩下的兩種語言(C,C++)也不是應(yīng)用于CS管理軟件,而主要面向游戲、科學(xué)計算、網(wǎng)絡(luò)通信軟件、操作系統(tǒng)、設(shè)備驅(qū)動程序、嵌入式系統(tǒng)等。
在2015年編程語言排名中,我們可以看到CS軟件的主打開發(fā)語言VB和Delphi Pascal已經(jīng)排到了17名和20名,加起來才不到2%的市場占有率,而十多年前卻是占據(jù)著10%以上,最讓人看不到未來的是VB和Delphi的廠商已經(jīng)不再提供正式支持了。
因此,若是選擇CS管理軟件,會導(dǎo)致未來的升級和維護都可能會是問題,一方面因為該編程語言和相關(guān)的組件已經(jīng)不再往前發(fā)展和創(chuàng)新了,另一方面是國內(nèi)學(xué)院和學(xué)生根本沒有人去學(xué)了,大家都去學(xué)習(xí)互聯(lián)網(wǎng)或移動端的開發(fā)語言了。
市面上CS的管理軟件正越來越少
企業(yè)管理軟件目前已經(jīng)是BS在主導(dǎo)天下了。
十幾年前所有管理軟件都是基于CS架構(gòu)開發(fā)的,包括用友用VB開發(fā)的財務(wù)軟件,金蝶也是用VB開發(fā)的管理軟件,當(dāng)時還有和VB并駕齊驅(qū)的Delphi開發(fā)平臺(Borland公司擁有)。那完全是因為那時還沒有互聯(lián)網(wǎng),甚至局域網(wǎng)都沒普及,所謂CS管理軟件其實就是一個單機記賬軟件。
但隨著互聯(lián)網(wǎng)興起和信息化管理的深入,一方面我們很容易看到所有新興的企業(yè)管理軟件,幾乎就沒有采用CS開發(fā)的,如比較流行的OA管理軟件,CRM管理軟件。另一方面也看到國內(nèi)包括用友、金蝶等巨頭都在從CS轉(zhuǎn)向BS,或者說從VB轉(zhuǎn)向JAVA、.NET,CS相關(guān)管理軟件一方面越來越少,另一方面現(xiàn)存的CS管理軟件也是處于舊版本維護中而已。
CS管理軟件應(yīng)用不如BS方便
相比于CS管理軟件,BS在安裝部署、升級維護、設(shè)備帶寬、軟件學(xué)習(xí)、推廣成本等方面都有無可比擬的優(yōu)勢。BS管理軟件的用戶在客戶機上無需安裝任何軟件,使用瀏覽器即可訪問系統(tǒng)。系統(tǒng)讓企業(yè)擴張不再需要額外投入更多信息化的資金,讓系統(tǒng)培訓(xùn)和后期推廣都變得非常容易,管理模式變得可復(fù)制。
可用性:任何時間、任何地點、任何系統(tǒng),只要可以使用瀏覽器上網(wǎng),就可以使用BS系統(tǒng)的終端,更多的系統(tǒng)用戶加入時只需設(shè)立賬號、培訓(xùn)即可,并支持移動辦公和分布式辦公。CS是典型的集中式機械化處理,交互性相對低。
穩(wěn)定性:J2EE的三層架構(gòu),采用中間件應(yīng)用服務(wù)器。數(shù)據(jù)庫、應(yīng)用服務(wù)器、視圖分層設(shè)計,幾千幾萬用戶同時在線系統(tǒng)也有優(yōu)秀的表現(xiàn)。
易升級:BS都是由構(gòu)件組成,只需要改變頁面就可以同步更新,其開發(fā)、維護等幾乎所有工作也都集中在服務(wù)器端,當(dāng)企業(yè)對網(wǎng)絡(luò)應(yīng)用進行升級時,只需更新服務(wù)器端的軟件就可以。而CS系統(tǒng)往往是一個不可拆分的整體,各部分模塊中有一部分改變,就要關(guān)聯(lián)到其它模塊的變動,使系統(tǒng)升級成本比較大。
低維護:BS系統(tǒng)只需管理中心服務(wù)器。而CS需要專門的客戶端安裝程序,客戶端的安裝、升級、網(wǎng)絡(luò)調(diào)試?yán)щy。
兼容性:BS借助JAVA這樣的跨平臺語言出現(xiàn)之后,可兼容于所有主流數(shù)據(jù)庫和操作系統(tǒng)。而CS系統(tǒng)嚴(yán)重依賴于固定的開發(fā)工具、開發(fā)語言、操作系統(tǒng)、數(shù)據(jù)庫,軟件服務(wù)商提供的只能是一個整體性的固化軟件,對異構(gòu)操作系統(tǒng)、數(shù)據(jù)庫很難兼容。
低帶寬: BS 是建立在廣域網(wǎng)之上的,帶寬要求低,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,適用于低帶寬、欠穩(wěn)定的環(huán)境。而CS典型應(yīng)用是各個客戶端直接連接服務(wù)器數(shù)據(jù)庫,一般應(yīng)用在專用的網(wǎng)絡(luò)上,僅適用于局域網(wǎng)內(nèi)部用戶或?qū)拵в脩粜》秶锏木W(wǎng)絡(luò)環(huán)境,不適合作業(yè)點分布較廣的大型應(yīng)用。
豐富展現(xiàn):BS 建立在瀏覽器上, 有更加豐富和生動的表現(xiàn)方式與用戶交流。而CS 多是建立在Window平臺上,表現(xiàn)方法有限。
CS管理軟件不如BS更能應(yīng)對未來挑戰(zhàn)
BS軟件在安全性、系統(tǒng)擴展、后續(xù)投資等方面都有無可比擬的優(yōu)勢。
安全性:CS對服務(wù)器端和客戶端安全都需要考慮,而BS只注重服務(wù)端即可。CS 程序由于更需要對整體性的考慮,必須有專業(yè)水準(zhǔn)的技術(shù)人員才能完成軟件更改,特別是數(shù)據(jù)直接對各客戶端開放,導(dǎo)致安全隱患。而BS系統(tǒng)只對外開放HTTP協(xié)議和端口,數(shù)據(jù)庫只允許服務(wù)器一臺機器訪問,瀏覽器端U盾的使用使數(shù)據(jù)安全加密。
擴展性:系統(tǒng)擴展維護在軟件生存周期中開銷大,相當(dāng)重要?。CS 程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級難,很可能是再做一個全新的系統(tǒng)。BS可以滿足構(gòu)件個別的更換,實現(xiàn)系統(tǒng)的無縫升級。因此BS一般只有初期一次性投入成本,而CS軟件則不同,隨著應(yīng)用范圍的擴大,投資會連綿不絕。
重用性:BS可基于J2EE平臺架構(gòu),利用分布式組件技術(shù)來構(gòu)造系統(tǒng),減少系統(tǒng)維護和升級成本,有利于保護用戶投資,二次開發(fā)快捷。業(yè)務(wù)擴展通過增加網(wǎng)頁即可增加供熱業(yè)務(wù)功能。而CS構(gòu)件的重用性不如BS好。
大型應(yīng)用:對于集團級的異地軟件應(yīng)用,CS結(jié)構(gòu)的軟件必須在各地安裝多個服務(wù)器,并在多個服務(wù)器之間進行數(shù)據(jù)同步。如此一來,每個數(shù)據(jù)點上的數(shù)據(jù)安全都影響了整個應(yīng)用的數(shù)據(jù)安全。所以,對于集團級的大型應(yīng)用來講,CS結(jié)構(gòu)軟件的安全性是令人無法接受的。對于BS結(jié)構(gòu)的軟件來講,由于其數(shù)據(jù)集中存放于總部的數(shù)據(jù)庫服務(wù)器,客戶端不保存任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫連接信息,也無需進行什么數(shù)據(jù)同步,所以這些安全問題也就自然不存在了。而且CS模式下數(shù)據(jù)的實時性、追溯性都不能保證,數(shù)據(jù)的分布性導(dǎo)致數(shù)據(jù)永遠(yuǎn)無法一致,決策不準(zhǔn)。這也是由于CS對帶寬要求很高,企業(yè)要是租用專線投入會很大,才會導(dǎo)致數(shù)據(jù)分開管理。
投資保護:在對已有硬件投資的保護方面,兩種結(jié)構(gòu)也是完全不同的。當(dāng)應(yīng)用范圍擴大,系統(tǒng)負(fù)載上升時,CS結(jié)構(gòu)軟件的一般解決方案是購買更高級的中央服務(wù)器,原服務(wù)器放棄不用,這是由于CS軟件的兩層結(jié)構(gòu)造成的,這類軟件的服務(wù)器程序必須部署在一臺計算機上;而BS結(jié)構(gòu)則不同,隨著服務(wù)器負(fù)載的增加,可以平滑地增加服務(wù)器的個數(shù)并建立集群服務(wù)器系統(tǒng),然后在各個服務(wù)器之間做負(fù)載均衡,有效地保護了原有硬件投資。
高性能:大多數(shù)CS結(jié)構(gòu)的軟件都是通過ODBC直接連到數(shù)據(jù)庫的,安全性差不說,其用戶數(shù)也是受限的。每個連到數(shù)據(jù)庫的用戶都會保持一個ODBC連接,都會一直占用中央服務(wù)器的資源,對中央服務(wù)器的要求非常高,使得用戶擴充受到極大的限制。而BS結(jié)構(gòu)軟件則不同,所有的用戶都是通過一個JDBC連接緩沖池連接到數(shù)據(jù)庫的,用戶并不保持對數(shù)據(jù)庫的連接,用戶數(shù)基本上是無限的。