重構WEB
發表時間:2023-08-18 來源:明輝站整理相關軟件相關文章人氣:
[摘要]1 Abstract 本文主要論述了如何建設web開發中的體系結構。并且使用PHP程序設計語言來闡述構建WEB開發體系結構的實例。2 前言 web是internet應用的一種方式,從它在...
1 Abstract
本文主要論述了如何建設web開發中的體系結構。并且使用PHP程序設計語言來闡述構建WEB開發體系結構的實例。
2 前言
web是internet應用的一種方式,從它在1990年出現以來,發展一直很快。從最初的僅僅是文檔瀏覽/查詢到現在的基于web方式的應用技術,web技術和應用水平每年都在快速更新和提高。
我們可以使用各種各樣的語言來開發web應用。我們將要使用的開發語言是PHP,PHP在1995年開發出第一個版本,到2001年7月根據E-SOFT的統計已經有600萬個站點在使用PHP。
參考:
http://www.securityspace.com/s_survey/data/
http://www.w3.org
http://www.php.net
3 問題
WEB的主要功能是傳輸用戶需要的數據資料,開發WEB動態網頁也就是開發用戶獲得需要的數據的過程。
有許多程序員開發各種各樣的WEB應用系統僅僅是CASE BY CASE的去做,每次完成一個項目之后又需要做另一個功能相似的項目,而在每次完成之后軟件的可重用性和成熟性沒有合適的方式得到保證。
僅僅是依靠程序員自身的開發經驗來控制代碼質量或者使用只有自己才能重用的代碼是不能適應大規模的軟件生產的。
讓我們開發一個可以大家共享的庫和結構來開發WEB應用吧。
4 目標
¨ 對數據庫等低層操作對象容易封裝
¨ 對開發代碼容易進行版本管理和分發
¨ 對常用應用系統開發通用應用模塊
¨ 對用戶定制系統容易采用低層對象構建
¨ 應用容易通過開放接口集成
5 方案
我們可以容易找到一些現成的方案:
¨ microsoft的 .net
¨ sun的j2ee系列
但世界上沒有免費的晚餐。
如果使用.net的東西,那末我的設計就綁定在一個專有平臺上,然后我開發的東西還要對這個容易崩潰的系統、不喜歡兼容其他系統的廠商交取高額費用。
如果使用j2ee,我也不喜歡一些很笨重緩慢的體系結構。并且這個方案也不能完全滿足我的要求。
所幸,我們還有其他的選擇:opensource世界的偉大工作:
我們將采用PHP和其他的一些東西來構建我們的應用系統,我們將容易了解低層的細節問題,我們將有一個友好、輕靈、功能齊全并且穩定的系統來完成我們的工作,我們將容易得到其他系統類似的系統設計和開發經驗,我們還可以不用擔心版權問題。;)
參考:
http://www.microsoft.com/china/net/?MSCOMTB=ICP_Microsoft%20.NET
http://java.sun.com/j2ee/
http://www.valinux.com/
6 采用PHP提供的模型
下面是internet小組在系統結構模型上的示意圖:
圖一 PHP的WEB開發模型
這幅圖中其他部分我都不談了,只描述我們需要做的web結構上的工作
6.1 類封裝層
這一層我們將完成整個站點的底層數據構建:
我們參照phplib(http://phplib.netuse.de )和siteManager(http://www.roadsend.com )的結構來實現對異種數據庫的封裝和站點開發過程中必須的類:
圖二 類封裝層結構(引用siteManager的資料)
這里面包括了下面的類:
¨站點配置
¨基本模塊----數據庫訪問 等
¨對話管理
¨界面模版管理
¨輸入類型實體-選擇/文本等
¨輸入實體過濾器---email過濾器/數字過濾器
¨debug
通過這樣的結構我們可以完成class layer的功能,提供整對web開發的最底層類。
6.2 應用總線
應用總線是從某種意義上來講是個概念層的東西。它提供一個接口來連接應用,讓各種通過class layer編寫的應用模塊容易結合在一起。
我們先了解一下總線的意義,拿硬件的總線做個比喻:
網卡、聲卡、顯卡這三個不同用途的硬件可以通過PCI總線連接到一起,并且通過CPU協同統一協調的工作,您不會因為這些硬件是由不同廠商提供的而無法正常工作。因為PCI總線是工業標準的通訊方式,這些硬件都使用同一種"語言"來交流。
圖三 一個硬件總線結構的樣例
我們的任務要完成的就是這樣一個"WEB軟件應用模塊總線"結構:
這似乎很難,所幸的是,phpgroupware和webmin都可以作為一個好的例子:
圖四 web應用總線示意圖
通過統一的接口協議,我們可以容易集成應用到統一的整體,并擁有一個應用開發平臺。
具體的內容在這里就不再多談了。
參考:
http://www.phpgroupware.org
http://www.webmin.com
7 結論
我們通過上面的系統結構設計,并在許多網站和內部web應用系統上的具體應用,可以逐漸形成自己的成熟、穩定的系統結構體系。
并且在系統開發過程中可以有效的利用工具來自動生成web開發的默認模塊配置,加快web應用開發和產品化進程。