[摘 要]介紹了Web工程及其與傳統軟件工程的顯著區別,討論了一種具體的、切實可行的實施web工程的方法。該方法借鑒了傳統軟件工程的某些思想,對基于Web的應用系統采用結構化的方法進行分析和設計,在整個開發過程中應用螺旋模型,同時融入Web應用的開發特性,最后給出了一個開發示例。
[關鍵詞]Web工程 軟件工程 開發應用
EasyJWeb是基于java技術,應用于WEB應用程序快速開發的MVC框架,框架設計構思來源于國內眾多項目實踐,框架充分借簽了當前主要流行的開源Web框架(Struts、JSF、Tapestry 、Webwork),吸取了其優點及精華,利用Velocity作為模板頁面引擎,是一個實現了頁面及代碼完全分離的MVC開發框架。是一個能實現中小型Web應用系統快速開發的簡易Web框架。
一、基于軟件工程的Web開發特點
最早的Web設計是很簡單的,一大堆的超鏈接。大量的文本和圖片。而現在的Web已經具備了與數據緊密連接的需要,大量B/S結構的應用,毫無疑問,Web已經成為軟件的一個重要分支。
1. Web是圖形化的和易于導航的(navigate)
Web 非常流行的一個很重要的原因就在于它可以在一頁上同時顯示色彩豐富的圖形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供將圖形、音頻、視頻信息集合于一體的特性。同時,Web是非常易于導航的,只需要從一個連接跳到另一個連接,就可以在各頁各站點之間進行瀏覽了。
2. Web是分布式、動態的
大量的圖形、音頻和視頻信息會占用相當大的磁盤空間,我們甚至無法預知信息的多少。對于Web沒有必要把所有信息都放在一起,信息可以放在不同的站點上。只需要在瀏覽器中指明這個站點就可以了。使在物理上并不一定在一個站點的信息在邏輯上一體化,從用戶來看這些信息是一體的。由于各Web站點的信息包含站點本身的信息,信息的提供者可以經常對站上的信息進行更新。如某個協議的發展狀況,公司的廣告等等。一般各信息站點都盡量保證信息的時間性。所以Web站點上的信息是動態的。經常更新的。這一點是由信息的提供者保證的。
3. Web是交互的、需要測試的
Web的交互性首先表現在它的超連接上,用戶的瀏覽順序和所到站點完全由他自己決定。另外通過FORM的形式可以從服務器方獲得動態的信息。用戶通過填寫FORM可以向服務器提交請求,服務器可以根據用戶的請求返回相應信息。Web開發的產品要放到網絡上,要接受大量不同用戶的瀏覽和使用,所以測試工作尤其重要。維護也是一樣,沒有經過及時維護的網站是沒有價值的。基于上述特點.在Web開發中采用軟件開發的方法學和軟件工程的思想是完全可行的。
二、基于Corba組件技術的Web系統的模型
在CorbaWeb的多種分布式應用模型中,利用Applet實現Web與Corba的集成方法是較有前景的一種。客戶端向web Server請求的網頁內含1個Applet,該Applet是Corba客戶程序的Java實現,與ORB捆綁在一起。瀏覽器在解釋該Applet時,Applet作為Corba客戶程序就會請求訪問遠程對象。當遠程對象得到方法請求后,對這個請求做出響應,將結果返回給瀏覽器,從而實現分布式應用。這種方法可以實現基于CGI方式無法實現的許多復雜應用。例如:遠程對象既可以作為其他宿主機的遠程對象的客戶程序或Applet本身,又是其他遠程對象的遠程對象,這樣就能實現瀏覽器客戶與www 服務器的交互,從而實現復雜的分布式應用。同時,由于使用Applet作為客戶端程序,使客戶端的用戶界面能夠最大限度地貼近用戶,使表現性大大提高。圖1為Applet方式體系結構圖。
三、Web服務體系結構中MVC的應用
一個GIS站點可以根據用戶的查詢找到企業信息,站點查找已知的web服務,這些服務被注冊在“靜態導航服務”(Static Navigation Service)文件中。這是一個web服務的靜態查找,因為Web服務接口和實現對系統來說是已知的。“靜態導航服務”文件是一個XML文件,它含有類似于下面所示的條目:
上面的“靜態導航文件”中定義的變量N表明,可能有N個服務實現會提供相同的web服務:該體系結構將為用戶調用所有這些服務,并鞏固所有這些服務的結果。
結束語 Web軟件工程的研究借鑒和集成了其他學科的知識和研究成果,從而為復雜系統的開發提供自然、抽象的技術手段,包括社會學、組織學、認知科學、經濟學等。近年來的研究趨勢表明,面向Web軟件工程將與其他計算機技術之間具有密切的關系,如面向服務的計算(service—oriented computing)、語義Web、網格計算、自主計算(autonomic computing)等。一方面,這些研究方向試圖將Web理論和技術用于其特定問題的解決,從而對Web軟件工程提出了明確甚至是新的要求,從而作為一種需求驅動力促進Web軟件工程的研究;另一方面,通過與這些計算機技術相結合,拓寬了Web軟件工程的應用領域和范圍,為Web軟件工程與各種主流技術相結合,走向大規模、工業化應用提供了應用背景.
參考文獻:
[1]金 波 林家駿 王行愚:入侵檢測技術評述[J],華東理工大學學報,2004(4):193—195
[2]唐 謙 張大方:入侵檢測中模式匹配算法的性能分析[J],計算機工程與應用,2005(17):136