已閱讀5頁,還剩82頁未讀, 繼續(xù)免費閱讀
(計算機應用技術(shù)專業(yè)論文)基于j2eemvc的web技術(shù)研究與應用.pdf.pdf 免費下載
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 摘要 目前,由于i n t e r n e t 技術(shù)的迅速發(fā)展,w e b 應用的范圍越來越廣泛。但是,在現(xiàn) 有的w e b 應用系統(tǒng)中,普遍存在著程序可重用程度低、維護工作繁瑣、應變能力薄弱 等不足。隨著w e b 應用的需求越來越復雜,開發(fā)周期越來越緊迫,且對系統(tǒng)的穩(wěn)定性、 擴展性和可維護性要求越來越高,如何進行合理地分層設計,各層的框架如何搭建以 及如何選擇最合理的技術(shù)就變得尤為重要。 本文以本人參與的i n f o x - e p o r t a l ( 移動信息門戶) 開發(fā)工作為背景,介紹了m v c 設計模式以及實現(xiàn)該模式的s t r u t s 框架,著重討論了s t r u t s 是如何實現(xiàn)m v c 模式以 及s t r u t s 各組件是如何協(xié)同工作的。討論了基于j 2 e e 的五層體系結(jié)構(gòu),分別對w e b 層、業(yè)務邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)存儲層等分層進行了分析和設計;同時,對各層 的實現(xiàn)技術(shù)進行了總結(jié),可以作為w e b 應用技術(shù)選擇的參考。 論文最后以設計和實現(xiàn)i n f o x - e p o r t a l 中運營商管理子模塊作為理論與實踐的結(jié) 合,詳細論述了多層體系架構(gòu)的實現(xiàn)以及s t r u t s 框架和h i b e r n a t e 框架在該項目中 的應用。給出了一種結(jié)合s t r u t s 框架和h i b e r n a t e 數(shù)據(jù)持久化技術(shù)來開發(fā)w e b 應用 系統(tǒng)的方法。 綜上所述,基于j 2 e e 平臺和m v c 設計模式開發(fā)w e b 應用,不但能夠有效地解決傳 統(tǒng)w e b 應用開發(fā)中存在的問題,而且采用分層及模塊化設計,使得系統(tǒng)流程清晰,易 于擴展和維護。 關(guān)鍵詞:j 2 e e 平臺m y c 設計模式s t r u t s 框架h i b e r n a t e 框架 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 a b s t r a c t a tp r e s e n t ,a si n t e r n e tr a p i d l yd e v e l o p s ,w e ba p p l i c a t i o ni sb e c o m i n gm o r ea n dm o r e w i d e l yu s e d h o w e v e r , i ti sv e r yc o m m o nt h a tp r o g r a m si nt h ee x i s t i n gw e ba p p l i c a t i o n s y s t e m sa r ew i t ht h ep r o b l e m so fl o wr e u s a b l i t y , c o m p l i c a t e dm a i n t e n a n c e a n db a d a d a p t i o n a st h er e q u i r e m e n t so fw e ba p p l i c a t i o ni sg e r i n gm o r ea n dm o r ec o m p l i c a t e d , t h ed e v e l o p i n gc y c l ei si n c r e a s i n g l yp r e s s i n ga n dt h er e q u i r e m e n t sf o rt h es y s t e m ss t a b i l i t y , a b i l i t yo fe x t e n s i o na n dm a i n t a i n a b i l i t yi si n c r e a s i n g l ya d v a n c e d ,s oi ti se s p e c i a l l y i m p o r t a n tt oc o n s i d e rt h ep r o b l e m so fh o wt od e s i g no nd i f f e r e n tl e v e l sp r o p e r l y , h o wt o b u i l df r a m e w o r k sw i t hd i f f e r e n tl e v e l sa n dh o wt os e l e c tt h em o s tr e a s o n a b l et e c h n o l o g y b yb u i l d i n gt h ep r o j e c to fi n f o x - e p o r t a l i nw h i c ht h ea u t h o r p a r t i c i p a t e s a s b a c k g r o u n d ,t h i st h e s i si n t r o d u c e sm v cd e s i g np a r e ma n d t h es t r u t sf r a m e w o r k ,w h i c hi s u s e dt op u ti ti n t op r a c t i c e ,p u t t i n gs p e c i a le m p h a s i so nd i s c u s s i n gh o wt or e a l i z em v c p a t t e r na n dh o wt h ec o m p o n e n t so fs t r u t sc o o p e r a t ea c c o r d i n g l y a n dd i s c u s s e st h e f i v e - l e v e ls y s t e mo nt h eb a s i so fj 2 e e ,e l a b o r a t i n gt h ed e s i g no fw e bl a y e r , b u s i n e s sa n d l o g i cl a y e r , d a t ae n d u r i n gl a y e ra n dd a t as t o r a g el a y e r , a n dr e a l i z i n gi t st y p i c a lf u n c t i o n m e a n w h i l e ,c o n c l u d e st h er e a l i z i n gt e c h n i q u e so f e a c hl e v e l ,m a k i n gi ta sr e f e r e n c eo fw e b a p p l i c a t i o nt e c h n i q u es l e c t i o n i nt h ee n d ,t h i st h e s i ss p e c i f i c a l l yd i s c u s s e st h er e a l i z a t i o no fm u l t i - l e v e ls t r u c t u r e sa n d s t r u t sf r a m ea n dt h ea p p l i c a t i o no fh i b e r n a t ef r a m ei nt h i sp r o g r a mo nt h eb a s i so f c o n s i d e r i n gd e s i g na n d r e a l i z a t i o no fb u s i n e s s m a nm a n a g i n gs u b - m o d u l a ri ni n f o x - e p o r t a l t h e 舔c o m b i n a t i o no ft h e o r ya n dp r a c t i c e m s o ,i td i s c u s s e sh o wt oc o m b i n es t r u t s f r a m e w o r ka n dh i b e r n a t ef r a m e w o r kf o rt h ea p p l i c a t i o no fm v cd e s i g np a a e r nt o s y s t e m a t i cd e v e l o p m e n t t os u r n m 矗i i z e ,t h ea p p l i c a t i o no fj 2 e ep l a t f o r ma n dm v cd e s i g np a t t e r nn o to n l yc a n e f f i c i e n t l ys o l v ep r o b l e m se x i s t i n gi nt r a d i t i o n a lw e ba p p l i c a t i o nd e v e l o p m e n t ,b u ta l s o m a k et h es y s t e mf l o wc l e a r , e a s yt oe x t e n da n dm a i n t a i nb ya d o p t i n gs t r a t i f i c a t i o na n d m o d u l a r i z e dd e s i g n ,k e yw o r d s :j 2 e ep l a t f o r m m v cd e s i g np a t t e r ns t r u t sf r a m eh i b e r n a t e 聲明 本學位論文是我在導師的指導下取得的研究成果,盡我所知,在 本學位論文中,除了加以標注和致謝的部分外,不包含其他人已經(jīng)發(fā) 表或公布過的研究成果,也不包含我為獲得任何教育機構(gòu)的學位或?qū)W 歷而使用過的材料。與我一同工作的同事對本學位論文做出的貢獻均 已在論文中作了明確的說明。 研究生簽名:互縋 z 。9 年7 月礦日 , 學位論文使用授權(quán)聲明 南京理工大學有權(quán)保存本學位論文的電子和紙質(zhì)文檔,可以借閱 或上網(wǎng)公布本學位論文的全部或部分內(nèi)容,可以向有關(guān)部門或機構(gòu)送 交并授權(quán)其保存、借閱或上網(wǎng)公布本學位論文的全部或部分內(nèi)容。對 于保密論文,按保密的有關(guān)規(guī)定和程序處理。 研究生簽名: 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 1緒論 1 1 課題背景 1 1 1 企業(yè)信息門戶的發(fā)展和現(xiàn)狀 所謂企業(yè)信息門戶是指在i n t e r n e t 的環(huán)境下,把企業(yè)內(nèi)部的各種應用系統(tǒng)、數(shù) 據(jù)資源和互聯(lián)網(wǎng)資源統(tǒng)一集成到整個企業(yè)信息的框架之下,并有針對性地考慮到每個 用戶的角色及其使用需求、使用特點的不同,形成為其定制的個性化的應用,并通過 對事件和消息的處理、傳輸把所有用戶有機地聯(lián)系在一起。它不僅僅局限或表現(xiàn)為建 立一個企業(yè)網(wǎng)站,提供一些企業(yè)、產(chǎn)品、服務的瀏覽信息,更重要的是平臺要能實現(xiàn) 企業(yè)內(nèi)各種業(yè)務系統(tǒng)的集成、能夠?qū)蛻舻母鞣N要求做出快速響應、并且能對整個供 應鏈進行統(tǒng)一管理。”?!??!啊?從最初提出的以面向公眾的企業(yè)門戶網(wǎng)站到目前面向企業(yè)內(nèi)外用戶與系統(tǒng)的公 共服務門戶,企業(yè)信息門戶不僅僅擔負著企業(yè)對內(nèi)外客戶的信息發(fā)布,同時平臺還肩 負著更為重要的使命把原來分布在各地、各部門的獨立系統(tǒng)( 即原來獨立的信息 孤島) 整合在一起;在信息資源充分共享的基礎(chǔ)上,采用統(tǒng)一的對外地址、對外界面 和服務準則保障企業(yè)各部門之間、企業(yè)與客戶之間信息的暢通、業(yè)務的高效處理,實 現(xiàn)高質(zhì)量地為客戶服務,提高客戶的滿意度和忠誠度;同時使企業(yè)內(nèi)部的信息實現(xiàn)共 享,并能支撐企業(yè)信息化各環(huán)節(jié),為企業(yè)信息化整體建設提供平臺?!薄?總之,市場高度客戶化環(huán)境和電子商務技術(shù)的快速發(fā)展是產(chǎn)生企業(yè)信息門戶的主 要動力,而信息門戶技術(shù)的應用必將推動信息技術(shù)革命進入一個全新的階段。 “移動門戶 是企業(yè)通過無線技術(shù)延伸其對外信息應用和交流的基礎(chǔ),企業(yè)可以 使用“移動門戶 搭建自己的短信網(wǎng)站和w a p 網(wǎng)站,并通過短信和w a p 網(wǎng)站向客戶及 消費者及時提供信息和服務,以及使其客戶和消費者能夠更及時方便地與之進行信息 交流 6 o 在p c 時代,硬件和軟件成為i t 產(chǎn)業(yè)的中流砥柱,i b m 、惠普、微軟等企業(yè)跑馬 圈地,群雄崛起?;ヂ?lián)網(wǎng)時代,搜索和游戲占據(jù)了虛擬的舞臺,g o o g l e 、百度、盛大 等公司相繼創(chuàng)造出億萬富翁的網(wǎng)絡神話。3 g 來臨前夜,不少人期望能發(fā)現(xiàn)基于移動 平臺的無限商機。移動增值服務產(chǎn)業(yè)方興未艾,成為各方關(guān)注和爭相進入的領(lǐng)域。 面對這個行業(yè)里激烈的競爭,無窮的變數(shù),很多人嘗試另辟蹊徑,從一個相對較為“冷 僻的角度切入,比如電子商務的另二種形態(tài)一移動電子商務”。 在話音服務需求基本得到滿足后,中國的手機用戶開始將注意力轉(zhuǎn)移到消息溝 通、圖片、音樂和游戲上。隨著無線網(wǎng)絡帶寬的提升和3 g 時代的來臨,用戶對于手 機郵件、移動視頻、移動定位和移動互聯(lián)等高速數(shù)據(jù)業(yè)務的需求潛力還很大,不斷變 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 化的需求和應用已經(jīng)帶來了全新的市場機會和商業(yè)金礦。 移動商務( m o b il e c o m m e r c e ) 正擴大成為利用移動互聯(lián)技術(shù)通過手機、p d a 和筆 記本電腦等移動終端進行的商務交易,作為移動通信網(wǎng)和互聯(lián)網(wǎng)的有機結(jié)合而不是依 賴于單個解決方案或戰(zhàn)略,是無線新經(jīng)濟趨勢下增強客戶交互能力、提高企業(yè)交易效 率的新型商務模式“?!耙苿有畔㈤T戶 的建設無疑滿足了市場的這種迫切需求。 1 1 2w e b 開發(fā)技術(shù)的發(fā)展 w e b 應用開發(fā)先后出現(xiàn)了c g i 、p h p 、a s p 及j s p 等技術(shù),這些技術(shù)的產(chǎn)生緩解了 w e b 編程的難度。但是它們有一個共同的弱點,就是未能將業(yè)務邏輯和界面顯示分離 開來“。這就意味著,開發(fā)中各個小組之間相互依賴,不能做到各開發(fā)小組并行開 發(fā),經(jīng)常是每修改一處,都要涉及到幾個小組之間的事情,牽一發(fā)而動全身,大大增 加了開發(fā)周期。代碼的可讀性、可維護性和可擴展性都非常差,不利于后續(xù)的開發(fā)和 維護工作。 令人欣慰的是,l d v c 設計模式的產(chǎn)生在一定程度上解決了上述難題。l d v c 模式的 思想不僅使功能模塊和顯示模塊分離開來,同時它還提高了應用系統(tǒng)的可維護性,可 擴展性,可移植性和組件的可復用性。而j a k a r t a - s t r u t s 正是基于蝌c 模式的一 個通用的請求控制器框架”,它是a p a c h e 軟件組織提供的一項開放源代碼項目,尤 其適用于開發(fā)大型可擴展的w e b 應用。s t r u t s 使得開發(fā)人員可以把精力集中在如何 解決實際業(yè)務問題上。些外,s t r u t s 框架提供了許多可供擴展和定制的地方,使得 應用程序可以方便地擴展框架,來更好地適應用戶的需求”一。 在所有的應用系統(tǒng)中,無論規(guī)模大小幾乎都需要有一個后端的數(shù)據(jù)庫保存數(shù)據(jù) l , l - , j 。目前,流行的關(guān)系型數(shù)據(jù)庫依然統(tǒng)治著業(yè)界的市場,我們一直在絞盡腦汁來優(yōu) 化數(shù)據(jù)庫的存取過程。 企業(yè)應用開發(fā)者在應用層和底下的數(shù)據(jù)庫之間創(chuàng)建了一個“持久層 。這個持久層 負責存儲從應用層到數(shù)據(jù)庫的數(shù)據(jù),也負責數(shù)據(jù)的檢索,更新和刪除。在基于j 2 e e 的 企業(yè)應用中,組成這個持久層的j a v a 類既可以映射對象到數(shù)據(jù),也可以映射數(shù)據(jù)到 對象“。使用3 d b c + d a o ( d a t aa c c e s so b j e c t ) 來直接訪問持久數(shù)據(jù)層是當今企業(yè) 級應用開發(fā)中使用最廣泛的,雖然這種方式具有運行效率高的優(yōu)點,但是它也存在很 多的困難,如把d a o 對象和s o l 語言緊密耦合在一起使得程序在大型項目中難以維 護“。那么用什么來持久化數(shù)據(jù)呢? o r m 即0 b j e c t r e l a t i o nm a p p i n g ,它的作用是在關(guān)系型數(shù)據(jù)庫和對象之間作一個 自動映射“,h i b e r n a t e 是目前比較流行的o r m ,而且自帶的文檔極其豐富。它不 僅提供了從j a v a 類到數(shù)據(jù)表之間的映射,也提供了數(shù)據(jù)查詢和恢復機制。相對于使 用j d b c 和s q l 來手工操作數(shù)據(jù)庫,使用h i b e r n a t e 可以大大減少操作數(shù)據(jù)庫的工 作量“。h ib e r n a t e 是一個開放源代碼的o r l d ,它對j d b c 進行了輕量級的對象封 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 裝,使j a v a 程序員可以隨心所欲地使用面向?qū)ο缶幊趟季S來操縱數(shù)據(jù)庫。 w e b 本身就是一個最大的分布式應用系統(tǒng)。對于分布式開發(fā)而言,x m l 技術(shù)也大 有用武之地。一個明顯的事實是,如果能讓分布式應用借助x m l 格式交換信息,那么, 以往橫亙在分布式架構(gòu)上的信息交換難題也就迎刃而解了。1 9 9 9 年,w 3 c 和相關(guān)的企 業(yè)開始討論設計基于) ( l l 的通信協(xié)議,2 0 0 0 年,w 3 c 發(fā)布了s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c 0 1 ) 協(xié)議的1 1 版“。人們把利用s o a p 協(xié)議傳遞x m l 信息的分布式 應用模型稱為w e bs e r v i c e 。2 0 0 1 年,w 3 c 發(fā)布了w s d l ( w e bs e r v i c e sd e s c r i p t i o n l a n g u a g e ) 協(xié)議的1 1 版”一。s o a p 協(xié)議和w s d l 協(xié)議共同構(gòu)成了w e bs e r v i c e 的基 礎(chǔ)。隨后,j 2 e e 和n e t 這兩大企業(yè)級開發(fā)平臺先后實現(xiàn)了w e bs e r v i c e 。,并將其 視為平臺的一項核心功能。 w e bs e r v i c e 對于w e b 開發(fā)者的重要意義在于,當我們需要在不同的服務端、不 同的客戶端乃至不同的應用類型、不同的計算設備之間傳遞信息的時候,以往的分布 式開發(fā)技術(shù)或者因為適應性不強,或者因為擴展能力不足,都難以滿足現(xiàn)代w e b 開發(fā) 的需要,而w e bs e r v i c e 正好填補了這一空白”。 基于以上原因,本文以“移動信息門戶 ( i n f o x e p o r t a l ) 為背景,探討了在j 2 e e 平臺上利用s t r u t s 、h i b e r n a t e 及w e bs e r v i c e 等技術(shù)開發(fā)w e b 應用的方法。 1 2 本文的研究內(nèi)容及技術(shù)路線 1 j 2 e e 平臺框架和m v c 設計模式研究。首先,從j 2 e e 體系結(jié)構(gòu)、核心技術(shù)、j 2 e e 各組件的作用等方面闡述了j 2 e e 平臺框架。接著,引出了m v c 設計模式,指出可以 基于m v c 模式解決目前w e b 應用開發(fā)中存在的問題。 2 詳細介紹了m v c 設計模式的實現(xiàn)s t r u t s 框架,分析了它的體系結(jié)構(gòu)、工 作原理、核心組件、配置文件以及對m v c 設計模式的實現(xiàn)。 3 分析了w e b 應用開發(fā)的傳統(tǒng)的兩層體系結(jié)構(gòu)和目前常用的三層體系結(jié)構(gòu),分 別指出其不足之處。接著,重點討論了基于j 2 e e 的五層體系結(jié)構(gòu)。同時,本文對各 層的實現(xiàn)技術(shù)做了一定的歸納分析,可作為w e b 應用技術(shù)選擇的參考。 4 介紹和分析了w e b 應用中的數(shù)據(jù)持久化框架h i b e r n a t e 。 5 基于上述分析,并根據(jù)“移動信息門戶”的功能,具體設計了i n f o x e p o r t a l 項目。其中,整個系統(tǒng)采用上述五層體系結(jié)構(gòu)進行分層及模塊化設計。分別對w e b 層、業(yè)務邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)存儲層等分層進行了詳細設計。 6 最后設計和實現(xiàn)了i n f o x - e p o r t a l 中運營商管理子模塊。詳細論述了多層體 系架構(gòu)的實現(xiàn)以及s t r u t s 框架和h i b e r n a t e 框架在該項目中的應用。并討論了如何 結(jié)合s t r u t s 框架和h i b e r n a t e 框架來將m v c 設計模式具體應用到系統(tǒng)開發(fā)中。 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 2 j 2 e e 體系結(jié)構(gòu) 2 1j 2 e e 平臺概述 j 2 e e ( j a v a 2p l a t f o r me n t e r p r i s ee d i t i o n ) 平臺規(guī)范是由s u n 公司于1 9 9 9 年 1 2 月正式推出的用于簡化分布式企業(yè)級應用開發(fā)與部署的基于組件的模式,其基礎(chǔ) 是j 2 s e ( j a v a 2p l a t f o r ms t a n d a r de d i t i o n ) 叫a v a 2 平臺標準版“一,目前j 2 e e 最新版本是1 5 版。 j 2 e e 的設計目的是提供對服務端的支持,從而推動企業(yè)及企業(yè)中多層應用程序的 發(fā)展。如圖2 1 1 ”“所示,j 2 e e 平臺提供了一個多層分布式應用程序模型。這表明 應用程序的各個部分能夠運行在不同的設備上。j 2 e e 結(jié)構(gòu)中分別定義了客戶層 ( c l i e n tt i e r ) 、中間層( m i d d l et i e r ,由一個或多個子層組成) 和用來提供現(xiàn)存信息 系統(tǒng)的各種服務的后端系統(tǒng)層。客戶層可以支持各種客戶類型,即包括公司防火墻內(nèi) 部和外部的用戶。中間層通過w e b 層的w e b 容器來支持客戶服務,并通過e j b ( e n t e r p r i s ej a v a b e a n s ) 層的e j b 容器支持商務邏輯組件服務。企業(yè)信息系統(tǒng)( e i s ) 層能夠通過標準a p i 的方法來支持對現(xiàn)存信息系統(tǒng)的訪問。 客戶層中間層 企業(yè)信息系統(tǒng)層 圖2 1 1j 2 e e 環(huán)境 2 2j 2 e e 平臺優(yōu)勢和價值地位 j 2 e e 為搭建具有可伸縮性、靈活性、易維護性的商務系統(tǒng)提供了良好的機制,具 有如下優(yōu)勢 2 刨: 4 碩士論文 基于j 2 e e m v c 的w e b 技術(shù)研究與應用 1 簡化的結(jié)構(gòu)和開發(fā)過程。j 2 e e 平臺支持一個簡化的基于組件的開發(fā)模型, 這是由于它基于j a v a 編程語言及j a v a 2 平臺標準版,這一模型具有“編寫一次,隨 處運行 的可移植性,并被任何遵循j 2 e e 標準的服務器產(chǎn)品所支持。 2 適應各種變化要求的可伸縮性。j 2 e e 容器提供了一種機制,以支持對分布 式應用程序進行伸縮。 3 與現(xiàn)有企業(yè)信息系統(tǒng)的集成方便。j 2 e e 平臺有大量用來訪問現(xiàn)有企業(yè)信息 系統(tǒng)的工業(yè)化標準的a p i 。 4 對服務器、工具和組件的選擇靈活自由。 5 簡化、統(tǒng)一的安全模型。j 2 e e 安全模型被設計用來支持訪問應用程序服務 只需一次登錄。組件開發(fā)者可以在方法級別上指定某一個組件的安全要求, 從而確保只有擁有合法權(quán)益的用戶能訪問特定的數(shù)據(jù)操作。 構(gòu)建在j a v a 編程語言和j a v a 技術(shù)基礎(chǔ)之上的j 2 e e 平臺是最適合于采用多層企 業(yè)級分布式環(huán)境的軟件體系架構(gòu)。j 2 e e 平臺給i t 機構(gòu)、應用開發(fā)者和產(chǎn)品供應商都 帶來了巨大的好處,能夠很好地適應現(xiàn)代軟件開發(fā)的需要,體現(xiàn)了諸多價值“: 供應商可以開發(fā)運行在支持j 2 e e 平臺的任何系統(tǒng)之上的產(chǎn)品。因此,不需 要額外的付出,他們的產(chǎn)品就可以運行在多種系統(tǒng)平臺上。 團隊i t 開發(fā)者會從可移植性組件技術(shù)這一優(yōu)點中獲得巨大好處。i t 應用獨 立于供應商,使得i t 機構(gòu)不再依賴某一個供應商。 i t 開發(fā)者可以專注于支持業(yè)務處理的需求,而不需要花時間去創(chuàng)造內(nèi)部的 應用架構(gòu)。由應用服務器處理一些復雜的問題,如多線程、同步處理、事務、 資源分配和生命周期管理等。 i t 機構(gòu)可以利用建立在標準平臺之上的最好的產(chǎn)品。他們有很多產(chǎn)品可以 選擇,并根據(jù)他們的需求選擇最適合的和代價最小的開發(fā)產(chǎn)品、部署產(chǎn)品和 部署平臺。 采用j 2 e e 平臺可以大幅提高生產(chǎn)效率,因為j a v a 開發(fā)者可以很快地掌握 j 2 髓a p i 。 采用j 2 e e 平臺可以保護公司的投資,因為它是一個工業(yè)標準,而不是某個 供應商特有的結(jié)構(gòu)。 開發(fā)小組可以更快地創(chuàng)建新的應用和系統(tǒng),1 這可以縮短產(chǎn)品投入市場的時 間,并降低開發(fā)費用。 這個分布式計算的標準開發(fā)平臺保證了所開發(fā)的應用建立在成熟的平臺之 上。 j 2 e e 平臺把應用在物理上邏輯性地分成多層,因此,自然地滿足了多層應 用的需求。 5 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 開發(fā)者可以創(chuàng)建自己的j 2 e e 平臺組件,也可以從快速發(fā)展的第三方市場獲 得這些組件。因此供應商可以開發(fā)出他們自己的組件,而用戶也可以根據(jù)需 要購買這些組件。 2 3j 2 e e 體系結(jié)構(gòu) j 2 e e 使用多層的分布式應用模型,應用邏輯按功能劃分為組件,包括客戶端組件、 表示層組件、業(yè)務邏輯層組件等。各個組件根據(jù)他們所在的層分布在不同的機器上。 j 2 e e 體系結(jié)構(gòu)”“如圖2 3 1 所示。 c l i 翰t p r m 跏t a t i o n 蛔i c b u s i m s s k 疆i c 嗽- 酬 白亭t 皇- 圖2 3 1j 2 e e 體系結(jié)構(gòu) 如圖2 3 1 所示,整個應用系統(tǒng)由客戶端( c l i e n t ) 、表示層( p r e s e n t a t i o n l o g i c ) 、業(yè)務邏輯層( b u s i n e s sl o g i c ) 和后臺支持系統(tǒng)( b a c k - e n ds y s t e m ) 組成。下 面分別簡述。 1 客戶端:客戶應用端部分。它可以是基于w e b 應用的,也可以不是基于w e b 應用的。本論文討論的即是基于w e b 應用。在典型的w e b 應用中,典型的客戶端就是 瀏覽器,如i e 。用戶的瀏覽器在客戶端運行,并從一個w e b 服務器上下載表示層的 頁面,如靜態(tài)的h t m l 頁面、j s p 以及x m l 等程序。 2 表示層:在典型的w e b 應用中,表示層主要采用j s p 或者s e r v l e t 組件。它 主要負責完成與用戶交互的功能。 3 業(yè)務邏輯層:該層構(gòu)成了w e b 應用的業(yè)務邏輯規(guī)則,是整個應用的核心部分。 6 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 它將業(yè)務劃分為一個個獨立的邏輯單元e j b 。e j b 根據(jù)客戶請求訪問數(shù)據(jù)庫,并進行 相應的邏輯計算。 4 后臺支持系統(tǒng):它運行企業(yè)信息系統(tǒng)軟件,如企業(yè)資源計劃( e r p ) 、數(shù)據(jù)庫系 統(tǒng)( d b ) 及遺留信息系統(tǒng)( l e g a c ys y s t e m s ) 等。 2 4j 2 e e 核心a p i j 2 e e 平臺由一整套服務( s e r v i c e s ) 、應用程序接口( a p i s ) 和協(xié)議構(gòu)成,它對開發(fā) 基于w e b 的多層應用提供了強大的功能支持”一,以下是j 2 e e 中的9 種主要a p i 的簡 單描述: 1 j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ) :j d b ca p i 為訪問不同的數(shù)據(jù)庫提供 一種統(tǒng)一途徑,與o d b c 一樣,j d b c 對開發(fā)者屏蔽了一些細節(jié)問題,另外j d b c 對數(shù) 據(jù)庫的訪問也具有平臺無關(guān)性”。 2 j n d i ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) :3 n d ia p i 被用于執(zhí)行名字 和目錄服務。它提供了一致的模型來存取和操作企業(yè)級的資源,如d n s ,l d a p 、本地 文件系統(tǒng)或應用服務器中的對象。 3 e j b ( e n t e r p r i s ej a v ab e a n ) :提供了一個框架來開發(fā)和實施分布式商務邏 輯,并且顯著地簡化了具有可伸縮性和高度復雜的企業(yè)級應用的開發(fā)。e j b 規(guī)范定義 了e j b 組件在何時如何與它們的容器進行交互作用。容器負責提供公用的服務,例如 目錄服務、事務管理、安全性、資源緩沖池以及容錯性。但這里值得注意的是,e j b 并不是實現(xiàn)j 2 e e 的唯一途徑。正是由于j 2 e e 的開放性,使得有的廠商能夠以一種和 e j b 平行的方式來達到同樣的目的。e j b 是j 2 e e 體系結(jié)構(gòu)的骨干部分”“。 4 p i i ( r e m o t em e t h o di n v o k e ) :r m i 協(xié)議調(diào)用遠程對象方法。它使用了序列 化方式在客戶端和服務器端傳遞數(shù)據(jù)。r m i 是一種被e j b 使用的更底層的協(xié)議。 5 j a v ai d l c o r b a :在j a v a i d l 的支持下,開發(fā)人員可以將j a v a 和c o r b a 集成 在一起。通過它,j a v a 可以將新的應用和舊的系統(tǒng)集成在一起”。 6 j s p ( j a v as e r v e rp a g e s ) :j s p 頁面由h t m l 代碼和嵌入其中的j a v a 代碼組 成。服務器在j s m 頁面被客戶端請求訪問以后,對這些j a v a 代碼進行處理,然后將 生成的頁面返回給客戶端的瀏覽器“。 7 j a v as e r v l e t :s e r v l e t 是一種小型的j a v a 程序,它擴展了w e b 服務器的功 能。作為一種服務器端的應用,當被請求時開始執(zhí)行。s e r v l e t 提供的功能大多與j s p 相似,不過實現(xiàn)的方式不同。j s p 通常是大多數(shù)h t m l 代碼中嵌入少量的j a v a 代碼, 而s e r v l e t 全部采用j a v a 語言開發(fā)”。 8 x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) :x m l 是一種可以用來定義其它標記語 言的語言。它被用來在不同的商務過程中共享數(shù)據(jù)。x m l 的發(fā)展和j a v a 是相互獨立 7 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 的。但是,它和j a v a 具有相同的目標,即平臺獨立性。通過將j a v a 和x m l 的組合, 可以得到一個完美的具有平臺獨立性的解決方案。 9 j m s ( j a v am e s s a g es e r v i c e ) :j m s 是用于和面向消息的中間件相互通信的 應用程序接口。由于本文沒有涉及,這里不展開說明。 2 5e j b 組件 2 5 1e j b 組件模型 如上所述,e j b ( e n t e r p r is ej a v a b e a n ) 組件是j 2 e e 體系結(jié)構(gòu)的骨干部分。它是 基于標準分布式對象技術(shù)、c o r b a 和r m i 的服務器端j a v a 組件。s u n 公司對e j b 的定 義是:e j b 是用于開發(fā)和部署多層結(jié)構(gòu)的、分布式的、面向?qū)ο蟮膉 a v a 應用系統(tǒng)的、 跨平臺的構(gòu)件體系結(jié)構(gòu)”u 。e j b 技術(shù)與其它的j 2 e e 技術(shù)相結(jié)合,為企業(yè)級的電子商 務系統(tǒng)的開發(fā)提供了一個安全、可靠、靈活以及伸縮性很強的開發(fā)平臺。圖2 5 1 1 為e j b 組件模型的原理圖”“。 l 一? 蘭匕一j - _ _ l _ i - _ - 圖2 5 1 1e j l 3 組件模型 如圖2 5 1 1 所示,e j b 組件模型由下面的部分組成:e j bs e r v e r 、e j bc o n t a i n e r r e m o t ei n t e r f a c e 、h o m ei n t e r f a c e 、e j bo b j e c t 。關(guān)于上述各容器和接口的原理及 作用請見參考文獻。 e j b 組件模型的工作原理可簡述為:w e bs e r v e r 把客戶端的請求分發(fā)到應用系統(tǒng) 層,首要的目標是找到特定服務的e j l 3 組件,w e bs e r v e r 透過e j bs e r v e r 層,與e j b c o n t a i n e r 通信,查找并且定位h o m e 對象,h o m e 對象是e j b 對象與客戶端應用程序 之間通信的接口,當找到特定的h o m e 對象時,我們就可以利用這個對象,創(chuàng)建一個 r e m o t e 對象,這個r e m o t e 對象封裝了e 3 b 對象所有的功能,在應用程序中調(diào)用r e m o t e 8 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 對象的方法,實際上就是調(diào)用e j b 對象的方法。 關(guān)于e j b 的具體工作機制請見參考文獻”一。限于篇幅,這里不展開論述。 2 5 2e j b 組件分類 e j b l 0 規(guī)范中定義的e j b 總共有兩大類:實體b e a n ( e n t i t yb e a n ) 和會話b e a n ( s e s s i o nb e a n ) 。分別做如下簡述。 1 實體b e a n 用來表示持久性的數(shù)據(jù),并且提供相應的方法來訪問控制這些數(shù)據(jù)。 根據(jù)實現(xiàn)方式的不同,實體b e a n 可以分為容器管理的持久性( c m p ) 和b e a n 管理的持 久性( b m p ) 兩種。c m p 由容器來完成b e a n s 的持久性管理和實例的維護。b m p 則由b e a n s 本身來管理持久性,所以具有更大的靈活性和容器無關(guān)性”。但是c m p 的效率比b m p 要高,所以在構(gòu)建實際的應用時,我們主要采用c m p 。 2 會話b e a n 由客戶端創(chuàng)建,多數(shù)情況下存在于單個客戶和服務器會話期間。它 的最主要功能是實現(xiàn)業(yè)務邏輯、業(yè)務規(guī)則和工作流。會話b e a n 也有兩種:無狀態(tài)的 會話b e a n 和有狀態(tài)的會話b e a n 。無狀態(tài)的會話b e a n 可以被多個客戶端訪問,不存 儲任何一個客戶端的會話信息;有狀態(tài)的會話b e a n 則與惟一的一個客戶端維持會話 信息 2 4 。 另外,從e f b l 1 規(guī)范開始增加了消息驅(qū)動b e a n ,它是能夠接收j m s 消息的特殊 e j b 組件,由于本文沒有采用該組件技術(shù),不再贅述。 簡言之,e j b 規(guī)范提供了一種開發(fā)和部署服務器端組件的方法。每個e j b 是按功 能邏輯劃分的,開發(fā)時不必關(guān)心系統(tǒng)底層細節(jié)問題,只關(guān)注具體的事務分析。e j l 3 開 發(fā)完畢后,按規(guī)劃部署在e j b 容器中,完成相應的事務功能。e j b 支持分布式計算, 真正體現(xiàn)了企業(yè)級的應用”“。本文沒有使用e j b 進行數(shù)據(jù)持久化,而是用目前流行 的h i b e r n a t e 作為數(shù)據(jù)持久化框架,關(guān)于h i b e r n a t e 的詳細介紹請見第4 章。 9 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 3b i v c 設計模式及s t r u ts 框架技術(shù) 3 1m v c 設計模式 3 1 1 基礎(chǔ)概念 1 組件 組件( c o m p o n e n t ) 是“獨立的、可分發(fā)的、可重用的服務的集合”“。它的目的 是將對象( 包括其用戶界面、對外接口等屬性以及對象的功能實現(xiàn)) 封裝成一個規(guī)范 的、標準的、可被組件容器所操縱和使用的整體,使其成為一個通用、高效的軟件部 件 1 0 。 如今開發(fā)企業(yè)級應用系統(tǒng)大量采用組件技術(shù)。現(xiàn)今最流行的分布式組件體系結(jié)構(gòu) 標準有m i c r o s o f t 公司的n e t ,s u n 公司的j 2 e e e j b 以及o m g 的c o r b a 。組件技術(shù) 使得設計人員可以通過對各種各樣的組件的使用來方便快捷地生成應用系統(tǒng),從而進 一步提高軟件的復用性,縮短軟件開發(fā)周期,提高開發(fā)效率,增加軟件開發(fā)的規(guī)范性。 2 框架 框架( f r a m e w o r k ) 是整個或者部分系統(tǒng)的可重用設計,表現(xiàn)為一組抽象組件及組 件實例間交互的方法;另一種定義認為,框架是可被應用開發(fā)者定制的應用骨架。前 者是從應用方面,而后者是從目的方面給出的定義“。 可以說,一個框架是一組可復用的設計組件,它規(guī)定了應用的體系結(jié)構(gòu),闡明了 整個設計、協(xié)作組件之間的依賴關(guān)系、責任分配和控制流程,表現(xiàn)為一組抽象類以及 其實例之間協(xié)作的方法,它為組件復用提供了上下文關(guān)系。因此組件庫的大規(guī)模重用 也需要框架。 應用框架強調(diào)的是軟件的設計重用性和系統(tǒng)的可擴展性,以縮短大型應用軟件系 統(tǒng)的開發(fā)周期,提高開發(fā)質(zhì)量。與傳統(tǒng)的基于類庫的面向?qū)ο笾赜眉夹g(shù)比較,應用框 架更注重于面向?qū)I(yè)領(lǐng)域的軟件重用。應用框架具有領(lǐng)域相關(guān)性,組件根據(jù)框架進行 組合而生成可運行的系統(tǒng)??蚣艿牧6仍酱螅渲邪念I(lǐng)域知識就更加完整。 通過基于請求響應( r e q u e s t r e s p o n s e ) 模式的應用框架,基本上由如下幾個 邏輯結(jié)構(gòu)組成“。 控制器( c o n t r o l l e r ) 。控制器控制整個框架中各個組件之間的協(xié)調(diào)工作。 業(yè)務邏輯層( b u s i n e s sl o g i c ) 。這是框架所希望解決問題的關(guān)鍵。當然,對 框架本身來說,這里僅僅只是概念和幾個提供服務的基礎(chǔ)組件,真正的實現(xiàn) 與具體客戶的業(yè)務邏輯接軌,還需要開發(fā)人員在框架上再次擴展。 數(shù)據(jù)邏輯層( d a t al o g i c ) 。大部分應用系統(tǒng)都需要涉及到數(shù)據(jù)交互,這一層 次主要包括了數(shù)據(jù)邏輯和數(shù)據(jù)訪問接口。 1 0 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 3 架構(gòu) 構(gòu)架和架構(gòu)也就是通常所說的軟件體系結(jié)構(gòu)( s o f t w a r ea r c h i t e c t u r e ) 。體系結(jié) 構(gòu)一般包括三個部分一: 構(gòu)件,用于描述計算; 連接器,用于描述構(gòu)件的連接部分; 配置,將構(gòu)件和連接器組成一個有機整體。 體系結(jié)構(gòu)與框架( f r a m e w o r k ) 的區(qū)別和聯(lián)系如下“一: ( 1 ) 呈現(xiàn)形式不同:體系結(jié)構(gòu)的呈現(xiàn)形式是一個設計規(guī)約,而框架則是程序代 碼。 ( 2 ) 目的不同:體系結(jié)構(gòu)的首要目的大多是指導一個軟件系統(tǒng)的實施與開發(fā); 而框架的首要目的是為復用。因此,一個框架可有其體系結(jié)構(gòu),用于指導該框架的開 發(fā),反之不然。 ( 3 ) 有種特殊的體系結(jié)構(gòu),d s s a ( 領(lǐng)域特定體系結(jié)構(gòu)) 其首要目的也是為了復用。 ( 4 ) 體系結(jié)構(gòu)框架,也叫中間件集成框架;將它用程序代碼實現(xiàn)后就成了c o r b a , c o m 之類的東西。又有人愿意叫它對象中間件。 軟件架構(gòu)( s o f t w a r ea r c h i t e c t u r e ) 用于指導大型軟件系統(tǒng)各個方面的設計, 因此也可以說軟件架構(gòu)是一個系統(tǒng)的草圖。軟件架構(gòu)描述的對象是直接構(gòu)成系統(tǒng)的抽 象組件。在實現(xiàn)階段,這些抽象組件被細化為實際的組件,比如具體某個類或者對象。 在面向?qū)ο箢I(lǐng)域中,組件之間的連接通常是用接口來實現(xiàn)的。 軟件體系結(jié)構(gòu)是構(gòu)建計算機軟件實踐的基礎(chǔ)。與建筑師設定建筑項目的設計原則 和目標,作為繪圖員畫圖的基礎(chǔ)一樣;一個軟件架構(gòu)師或者系統(tǒng)架構(gòu)師陳述軟件構(gòu)架, 作為滿足不同客戶需求的實際系統(tǒng)設計方案的基礎(chǔ)。 架構(gòu)的種類: 根據(jù)我們關(guān)注的角度不同,可以將架構(gòu)分成三種: 邏輯架構(gòu):軟件系統(tǒng)中元件之間的關(guān)系,比如用戶界面,數(shù)據(jù)庫,外部系統(tǒng) 接口,商業(yè)邏輯元件,等等。 物理架構(gòu):軟件元件是怎樣放到硬件上的。 系統(tǒng)架構(gòu):系統(tǒng)的非功能性特征,如可擴展性、可靠性、強壯性、靈活性、 性能等。一 軟件架構(gòu)不是軟件,而是關(guān)于軟件如何設計的重要決策。軟件架構(gòu)決策涉及到如 何將軟件系統(tǒng)分解成不同的部分、各部分之間的靜態(tài)結(jié)構(gòu)關(guān)系和動態(tài)交互關(guān)系等。經(jīng) 過完整的開發(fā)過程之后,這些架構(gòu)決策將體現(xiàn)在最終開發(fā)出的軟件系統(tǒng)中。當然,引 入軟件框架之后,整個開發(fā)過程變成了“分兩步走 ,而架構(gòu)決策往往會體現(xiàn)在框架 之中?;蛟S,人們常把架構(gòu)和框架混為一談的原因就在于此吧“。 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應用 4 設計模式 框架與設計模式這兩個概念也容易被混淆,其實它們之間還是有區(qū)別的。組件是 代碼重用,而設計模式是設計重用,框架則介于二者之間,部分代碼重用,部分設計 重用,有時分析也可重用。在軟件生產(chǎn)中有三個級別的重用: ( 1 ) 內(nèi)部重用,即在同一應用中能公共使用的抽象塊; ( 2 ) 代碼重用,即將通用模塊組成庫或工具集,以便在多個應用和領(lǐng)域都能使用; ( 3 ) 應用框架重用,即為專門領(lǐng)域提供通用的或現(xiàn)成的基礎(chǔ)結(jié)構(gòu),即最高級別的 重用性。 框架與設計模式雖然相似,但卻有著根本的不同。設計模式是在對某種環(huán)境中反 復出現(xiàn)的問題以及解決該問題的方案的描述。它比框架更抽象;框架可以用代碼 表示,也能直接執(zhí)行或復用,而對模式而言只有實例才能用代碼表示;設計模式是比 框架更小的元素,一個框架中往往含有一個或多個設計模式,框架總是針對某一特定 應用領(lǐng)域,但同一模式卻可適用于各種應用。可以說,框架是軟件,而設計模式是軟 件的知識。 基本的設計模式有簡單工廠模式、適配器模式、觀察者模式、m v c 模式、代理模 式等等 3 別。 3 1 2m o d e l1 和m o d e l2 信息技術(shù)的快速發(fā)展使得計算模式也不斷地更新,在今天構(gòu)建企業(yè)信息系統(tǒng)時是 向以b s 架構(gòu)為主流的多層w e b 方向發(fā)展。一般來說基于b s 架構(gòu)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高一必修四的題目及答案
- 鄉(xiāng)村題材短視頻的傳播策略研究-以網(wǎng)紅“鄉(xiāng)愁沈丹”為例
- 巖土工程詳細介紹
- 2025年職業(yè)道德與衛(wèi)生法律法規(guī)高頻考題及答案(共210題)
- 2025年醫(yī)院三基知識考試試題庫及答案(共200題)
- 2025年叉車中級證考試題及答案
- 2025年智能電動車考試題及答案
- 2025年綜合知識測試試卷及答案
- 串串火鍋加盟合同范本
- 科目一考試題型型及答案
- 鐵路工程道砟購銷
- 2024年廣東省廣州市中考歷史真題(原卷版)
- 壯醫(yī)藥線療法
- 超星爾雅學習通《中國古代史(中央民族大學)》2024章節(jié)測試答案
- 項目4任務1-斷路器開關(guān)特性試驗
- 編輯打印新課標高考英語詞匯表3500詞
- (高清版)DZT 0215-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 煤
- 高層建筑消防安全培訓課件
- 實驗診斷學病例分析【范本模板】
- 西安交大少年班真題
- JJF(石化)006-2018漆膜彈性測定器校準規(guī)范
評論
0/150
提交評論