曹嵩彭,王鵬宇
(山西應用科技學院 山西 太原 030000)
傳統的Web形式非常簡單,并且傳遞的信息也比較簡單,通常是通過圖片和超鏈接的方式來實現。然而,隨著互聯網技術的發展和人們對網絡技術需求的提高,Web傳播的信息量越來越大,傳播方式也變得多種多樣。Web和數據密不可分,因此基于軟件工程的Web開發與應用越來越重要,同時Web應該處理好軟件開發的完善和優化等工作。
隨著互聯網技術和現代信息電子技術的快速發展,人們對軟件開發技術的需求越來越高。在軟件開發工程技術的發展建設過程中,具體呈現以下兩個方面:(1)軟件開發工程技術應用領域范圍較廣,其應用于系統開發、數據、測試等IT領域,所以現在許多計算機軟件企業對軟件開發工程專業技術人才的需求量越來越大[1]。(2)軟件開發工程技術就業門檻高,所以企業在應用軟件開發等相關工作方面對技術人員的專業素質水平要求相對較高,非專業技術人員往往無法真正從事此類工作[2]。
軟件工程技術具有開放性和模塊性。開放性是當前軟件信息工程技術的資源共享性,當前軟件信息工程技術慢慢走向全球化發展,實現資源共享化。模塊性使軟件工程技術擁有相對獨立的技術框架并能進行匹配使用。隨著企業的持續發展與市場競爭越來越激烈,軟件技術工程體系越來越龐大。而軟件工程技術專業性高,擁有獨特的邏輯理論體系與技術理論研究框架[3]。計算機軟件企業在進行軟件開發的工作過程中可以直接結合理論,運用已有的軟件理論技術框架來進行軟件技術開發,這樣既能大大提高企業軟件開發的工作效率,也可以提高整個企業的實際技術綜合競爭力[4]。
在Web軟件開發系統模式中,有兩個主要的軟件開發模式結構,分為開發模式一和模式二。
模式一指的是在整個軟件開發工作過程中,將軟件的處理層、控制層、顯示層、數據層的所有模式統一數據提交發送給一個新的JSP或者一個JavaBean,然后這種模式就可以自動化地進行所有數據處理[5]。
缺點:程序的可讀性差、復用性低、代碼復雜,很難有效使用。
優點:開發速度快,只要寫JSP就可以,JavaBean和Servlet都不用設計。小幅度修改網頁上的代碼方便,可以直接進行修改,編譯成JSP,然后把要求頁面上的代碼直接交給Web這個新的容器就可以處理,不過像Servlet容器文件還要直接把它編譯成class的容器文件,最后還要把它交給其他幾個服務器處理。
2.1.2 使用JSP+JavaBean做開發
缺點:沒有任何流程參數控制,程序請求中的JSP和每個頁面都需要實時檢查請求的流程參數設置是否正確和異常事件的發生。并且顯示處理操作和業務處理邏輯數據等在代碼中的工作會緊密聯系在一起,日后進行維護會更困難[6]。
模式二中所有的開發都是以客戶Servlet為開發主體進行展開的,由客戶Servlet開始接收每個客戶端的視頻請求,然后根據每個請求結果調用所對應的程序JavaBean,同時所有的視頻顯示請求結果都要提交給客戶JSP來完成,這就是我們俗稱的MVC開發設計模式,見圖1。
顯示內容層(View):主要功能負責顯示接受用戶Servlet要求和所傳遞的顯示內容,調用層JavaBean將傳遞內容通過顯示層發送給其他用戶。
控制處理層(controller):主要工作負責關于用戶的每個請求處理參數,同時判斷用戶請求中的參數類型是否符合規格,根據用戶請求的文件類型指定調用函數JavaBean,將最終的請求處理結果提交給用戶顯示控制處理層進行顯示。
通過以上闡述可以看出,建筑設計的類型以及新型設計理念不斷更新換代,人們對于不同文化以及設計方式的理解不斷深入,建筑設計師必須把室內外設計科學結合,從而從根本上提升建筑設計的整體審美體味,促進我國建筑設計行業可持續發展。
模型管理層(mode):模型管理層主要負責整理接收數據。
在corbaWeb的多種分布式應用組合計算方法模型中,利用applet等函數來設計實現Webcorba多種集成應用計算模型是目前較為成熟和具有發展前景的一種模型。客戶端向一個coWebserver發出網頁管理請求時,網頁客戶applet實現會基于一個CORBA的網頁管理客戶程序的java網頁來實現,并且它是與CORBA的網頁客戶捆綁在一起的[7-8]。瀏覽器在自動請求用戶訪問該網絡對象applet時,applet作為一個基于CORBA種類的前端客戶程序就會自動解釋請求遠程用戶訪問網絡服務器的對象。當遠程分布式應用觸發對象前端直接得到模型的一個請求后,系統會對這個請求方法的結果直接作出一個返回響應,最后將方法請求后的結果發送給遠程應用瀏覽器,從而用戶可以直接實現分布式應用[9]。
一般情況下,這種設計處理方法可以直接用于處理基于abcgi等設計方法的實現,但不能直接使用復雜的設計應用程序。這樣就可以有效率地實現遠程客戶瀏覽器和遠程主機用戶的交互,從而也就可以有效實現復雜的分布式應用處理。同時,由于軟件全部使用了applet等語言作為手機軟件客戶端程序,使得該客戶端的各類手機軟件用戶界面視覺設計效果非常好,直觀貼近手機使用用戶,使用戶滿意度大大提高。
當今Web技術發展迅速,但是仍然有很多因素限制了Web前端優化發展。
用戶在瀏覽網站的過程中,必須經過如下過程:輸出URL解析域名IP地址,發送到Web服務器進行瀏覽訴求→向服務器確定,并搜索資源文本,并回復服務器向服務器發送HTML文件→向頁面接受HTML文件并要求資源文本向服務器確定資源文件是否發送到頁面→Web瀏覽器接收數據并渲染→最后,瀏覽通過。所以,Browser/Server架構在目前仍然是Web發展過程中所面臨的一個難點。
HTTP協議中還規定,為防止服務器擁擠的問題,服務器與客戶端相互之間的最大并發鏈接數量將面臨著數量的約束,在同一個時點內,服務器、客戶端相互之間的最大持續鏈接數為1個。但是,在Web網站的現實瀏覽中,許多情況下是難以避免第2次鏈接的問題,比如IE網站在打開第2次鏈接時,可能會出現一些問題。
根據上述談論的制約Web前端優化的因素可以發現,要進行Web的前端優化,必須進行以下步驟。
可在服務器、HTTP請求、加載、Ajax等方面,對Browser/Server架構展開優化工作。
5.1.1 服務器方面
現在最常見的解決方案是優化網頁的域名,用Gzip壓縮網絡資源,改變緩存的設置。常見的服務器設備類型通常包括塔式服務器、機架式服務器設備和刀片式服務器設備,而現代Web服務器設備通常使用前兩種。
5.1.2 HTTP請求方面
HTTP請求優化指的是通過如何優化申請的各種資源,比如對圖像做出優化管理的實例,或者通過CSS Spretes技術來提高發送效果。
5.1.3 Ajax方面
這個方案主要是指充分利用Ajax技術(cacheable)來增強功能,因為Ajax技術本身就是異步的,利用傳輸的異步差異可以為用戶提供更快的訪問體驗。但是這些方法也會導致用戶花費一定的時間等待JavaScript,而Ajax的優化效率主要取決于使用什么異步優化方法,使用什么訪問方法。
目前二級鏈路優化主要通過協調調度進行,而TDD (Test-Driven Development)是敏捷產品開發的核心實踐和技巧。其基本原理是在創建產品功能代碼之前編寫單元測試用例的代碼,測試代碼定義產品代碼。基本思路是用軟件測試帶動整個產品開發過程,但軟件測試不是簡單地測量工作,是把需求分解、產品設計以及品質管理量化的過程。當使用者在瀏覽頁面的時候,能夠通過合理安排、調整瀏覽Web頁面的時間次序,從而協調使用錯誤或反復登錄所導致的一些問題,最終也能夠縮短使用瀏覽網頁時用戶等待的時間。瀏覽器在用戶登錄網頁的時候合理介入,并做出了相應的限制動作,目的就是要使TDD、TSR最大可能地降低。由此,因二次接入所產生的擁堵問題也就得到了合理處理。
用戶登錄系統時,需要設置復雜的圖形或Flash驗證碼,并記錄用戶嘗試登錄的次數。如果他們嘗試太多次,應該禁止他們登錄。
使用者所填寫的賬號注冊密碼的數據安全非常關鍵,所以需要對所用的密碼實行加密管理,登錄網頁的數值傳遞應當采取安全可靠的POST方法,而不能采取Get方法,密鑰應當實現不可逆的秘密運算(如MD5加密),在數據傳輸流程中盡可能采取嚴密的HTTPS協定,以免攻擊者利用抓包盜取使用者數據信息。在數據庫系統中所存放的用戶數據也將采取更嚴格的保密,并禁止明文方法存放用戶密碼。
Web技術開發平臺可以從以下幾個環節來實現。
首先,應選用一種相對安全的服務器操作系統,在安裝控制系統后,應對該控制系統設定一套足夠繁瑣、獨特的密碼設置。通過網絡防火墻、入侵偵測管理系統、網絡安全審計系統、服務器監測管理系統等對服務器上系統文檔的授權做出限制。
網頁通常以B/S模式傳輸,因此數據傳輸的安全性非常重要。數據傳輸的安全性是防止服務器和客戶端網頁之間數據傳輸的數據包被竊取、修改和截獲。或者自己購買并簽訂一個相對安全的證書,所有的數據包,尤其是敏感字段,在傳輸之前都必須進行加密,以確保其安全性。所以,就必須通過比較安全的HTTPS方法實現網頁瀏覽,以防止數據信息被盜取和修改。而對各種數據截獲方面的防范,則應該通過對日常行為數據分析等方法,及時發現。
在Web開發過程中,無法提前知道用戶的需求,也無法很好預期開發結果。因此,有必要建立一個適合Web開發的模型。
在Web開發之前,我們已經知道了用戶的初步需求。在這一點的基礎上,我們應該建立一個初步的Web模型,并且這個模型必須快速建立。而利用已有的模板并且結合用戶的需求,可以快速構建初步模型。
Web產品設計需要先了解用戶的需求和細節要求,當一個初步的Web產品模型的設計建立完成后,需要讓其他用戶及時測試,盡快接收用戶給予的反饋和一些需要改進的地方,開發者會根據測試用戶的實際反饋進行一些修改。修改完成后,可以讓一些用戶進行試用,然后根據用戶的試用結果進行改進,最終得到最優的Web產品設計。此外,開發人員和測試及試用用戶之間應及時進行實時的意見交流[10]。
在設計了一個Web產品程序之后,開發者可以基于這個產品設計一個Web總體布局和應用數據庫,同時完成其功能和系統性能的綜合設計。在Web產品的設計開發過程中,設計的核心應該滿足用戶的實際體驗需求,因為Web最終目標是服務于廣大用戶。
Web軟件的主動測試是Web軟件開發和應用過程中不可缺少的一個測試過程。這個測試過程不僅是為了讓現有用戶盡可能積極地參與測試,也是為了讓軟件開發人員有效地進行檢測和改進。在檢測過程中,開發人員不僅要仔細檢查網站的軟件設計需求是否與產品規格一致,同時還要仔細檢查網站的軟件兼容性設計是否滿足用戶的需求。在充分滿足現有用戶的基本體驗需求的前提下,Web應該盡力為新用戶帶來更好的體驗。
Web開發應用完成上述一系列開發工作后,整個Web系統可以直接在網絡上發布,但將Web系統發布上傳到網絡上并不一定意味著Web開發過程的完全結束,更重要的是后期對整個網站系統本身的維護和升級。并且Web的后期維護是一項長期的工作。
綜上所述,隨著新時代互聯網信息技術的發展,基于軟件工程的Web開發與應用越來越重要,Web的開發需要建立Web原型、進行用戶試用、設計和測試,最后發布與后期維護,才能做好Web的應用,使其更好地發展。