摘 要:報表是現代信息社會中處理并直觀展示各種信息的重要工具。隨著B/S應用逐步取代C/S,市場上對Web環境下運行的報表要求日益強烈,因此,設計一個具有B/S結構、開源的、使用方便、界面美觀的報表生成器是很多用戶一直期待的。
關鍵詞:Web應用程序;Delphi;C/S;B/S
中圖分類號:TP311.131 文獻標識碼:A 文章編號:1674-7712 (2014) 20-0000-01
一、系統設計概況
該系統設計遵循系統實現穩定性、安全性、可伸縮性、技術先進、可管理性、可維護性、可縮放性和易用性的總體設計思想。在安全性上,通過技術手段來確保系統自身的安全穩定運行和系統數據安全,提供必要的快速恢復和備份手段;在穩定性上,系統從平臺選用、數據庫選擇和軟件開發等方面充分保證系統運行可靠,對故障有分析、診斷能力和故障恢復能力等。在可伸縮性上,該系統既能在普通PC上運行,又能在高檔工作站或小型機上運行;既能在方便易用的Windows98 或Windows XP上運行,也能在高可靠、穩定、安全的Windows 2000 Server上運行。在可管理和可維護性上,系統采用的Delphi是基于文本的分層配置系統,簡化了將設置應用于服務器環境和Web應用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應用新設置。此\"零本地管理\"哲學也擴展到了Delphi框架應用程序的部署。只需將必要的文件復制到服務器,即可將Delphi框架應用程序部署到服務器。不需要重新啟動服務器,即使是在部署或替換運行的編譯代碼時。在技術的先進性上,開發系統使用Delphi技術,確保技術的領先性。Delphi是在服務器上運行的編譯好的公共語言運行庫代碼。與其他解釋語言不同,Delphi可利用早期綁定、實時編譯、本機優化和盒外緩存服務。這相當于在編寫代碼行之前便顯著提高了性能。在技術的先進性上,Delphi是在服務器上運行的編譯好的公共語言運行庫代碼。與其他解釋語言不同,Delphi可利用早期綁定、實時編譯、本機優化和盒外緩存服務。這相當于在編寫代碼行之前便顯著提高了性能。在可縮放性和可用性方面,系統采用的Delphi在設計時考慮了可縮放性,增加了專門用于在聚集環境和多處理器環境中提高性能的功能。另外,進程受到Delphi運行庫的密切監視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創建新進程,以幫助保持應用程序始終可用于處理請求。
二、系統開發的體系模式
考慮到用戶可以隨時隨地管理所需的報表,故該系統應為網絡版。目前開發網絡版系統時常用的體系結構有兩種,即成熟的客戶機/服務器C/S(lient/server)結構和目前較流行的瀏覽器/服務器B/S(browser/server)結構。
C/S結構,即Client/Server(客戶機/服務器)結構,是大家熟知的軟件系統體系結構,通過將任務合理分配到Client端和Server端,降低了系統的通訊開銷,可以充分利用兩端硬件環境的優勢。但由于缺少通用性、需要專門的客戶端安裝程序以及兼容性差,B/S結構應運而生了。
B/S結構,即Browser/Server(瀏覽器/服務器)結構,用戶界面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在服務器端實現,形成所謂3-tier結構。B/S結構利用不斷成熟和普及的瀏覽器技術實現原來需要復雜專用軟件才能實現的強大功能,并節約了開發成本,是一種全新的軟件系統構造技術。這種結構更成為當今應用軟件的首選體系結構,Microsoft.net也是在這樣一種背景下被提出來的架構。
B/S模式相對于C/S來說,首先它簡化了客戶端。它只需安裝通用的瀏覽器軟件。這樣不但可以節省客戶機的硬盤空間與內存,而且使安裝過程更加簡便、網絡結構更加靈活。假設一個企業的決策層要開一個討論庫存問題的會議,他們只需從會議室的計算機上直接通過瀏覽器查詢數據,然后顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯上會議室的網絡插口,自己來查詢相關的數據。其次,它簡化了系統的開發和維護。它只需把所有的功能都實現在Web服務器上,并就不同的功能為各個組別的用戶設置權限就可以了。各個用戶通過HTTP請求在權限范圍內調用Web服務器上不同處理程序,從而完成對數據的查詢或修改。再次,它使用戶的操作變得更簡單。采用B/S模式時,客戶端只是一個簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓,就可以直接使用。最后,B/S特別適用于網上信息發布,使得傳統的管理信息系統的功能有所擴展,而這種新增的網上信息發布功能恰是現代企業所需的。
三、系統開發的三層構架
(一)表示層。采用Web方式它的顯著特點是客戶端免安裝,對客戶機配置和網絡帶寬的要求較低,我們用于發布給企業等數據查詢和數據更新;智能客戶端方式集成了B/S優勢,支持數據的離線錄入和離線查詢(數據本地緩存),用于數據交互量比較大的內部單位。
(二)業務邏輯層。業務邏輯層由各個系統的不同的業務組件構成,在本系統中我們將業務對象進行不斷抽象,形成一個一個相對獨立的業務組件,并為這些組件定義好通用的調用接口。系統的所有業務組件依據系統的不同劃分成不同組件包,通過這種劃分來隔離子系統,避免子系統之間的相互影響,同時也便于實現系統的按模塊分布。
根據業務規模的不同,業務邏輯層負荷會有差異,客戶端的數目、業務的復雜程度都會對其造成影響。
(三)數據層。數據層利用大型數據庫提供高性能、高可靠的海量數據存儲能力儲存業務數據。而且提供數據分析、數據挖掘的工具,能夠實現信息服務決策。
將數據層、業務邏輯層以及系統表示層從邏輯上分離,在每個層次可以進行單獨的擴展,從而使得系統具備更好的擴展性。三層的體系結構具有如下優勢:(1)在三層次體系結構下,業務邏輯層負責所有邏輯的處理,客戶端只是完成信息地顯示和數據的反饋提交,客戶端只是看到經過中間層處理過后的數據,降低了網絡數據的傳輸量;(2)業務邏輯在中間層上運行,充分利用服務器的處理能力。同時通過多進程/線程、無狀態組件、組件緩沖池、數據庫連接緩沖池等技術優化系統的并發性能,在大并發用戶量下,仍然能夠確保系統的處理性能。
參考文獻:
[1]宋文淵,王斌.用戶自定義報表生成器的分析與實現[J].計算機應用研究,2001(09).
[2]杜嘉.呼叫中心自定義報表生成系統的設計與實現[J].西安電子科技大學,2010.