web框架技術(shù)論文
Web應(yīng)用框架(Web application framework)是一種開發(fā)框架,用來支持動態(tài)網(wǎng)站、網(wǎng)絡(luò)應(yīng)用程序及網(wǎng)絡(luò)服務(wù)的開發(fā)。這是學(xué)習(xí)啦小篇為大家整理的web框架技術(shù)論文,僅供參考!
基于Web Service技術(shù)的web框架模塊的應(yīng)用與研究篇一
摘要本文建立了一種基于Web Service的數(shù)據(jù)服務(wù)框架,并利用本框架開發(fā)可擴(kuò)展企業(yè)的Web應(yīng)用,將數(shù)據(jù)操作部分和界面定制化分離開,降低了數(shù)據(jù)和界面之間的耦合。在數(shù)據(jù)服務(wù)端封裝了數(shù)據(jù)操作的常用功能,便于后續(xù)項目高效快捷的開發(fā)數(shù)據(jù)庫功能。結(jié)果表明開發(fā)效率高,可擴(kuò)展性強,配置簡單方便,而且便于系統(tǒng)維護(hù)和升級。
【關(guān)鍵詞】Web Service 框架模塊結(jié)構(gòu)軟件開發(fā)框架
1 Web Service概述
Web Service也稱作Web服務(wù),是一種W3C標(biāo)準(zhǔn),通常包括尋址、編排、描述和策略等多個標(biāo)準(zhǔn)。這些標(biāo)準(zhǔn)共同定義了在主流服務(wù)器上實現(xiàn)的大部分功能,也是用于面向服務(wù)架構(gòu)(Service Oriented Architecture,SOA)的支撐技術(shù)。利用Web Service(服務(wù))技術(shù),可以使運行在不同計算機上的不同應(yīng)用進(jìn)行相互通信(交換數(shù)據(jù)),減少應(yīng)用接口的開銷,為整個企業(yè)甚至多個組織之間提供通用的訪問機制。在使用Web Service規(guī)范的應(yīng)用之間,無論它們各自使用語言、平臺是否相同,都可以相互通信。
2 Web Service 在框架模塊結(jié)構(gòu)中的應(yīng)用
采用Web Service技術(shù)對數(shù)據(jù)的基本操作進(jìn)行封裝,通過建立標(biāo)準(zhǔn)的數(shù)據(jù)訪問接口實現(xiàn)對企業(yè)數(shù)據(jù)庫的管理。開發(fā)框架通過Web接口來調(diào)用數(shù)據(jù)服務(wù)并生成用戶界面,使得數(shù)據(jù)和界面更加獨立,提高了不同層面的開發(fā)效率。
應(yīng)用框架的模塊結(jié)構(gòu)如圖2.1所示,其中核心組件是系統(tǒng)的公共API(應(yīng)用程序接口),封裝了一些常用的數(shù)據(jù)結(jié)構(gòu),便于上層模塊進(jìn)行調(diào)用。界面定制模塊實現(xiàn)網(wǎng)頁的可視化配置,將復(fù)雜的前端頁面分隔成較簡單的部件,實現(xiàn)對網(wǎng)頁的局部修改和實時更新。功能擴(kuò)展模塊是對框架功能的擴(kuò)展,盡管底層類庫定義了一些基本應(yīng)用功能,但是當(dāng)這些固有功能不能滿足需求時就需要修改已有功能或者添加新的功能。功能擴(kuò)展避免了對系統(tǒng)底層的破壞,同時又保證整個框架功能齊全,是框架實用性的重要體現(xiàn)部分。企業(yè)應(yīng)用模塊是針對具體的企業(yè)項目來實現(xiàn)的,提供了企業(yè)網(wǎng)站最常見的業(yè)務(wù)功能,針對不同項目可分別改進(jìn)和完善。Web Service數(shù)據(jù)服務(wù)模塊提供了對遠(yuǎn)程數(shù)據(jù)訪問的支持,使用遠(yuǎn)程數(shù)據(jù)服務(wù)將數(shù)據(jù)庫操作獨立出來,便于對數(shù)據(jù)庫進(jìn)行升級與維護(hù),同時盡量減少對應(yīng)用框架程序的修改。
從內(nèi)容上來看,應(yīng)用框架分成了四個不同的組成部分,分別代表不同的應(yīng)用類型。從實現(xiàn)上來看可以劃分成兩大部分:數(shù)據(jù)和界面,并且本系統(tǒng)盡量減少這兩部分之間的依賴。
3 Web Service設(shè)計
應(yīng)用框架包含了企業(yè)應(yīng)用的大部分內(nèi)容,例如資源管理、權(quán)限管理、界面配置等,這些內(nèi)容與框架聯(lián)系緊密,放在框架內(nèi)部處理更加方便。在前面的介紹中沒有提到系統(tǒng)數(shù)據(jù)庫設(shè)計的相關(guān)內(nèi)容,主要是因為本系統(tǒng)以一種特殊的方式來處理數(shù)據(jù)庫操作,在這里一并介紹。
在充分考慮到數(shù)據(jù)庫應(yīng)用的廣泛性和多樣性后,本文嘗試將數(shù)據(jù)訪問模塊以Web Service形式獨立出來,具體方法是在服務(wù)器端提供一種通用的數(shù)據(jù)訪問和操作方式,應(yīng)用框架調(diào)用數(shù)據(jù)服務(wù)來完成相應(yīng)操作。服務(wù)器端的數(shù)據(jù)訪問接口均以Web Service標(biāo)準(zhǔn)來實現(xiàn)(采用WCF技術(shù)),應(yīng)用框架提供靈活的數(shù)據(jù)配置界面來設(shè)置必要的數(shù)據(jù)庫連接信息,在數(shù)據(jù)連接成功后,應(yīng)用框架會自動生成數(shù)據(jù)庫的增、刪、改、查界面。采用這種方式后,在涉及數(shù)據(jù)操作業(yè)務(wù)時就不必再次編碼,大大提高了系統(tǒng)的開發(fā)效率。
Web Service數(shù)據(jù)訪問的設(shè)計共分為兩個部分,數(shù)據(jù)模型層和Service功能層。數(shù)據(jù)模型層提供了數(shù)據(jù)庫的一般操作和數(shù)據(jù)格式的轉(zhuǎn)換,Service功能層則負(fù)責(zé)將數(shù)據(jù)庫的操作轉(zhuǎn)化成Web Service標(biāo)準(zhǔn)形式。
3.1 數(shù)據(jù)模型
數(shù)據(jù)模型是對數(shù)據(jù)訪問操作的封裝,主要組成部分如圖3.1所示。
數(shù)據(jù)庫訪問地址保存了數(shù)據(jù)庫訪問的必要信息,其格式通常為“遠(yuǎn)程數(shù)據(jù)庫地址:數(shù)據(jù)庫名:用戶名:密碼”??紤]到數(shù)據(jù)的安全性,數(shù)據(jù)庫的訪問地址并不會直接以一串完整文本保存下來,而是由用戶在配置界面輸入各字段,然后加密后分別保存起來。
初始化操作是對數(shù)據(jù)類的實例化,在實例化過程中使用傳入的參數(shù)構(gòu)造訪問地址,然后生成一個數(shù)據(jù)鏈接對象。在初始化過程中會捕獲數(shù)據(jù)庫連接的異常信息,例如用戶驗證失敗、遠(yuǎn)程地址不存在等,并及時將異常信息顯示在頁面上。
解析表是對數(shù)據(jù)表字段的獲取和轉(zhuǎn)化過程,該步驟與字段類型轉(zhuǎn)換過程是相關(guān)聯(lián)的,主要是將數(shù)據(jù)庫字段轉(zhuǎn)化成程序和頁面所需的類型。解析過程分三步進(jìn)行:第一,獲取數(shù)據(jù)表定義,根據(jù)表定義得到各個字段的數(shù)據(jù)庫類型。第二,將字段從數(shù)據(jù)庫類型轉(zhuǎn)化成程序類型(本系統(tǒng)為C#數(shù)據(jù)類型),通過比較數(shù)據(jù)庫與程序數(shù)據(jù)類型特點來完成轉(zhuǎn)化。第三,將字段從數(shù)據(jù)庫類型轉(zhuǎn)化成頁面類型(Html表單類型),通過對比網(wǎng)頁表單和數(shù)據(jù)庫的數(shù)據(jù)類型來完成。
讀取數(shù)據(jù)執(zhí)行獲取數(shù)據(jù)的SQL語句并返回數(shù)據(jù)結(jié)果,操作數(shù)據(jù)則執(zhí)行操作類的SQL語句,如增加、刪除,并返回操作狀態(tài)。
3.2 Service模型
數(shù)據(jù)模型完成了數(shù)據(jù)操作的所有功能,但其實現(xiàn)方法只能在本地項目中使用,無法被遠(yuǎn)程系統(tǒng)調(diào)用。為了實現(xiàn)數(shù)據(jù)操作的獨立性和通用性,必須將數(shù)據(jù)模型進(jìn)一步包裝成為符合Web Service標(biāo)準(zhǔn)的模型,該模型的組成部分如圖3.2所示。
試探連接是對數(shù)據(jù)庫的嘗試性訪問,只有連接成功才能進(jìn)行下一步操作,它是所有數(shù)據(jù)服務(wù)的前提。如果連接失敗,服務(wù)器會返回一個錯誤提示。
獲取所有表名操作會返回指定數(shù)據(jù)庫中的表名,該步驟是對數(shù)據(jù)表進(jìn)行操作的前提。在得到所有表名后,才能對相應(yīng)表進(jìn)行增、刪、改、查的操作。
獲取數(shù)據(jù)模型將數(shù)據(jù)表解析結(jié)果包裝起來,系統(tǒng)調(diào)用該功能后可以得到字段的程序類型和頁面類型。獲取數(shù)據(jù)內(nèi)容和操作數(shù)據(jù)表分別是讀取數(shù)據(jù)和操作數(shù)據(jù)的Web Service標(biāo)準(zhǔn)化的實現(xiàn)。
4 結(jié)論
本文介紹了基于Web Service的數(shù)據(jù)服務(wù),在數(shù)據(jù)服務(wù)端封裝了數(shù)據(jù)操作的常用功能。雖然數(shù)據(jù)服務(wù)覆蓋了數(shù)據(jù)操作的全部范圍,例如數(shù)據(jù)的增、刪、改、查功能,但這些功能都是簡單的模擬。基于Web Service的數(shù)據(jù)服務(wù)是本文的創(chuàng)新方向,目前還處于研究之中,許多功能必須要繼續(xù)完善才能最終投入到實際應(yīng)用中。
參考文獻(xiàn)
[1]李園,陳世平. MVC設(shè)計模式在ASP.NET平臺中的應(yīng)用[J].計算機工程與設(shè)計,2009,30(13):3180-3184.
[2]王海,韓冬旭. 基于MVC2三層架構(gòu)的培訓(xùn)管理系統(tǒng)的分析與設(shè)計[J].軟件導(dǎo)刊,2012(10):96-97.
面向教學(xué)MVC框架進(jìn)行WEB開發(fā)技術(shù)教學(xué)篇二
【摘 要】根據(jù)面向應(yīng)用型人才培養(yǎng)的目標(biāo),高校計算機專業(yè)Web開發(fā)技術(shù)的教學(xué)有必要進(jìn)行MVC開發(fā)模式的教學(xué)。本文就如何進(jìn)行MVC開發(fā)模式的教學(xué)提出了一種思路,介紹了一個面向教學(xué)的MVC框架,并給出了相應(yīng)的教學(xué)安排。
【關(guān)鍵詞】應(yīng)用型人才 Web開發(fā)技術(shù) MVC框架
【中圖分類號】G434 【文獻(xiàn)標(biāo)識碼】A 【文章編號】1674-4810(2012)05-0009-01
一 背景
當(dāng)今軟件行業(yè)蓬勃發(fā)展,很多高校認(rèn)識到發(fā)展應(yīng)用型本科教育既是社會發(fā)展的要求,也是教育發(fā)展的要求。現(xiàn)有計算機專業(yè)教學(xué)內(nèi)容的選擇,不同學(xué)校由于培養(yǎng)目標(biāo)不同,觀點也不同。但對軟件開發(fā),普遍認(rèn)同Web開發(fā)是大勢所趨,因此,以Web應(yīng)用開發(fā)為教學(xué)內(nèi)容的核心,是許多面向應(yīng)用型人才培養(yǎng)高校的選擇。但許多高校還停留在ASP.NET的事件驅(qū)動模式,有的甚至采用ASP作為主要教學(xué)內(nèi)容。
在Web應(yīng)用開發(fā)技術(shù)中,越來越多的軟件開發(fā)采用了MVC設(shè)計模式。由此可見,研究如何將教學(xué)內(nèi)容從傳統(tǒng)的ASP.NET之類的模式轉(zhuǎn)向MVC開發(fā)模式是十分有必要的,也是十分緊迫的一項工作。
本文首先討論MVC開發(fā)模式的教學(xué)方式選擇,然后介紹MVC原理和自主開發(fā)實現(xiàn)的一個既適用于教學(xué),又適用于實際開發(fā)的輕量級MVC開發(fā)框架,以及使用該框架開展教學(xué)的思路。
二 教學(xué)方式選擇
計算機專業(yè)教學(xué)必須做到理論和技術(shù)相結(jié)合,但如把“實際設(shè)計實現(xiàn)某系統(tǒng)”作為教學(xué)目標(biāo),則是一個看似合理卻很難操作的事情。在結(jié)合實踐開展教學(xué)方面,目前國內(nèi)外高校采用的通常有以下幾種形式:模擬驗證型、使用驗證型、剖析驗證型和擴(kuò)展設(shè)計型。
通常程序教學(xué)采用的教學(xué)方法為使用驗證型,教師先提出需求,再通過實例說明如何實現(xiàn)需求,最后給出類似的題目讓學(xué)生模仿,這可以幫助學(xué)生快速掌握開發(fā)技術(shù)。但由于MVC將輸入―處理―顯示過程徹底分離,使用傳統(tǒng)教學(xué)方法使得學(xué)生往往不理解MVC的原理,很難將其模仿得到的技能知識推廣到其他問題中。
顯然要培養(yǎng)高素質(zhì)的應(yīng)用型人才,最理想的形式應(yīng)該是“擴(kuò)展設(shè)計型”。這方面最著名的例子就是Minix,改變了操作系統(tǒng)這門課程的教學(xué)形式。由此可見,要將Web應(yīng)用開發(fā)的教學(xué)從傳統(tǒng)的ASP.NET之類的模式轉(zhuǎn)向MVC開發(fā)模式,應(yīng)該采用擴(kuò)展設(shè)計型的教學(xué)方式。
三 教學(xué)MVC框架
目前流行的MVC開發(fā)框架有很多,但采用這些技術(shù)作為教學(xué)內(nèi)容,則只能采用模擬驗證、使用驗證方式開展教學(xué),因此有必要開發(fā)一個面向教學(xué)、兼顧實用的MVC開發(fā)框架,以該框架為基礎(chǔ)開展教學(xué)。該開發(fā)框架應(yīng)該具有MVC所有核心功能,功能簡單、清晰,有利于教學(xué),但同時必須考慮足夠?qū)嵱眯?,避免教學(xué)脫離實踐。
1.MVC框架
MVC應(yīng)用程序被分成三個核心部件:模型、視圖、控制器。其處理過程,首先由控制器接收用戶請求,并決定調(diào)用哪個模型來進(jìn)行處理,然后模型用業(yè)務(wù)邏輯來處理請求并返回數(shù)據(jù),最后控制器用相應(yīng)的視圖格式化模型返回的數(shù)據(jù),并通過表示層呈現(xiàn)給用戶。
2.Pangu MVC框架
Pangu MVC是.NET平臺下的一個MVC開發(fā)框架,由紹興市教育科學(xué)2011年度規(guī)劃課題(SGJ11007)資助開發(fā),主要包括Model、Controller和View三部分。Model實現(xiàn)ORM,復(fù)雜但和MVC原理關(guān)系不大,教學(xué)中可以略講。Controller的核心包括Router和Controllers兩個模塊。Router實現(xiàn)URL路由,也就是根據(jù)URL請求確定對應(yīng)的Controller、Action和參數(shù);Controller實現(xiàn)控制器基類,主要實現(xiàn)Web上下文管理、調(diào)用Action和操縱View。而View部分則提供視圖操控能力,也就是將變量融合到模板中組裝出Html的方法,其核心是Token(標(biāo)簽)的處理。
該教學(xué)框架功能清晰,在保持足夠?qū)嵱眯缘幕A(chǔ)上去掉了許多“高級功能”,有利于學(xué)生將注意力集中在MVC原理的關(guān)鍵技術(shù)上,有利于教學(xué)的開展。支持以下重要教學(xué)概念:依賴注入(DI)、多數(shù)據(jù)庫、ORM、對象訪問服務(wù)、控制器、URL路由、視圖模板。
3.教學(xué)安排
基于該MVC框架,教學(xué)活動安排如下:第一,按照“擴(kuò)展設(shè)計”模式,完成一個開發(fā)教學(xué)案例,幫學(xué)生不但掌握使用MVC開發(fā)系統(tǒng)的原理,而且能將其應(yīng)用到實際的開發(fā)過程中。第二,編寫教程,對MVC原理和實現(xiàn)思路進(jìn)行詳細(xì)介紹,便于教師將其用到教學(xué)中,讓學(xué)生真正掌握MVC開發(fā)框架思想。
四 總結(jié)
通過開發(fā)面向教學(xué)的MVC框架以及配套的教學(xué)素材,將其應(yīng)用到計算機專業(yè)本科學(xué)生Web應(yīng)用開發(fā)的教學(xué)中,解決了原來學(xué)生難以理解MVC運作機制,從而難以真正應(yīng)用MVC開發(fā)模式的問題,收到了良好的教學(xué)效果。
參考文獻(xiàn)
[1]馬小軍、王育堅.計算機應(yīng)用型人才培養(yǎng)與課程建設(shè)淺析[J].計算機教育,2009(10)
[2]Ed H. Chi, Ruben Ortega. Expanding CS education; improving software development[J]. Communications of the ACM, 2010(53)
[3]劉林東. Web應(yīng)用開發(fā)課程的教學(xué)研究[J].電腦知識與技術(shù),2009(27)
[4]全金連、李琴、覃毅.基于MVC模式的成人教學(xué)管理系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2010(9)
[5]陳渝、向勇.“操作系統(tǒng)”課程實驗教學(xué)探討[J].計算機教育,2009(14)