第二部分:認識兩個重要的ASP(Application Service Provider)模型
在前一節關於體系結構介紹的基礎上,本節進一步介紹Web應用的體系結構,並且詳細介紹了兩個主流的Web應用體系結構。
1、從“Web內容”到“Web應用”
ASP(Application Service Provider)的出現,或是說Web應用程序的出現是Internet的技術及應用不斷發展的結果。早期的Internet是作為一種為用戶提供靜態的內容的工具,如圖7所示。
圖7、Web內容的體系結構
基於Web的內容與普通的內容表現方式是不一樣的,它需要借助兩個特殊的應用程序,Web浏覽器和Web服務器。Web浏覽器的一個重要功能是與服務器聯絡、發送內容請求、最後是處理服務器的響應;而Web服務器的功能則是監聽並響應Web浏覽器的請求。在基於內容的Internet中,大多數被請求和下載的文件是HTML。
靜態的Web內容不能滿足用戶交互性的需要,於是乎出現了客戶端腳本(VB Script、Java Script)、基於DOM的動態HTML技術、客戶端控件(ActiveX、Applet),這些技術在一定程度上提高了Web的內容的交互性特性,但是這些技術大多是與Web浏覽器平台相關的,不能保證站點提供的內容被所有的浏覽器都能訪問。這些技術仍然被歸為Web內容的范疇。
要設計一個被所有的浏覽器都能訪問的Web,需要將腳本由Web浏覽器端移動到服務器端。將Form與客戶端的程序技術(CGI、Servlet)和腳本技術(ASP[Active Server Page]、JSP)結合起來,將能夠為用戶提供非常豐富的內容,這種形式的Web內容被稱為Web應用。圖8所示為Web應用的基礎結構。
從圖7、圖8可以看出,我們不能孤立的看待HTML、ASP、JSP這些技術,需要將它們與它們運行的環境一起看作是一個整體。從這個視角上看,無論是Web內容還是Web應用都是一個分層的應用體系結構。
圖8、Web應用的體系結構
2、微軟的Web應用開發模型
微軟的Web應用體系結構是對圖8所示體系結構的一種具體實現,被稱為DNA(Distributed N-tier Architecture)結構。圖9所顯示為微軟DNA結構。
圖9、微軟DNA體系結構
ASP:這是一個由IIS支撐的服務器腳本技術,作為服務器端的腳本技術,它完成部分商務邏輯功能,同時也是用戶界面與事務邏輯之間聯系的紐帶。
COM組件:COM是一個軟件組件標准,在該體系結構中主要起完成主要的事務邏輯的作用。
ADO是一種微軟提供的一種方便數據庫訪問的COM組件。
3、Java的Web應用開發模型
Java的Web應用模型經歷了一個不斷沿便的過程,從Applet、RMI、JavaBeans、到EJB、Servlet、JSP經歷了一個不斷完善的過程。圖10所示的編程模型融合了大多數主流的Java技術。
圖10、Java的Web應用體系結構
JSP是一個用Java實現的服務器腳本技術,它所起得作用與上圖所示的ASP類似。
Servlet是較JSP更早出現的一種服務器端編程技術,它所起的作用類似於CGI。
JavaBeans是一種構件標准,在本模型中與上圖中的COM類似。
EJB則是一種企業級構件標准。