C/S框架設計經驗小結


C/S架構程序應用廣泛,比如常見的QQ、微信、Outlook,還有手機上的各種APP都是C/S架構的。C指的是Client,即客戶端,S指的是Server,即服務端。

經常聽到初學者爭論,是學C/S結構還是學B/S結構?而筆者以為,兩種架構都要學,不僅要學,而且還要精通。至於用哪種架構解決問題,那就要看工作需要了。在企業管理系統領域,C/S架構的系統占有非常重要的地位,比如ERP、MES系統,C/S架構的居多。對企業而言,只要能提高操作效率,他們並不在意是什么架構。

今天筆者就和大家分享一下如何開發一套穩健、高效的的C/S架構的系統。

筆者認為,一套成熟的C/S框架應該解決好以下核心問題:

服務器端功能定位

C/S中S指的是Server,而不是數據庫服務器。很多C/S架構的系統,都是直連服務器上的數據庫,這樣不僅增加數據庫負擔,還存在安全風險。有的程序員為了省事,直接將數據庫的賬號密碼以明文形式寫在了客戶端配置文件,這樣很不安全。所以,我們的服務器端應該是一個Web服務器和數據庫服務器的組合體,客戶端通過Web服務器連接數據庫執行各種數據庫增刪改查的操作。Web服務器還可進行各種業務邏輯的運算。

客戶端技術架構選型

客戶端選擇.NET還是選擇Java呢?從開發效率上將,應當毫無疑問的選擇.NET的Win Form 或 WPF。對於初學者,建議選擇Win Form,易學,上手快,簡單的需求拖拉拽就能完成。如果有一定基礎,而且項目周期不是太緊張,可以選擇WPF。雖然Win Form的UI界面不如WPF美觀,但是Win Form有很多第三方的UI組件,效果不比WPF差,還有些效果更炫更酷。

數據庫操作

管理信息系統,歸根結底就是對數據庫表的增刪改查,開發工作離不開對SQL語句的操作,所以框架要有一個SQL Helper,簡化這些操作。為了提高安全性,應當避免客戶端直連數據庫,框架可考慮Web Service或RESTful API之類的解決方案。

文件上傳和下載

雖然數據庫允許存儲文件,但是畢竟數據庫不是文件服務器,不是用來存儲文件的,另外向數據庫中存儲文件會導致數據庫體積過大,影響后期運維,所以要求服務器端有一個Web服務器,可以支持文件的上傳和下載。相比Socket或FTP,通過HTTP方式處理文件更容易。

應用程序框架

技術架構、數據庫、文件管理搞定后,接下來就要考慮應用層面的需求,比如用戶管理、用戶登錄、權限控制、日志管理、站內消息、菜單管理、多窗體管理、基礎數據、表單定義、工作流等模塊。這些模塊,是每一套應用系統都必須具備且優先解決的基礎模塊,然后才是如何開發業務模塊。既然大家都面臨這個問題,何不找一套現成的應用框架呢。在實際工作中,老板並不關心技術問題,對他來說,他交給你的是一件事,如果在限定的時間內保質保量的完成才是他關心的。所以,我們要做的就是整合各種工具、框架,為自己所用。

客戶端自動更新方案

估計大家都回答過C/S結構和B/S結構的優缺點,相比B/S架構,很多人都擔心C/S架構會增加額外的運維工作量。早期的C/S系統這種問題很突出,一旦客戶端程序升級,需要IT管理員到每台電腦上手動更新。而這種客戶端更新有成熟方案。

程序開發工作,從零開始,一行一行的壘代碼並不是首選,選擇一套成熟的框架對項目很關鍵,用好了框架事半功倍。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM