SharePoint : 超級Web Application Framework

來源:互聯網
上載者:User

在Wikipedia上,對“Web Application Framework”的定義是:

一個Web Application Framework是一個設計為支援動態Web網站、Web應用程式和Web Services開發的軟體架構。Web Application Framework的目標是減少在Web開發中,與常見的開發工作有關的問題。例如,許多架構都提供了諸如資料庫訪問類庫、模板架構和會話管理,同時,架構通常都能促進代碼複用。(註:http://en.wikipedia.org/wiki/Web_application_framework

Wikipedia的定義雖然清晰明了,但未免過於寬泛。根據這個定義,實際上,我們可以再將Web Application Framework分成兩種:
■ Web Application Infrastructure Framework
■ Web Application Building Framework

Infrastrcture Framework提供了用來構建Web應用最底層的各種基礎架構,諸如HTTP請求的截取和分配、網站與頁面處理架構、會話管理、緩衝等等。ASP.NET、PHP、JSP就屬於Infrastrcture Framework。

Building Framework則是基於Infrastrcture Framework而構建起來的層次更高的Web應用程式框架,它的目的包括:
■ 將Web應用開發人員的視角從最底層的網站與頁面架構,拉到更上面的基於具體應用的業務功能上
■ 用來支撐大型複雜的Web應用,例如超過上千個網站、上萬個頁面的Web系統,而且提供對伺服器陣列、Server Load Balancer的支援

在.NET領域,DotNetNuke就是一個典型的Building Framework。有了Building Framework,Web開發人員就可以不用從最底層開始構建Web應用系統,而是可以基於Building Framework,開始構建所需要的應用功能組件。一個Building Framework通常會包含下列內容:
■ 成熟的網站與頁面結構架構,使得開發人員不用再基於頁面、目錄來管理整個Web應用
■ 完善且可擴充的使用者、角色與許可權管理
■ 靈活的UI模型
■ 內建的資料和檔案儲存體能力
■ 具備完善的功能模組封裝型
■ 對必要的功能介面提供API
■ 其他…

對於Web應用的開發來說,從靜態網站到動態網站,從Infrastructure Framework到Building Framework,幾乎是必然的。隨著Web應用越來越複雜,開發人員面臨的挑戰也越來越大:如何維護和管理上千個網站、上萬個頁面?如何使Web應用能部署到網路Server Load Balancer的環境中?如何使背景Services與前台Web請求分離?如何提供完善的系統備份與遷移方案?如果我們必須基於Infrastructure Framework來解決這些問題,那麼我們可能得將大部分的項目開發週期,花費在解決這些“底層架構”架構之上(雖然有些開發人員確實更喜歡開發“架構”,而不是一個可用的業務系統)。

當基於Building Framework之上進行開發時,開發人員可以更關注業務需求和業務功能的實現。通常,每一種Building Framework都會有一套專門的對功能模組進行封裝和打包的模型,開發人員可以基於這一套模型,將自己開發的功能模組以標準化的方式進行封包。一方面,這樣可以使得功能模組的部署變得更簡單(避免了基於檔案的手工拷貝方式),另一方面,開發人員也更容易的將自己開發的功能模組共用給社區(社區中使用同一套Building Framework的開發人員,可以方便的將拿到的功能模組以標準化的方式部署到自己的環境中)。

待續…

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.