已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀
(計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)論文)基于j2eemvc的web技術(shù)研究與應(yīng)用.pdf.pdf 免費(fèi)下載
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 摘要 目前,由于i n t e r n e t 技術(shù)的迅速發(fā)展,w e b 應(yīng)用的范圍越來越廣泛。但是,在現(xiàn) 有的w e b 應(yīng)用系統(tǒng)中,普遍存在著程序可重用程度低、維護(hù)工作繁瑣、應(yīng)變能力薄弱 等不足。隨著w e b 應(yīng)用的需求越來越復(fù)雜,開發(fā)周期越來越緊迫,且對(duì)系統(tǒng)的穩(wěn)定性、 擴(kuò)展性和可維護(hù)性要求越來越高,如何進(jìn)行合理地分層設(shè)計(jì),各層的框架如何搭建以 及如何選擇最合理的技術(shù)就變得尤為重要。 本文以本人參與的i n f o x - e p o r t a l ( 移動(dòng)信息門戶) 開發(fā)工作為背景,介紹了m v c 設(shè)計(jì)模式以及實(shí)現(xiàn)該模式的s t r u t s 框架,著重討論了s t r u t s 是如何實(shí)現(xiàn)m v c 模式以 及s t r u t s 各組件是如何協(xié)同工作的。討論了基于j 2 e e 的五層體系結(jié)構(gòu),分別對(duì)w e b 層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)存儲(chǔ)層等分層進(jìn)行了分析和設(shè)計(jì);同時(shí),對(duì)各層 的實(shí)現(xiàn)技術(shù)進(jìn)行了總結(jié),可以作為w e b 應(yīng)用技術(shù)選擇的參考。 論文最后以設(shè)計(jì)和實(shí)現(xiàn)i n f o x - e p o r t a l 中運(yùn)營(yíng)商管理子模塊作為理論與實(shí)踐的結(jié) 合,詳細(xì)論述了多層體系架構(gòu)的實(shí)現(xiàn)以及s t r u t s 框架和h i b e r n a t e 框架在該項(xiàng)目中 的應(yīng)用。給出了一種結(jié)合s t r u t s 框架和h i b e r n a t e 數(shù)據(jù)持久化技術(shù)來開發(fā)w e b 應(yīng)用 系統(tǒng)的方法。 綜上所述,基于j 2 e e 平臺(tái)和m v c 設(shè)計(jì)模式開發(fā)w e b 應(yīng)用,不但能夠有效地解決傳 統(tǒng)w e b 應(yīng)用開發(fā)中存在的問題,而且采用分層及模塊化設(shè)計(jì),使得系統(tǒng)流程清晰,易 于擴(kuò)展和維護(hù)。 關(guān)鍵詞:j 2 e e 平臺(tái)m y c 設(shè)計(jì)模式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ù)研究與應(yīng)用 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 聲明 本學(xué)位論文是我在導(dǎo)師的指導(dǎo)下取得的研究成果,盡我所知,在 本學(xué)位論文中,除了加以標(biāo)注和致謝的部分外,不包含其他人已經(jīng)發(fā) 表或公布過的研究成果,也不包含我為獲得任何教育機(jī)構(gòu)的學(xué)位或?qū)W 歷而使用過的材料。與我一同工作的同事對(duì)本學(xué)位論文做出的貢獻(xiàn)均 已在論文中作了明確的說明。 研究生簽名:互縋 z 。9 年7 月礦日 , 學(xué)位論文使用授權(quán)聲明 南京理工大學(xué)有權(quán)保存本學(xué)位論文的電子和紙質(zhì)文檔,可以借閱 或上網(wǎng)公布本學(xué)位論文的全部或部分內(nèi)容,可以向有關(guān)部門或機(jī)構(gòu)送 交并授權(quán)其保存、借閱或上網(wǎng)公布本學(xué)位論文的全部或部分內(nèi)容。對(duì) 于保密論文,按保密的有關(guān)規(guī)定和程序處理。 研究生簽名: 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 1緒論 1 1 課題背景 1 1 1 企業(yè)信息門戶的發(fā)展和現(xiàn)狀 所謂企業(yè)信息門戶是指在i n t e r n e t 的環(huán)境下,把企業(yè)內(nèi)部的各種應(yīng)用系統(tǒng)、數(shù) 據(jù)資源和互聯(lián)網(wǎng)資源統(tǒng)一集成到整個(gè)企業(yè)信息的框架之下,并有針對(duì)性地考慮到每個(gè) 用戶的角色及其使用需求、使用特點(diǎn)的不同,形成為其定制的個(gè)性化的應(yīng)用,并通過 對(duì)事件和消息的處理、傳輸把所有用戶有機(jī)地聯(lián)系在一起。它不僅僅局限或表現(xiàn)為建 立一個(gè)企業(yè)網(wǎng)站,提供一些企業(yè)、產(chǎn)品、服務(wù)的瀏覽信息,更重要的是平臺(tái)要能實(shí)現(xiàn) 企業(yè)內(nèi)各種業(yè)務(wù)系統(tǒng)的集成、能夠?qū)蛻舻母鞣N要求做出快速響應(yīng)、并且能對(duì)整個(gè)供 應(yīng)鏈進(jìn)行統(tǒng)一管理?!薄!薄!啊?從最初提出的以面向公眾的企業(yè)門戶網(wǎng)站到目前面向企業(yè)內(nèi)外用戶與系統(tǒng)的公 共服務(wù)門戶,企業(yè)信息門戶不僅僅擔(dān)負(fù)著企業(yè)對(duì)內(nèi)外客戶的信息發(fā)布,同時(shí)平臺(tái)還肩 負(fù)著更為重要的使命把原來分布在各地、各部門的獨(dú)立系統(tǒng)( 即原來獨(dú)立的信息 孤島) 整合在一起;在信息資源充分共享的基礎(chǔ)上,采用統(tǒng)一的對(duì)外地址、對(duì)外界面 和服務(wù)準(zhǔn)則保障企業(yè)各部門之間、企業(yè)與客戶之間信息的暢通、業(yè)務(wù)的高效處理,實(shí) 現(xiàn)高質(zhì)量地為客戶服務(wù),提高客戶的滿意度和忠誠度;同時(shí)使企業(yè)內(nèi)部的信息實(shí)現(xiàn)共 享,并能支撐企業(yè)信息化各環(huán)節(jié),為企業(yè)信息化整體建設(shè)提供平臺(tái)?!薄?總之,市場(chǎng)高度客戶化環(huán)境和電子商務(wù)技術(shù)的快速發(fā)展是產(chǎn)生企業(yè)信息門戶的主 要?jiǎng)恿Γ畔㈤T戶技術(shù)的應(yīng)用必將推動(dòng)信息技術(shù)革命進(jìn)入一個(gè)全新的階段。 “移動(dòng)門戶 是企業(yè)通過無線技術(shù)延伸其對(duì)外信息應(yīng)用和交流的基礎(chǔ),企業(yè)可以 使用“移動(dòng)門戶 搭建自己的短信網(wǎng)站和w a p 網(wǎng)站,并通過短信和w a p 網(wǎng)站向客戶及 消費(fèi)者及時(shí)提供信息和服務(wù),以及使其客戶和消費(fèi)者能夠更及時(shí)方便地與之進(jìn)行信息 交流 6 o 在p c 時(shí)代,硬件和軟件成為i t 產(chǎn)業(yè)的中流砥柱,i b m 、惠普、微軟等企業(yè)跑馬 圈地,群雄崛起。互聯(lián)網(wǎng)時(shí)代,搜索和游戲占據(jù)了虛擬的舞臺(tái),g o o g l e 、百度、盛大 等公司相繼創(chuàng)造出億萬富翁的網(wǎng)絡(luò)神話。3 g 來臨前夜,不少人期望能發(fā)現(xiàn)基于移動(dòng) 平臺(tái)的無限商機(jī)。移動(dòng)增值服務(wù)產(chǎn)業(yè)方興未艾,成為各方關(guān)注和爭(zhēng)相進(jìn)入的領(lǐng)域。 面對(duì)這個(gè)行業(yè)里激烈的競(jìng)爭(zhēng),無窮的變數(shù),很多人嘗試另辟蹊徑,從一個(gè)相對(duì)較為“冷 僻的角度切入,比如電子商務(wù)的另二種形態(tài)一移動(dòng)電子商務(wù)”。 在話音服務(wù)需求基本得到滿足后,中國(guó)的手機(jī)用戶開始將注意力轉(zhuǎn)移到消息溝 通、圖片、音樂和游戲上。隨著無線網(wǎng)絡(luò)帶寬的提升和3 g 時(shí)代的來臨,用戶對(duì)于手 機(jī)郵件、移動(dòng)視頻、移動(dòng)定位和移動(dòng)互聯(lián)等高速數(shù)據(jù)業(yè)務(wù)的需求潛力還很大,不斷變 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 化的需求和應(yīng)用已經(jīng)帶來了全新的市場(chǎng)機(jī)會(huì)和商業(yè)金礦。 移動(dòng)商務(wù)( m o b il e c o m m e r c e ) 正擴(kuò)大成為利用移動(dòng)互聯(lián)技術(shù)通過手機(jī)、p d a 和筆 記本電腦等移動(dòng)終端進(jìn)行的商務(wù)交易,作為移動(dòng)通信網(wǎng)和互聯(lián)網(wǎng)的有機(jī)結(jié)合而不是依 賴于單個(gè)解決方案或戰(zhàn)略,是無線新經(jīng)濟(jì)趨勢(shì)下增強(qiáng)客戶交互能力、提高企業(yè)交易效 率的新型商務(wù)模式“?!耙苿?dòng)信息門戶 的建設(shè)無疑滿足了市場(chǎng)的這種迫切需求。 1 1 2w e b 開發(fā)技術(shù)的發(fā)展 w e b 應(yīng)用開發(fā)先后出現(xiàn)了c g i 、p h p 、a s p 及j s p 等技術(shù),這些技術(shù)的產(chǎn)生緩解了 w e b 編程的難度。但是它們有一個(gè)共同的弱點(diǎn),就是未能將業(yè)務(wù)邏輯和界面顯示分離 開來“。這就意味著,開發(fā)中各個(gè)小組之間相互依賴,不能做到各開發(fā)小組并行開 發(fā),經(jīng)常是每修改一處,都要涉及到幾個(gè)小組之間的事情,牽一發(fā)而動(dòng)全身,大大增 加了開發(fā)周期。代碼的可讀性、可維護(hù)性和可擴(kuò)展性都非常差,不利于后續(xù)的開發(fā)和 維護(hù)工作。 令人欣慰的是,l d v c 設(shè)計(jì)模式的產(chǎn)生在一定程度上解決了上述難題。l d v c 模式的 思想不僅使功能模塊和顯示模塊分離開來,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性,可 擴(kuò)展性,可移植性和組件的可復(fù)用性。而j a k a r t a - s t r u t s 正是基于蝌c 模式的一 個(gè)通用的請(qǐng)求控制器框架”,它是a p a c h e 軟件組織提供的一項(xiàng)開放源代碼項(xiàng)目,尤 其適用于開發(fā)大型可擴(kuò)展的w e b 應(yīng)用。s t r u t s 使得開發(fā)人員可以把精力集中在如何 解決實(shí)際業(yè)務(wù)問題上。些外,s t r u t s 框架提供了許多可供擴(kuò)展和定制的地方,使得 應(yīng)用程序可以方便地?cái)U(kuò)展框架,來更好地適應(yīng)用戶的需求”一。 在所有的應(yīng)用系統(tǒng)中,無論規(guī)模大小幾乎都需要有一個(gè)后端的數(shù)據(jù)庫保存數(shù)據(jù) l , l - , j 。目前,流行的關(guān)系型數(shù)據(jù)庫依然統(tǒng)治著業(yè)界的市場(chǎng),我們一直在絞盡腦汁來優(yōu) 化數(shù)據(jù)庫的存取過程。 企業(yè)應(yīng)用開發(fā)者在應(yīng)用層和底下的數(shù)據(jù)庫之間創(chuàng)建了一個(gè)“持久層 。這個(gè)持久層 負(fù)責(zé)存儲(chǔ)從應(yīng)用層到數(shù)據(jù)庫的數(shù)據(jù),也負(fù)責(zé)數(shù)據(jù)的檢索,更新和刪除。在基于j 2 e e 的 企業(yè)應(yīng)用中,組成這個(gè)持久層的j a v a 類既可以映射對(duì)象到數(shù)據(jù),也可以映射數(shù)據(jù)到 對(duì)象“。使用3 d b c + d a o ( d a t aa c c e s so b j e c t ) 來直接訪問持久數(shù)據(jù)層是當(dāng)今企業(yè) 級(jí)應(yīng)用開發(fā)中使用最廣泛的,雖然這種方式具有運(yùn)行效率高的優(yōu)點(diǎn),但是它也存在很 多的困難,如把d a o 對(duì)象和s o l 語言緊密耦合在一起使得程序在大型項(xiàng)目中難以維 護(hù)“。那么用什么來持久化數(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ù)庫和對(duì)象之間作一個(gè) 自動(dòng)映射“,h i b e r n a t e 是目前比較流行的o r m ,而且自帶的文檔極其豐富。它不 僅提供了從j a v a 類到數(shù)據(jù)表之間的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。相對(duì)于使 用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 是一個(gè)開放源代碼的o r l d ,它對(duì)j d b c 進(jìn)行了輕量級(jí)的對(duì)象封 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 裝,使j a v a 程序員可以隨心所欲地使用面向?qū)ο缶幊趟季S來操縱數(shù)據(jù)庫。 w e b 本身就是一個(gè)最大的分布式應(yīng)用系統(tǒng)。對(duì)于分布式開發(fā)而言,x m l 技術(shù)也大 有用武之地。一個(gè)明顯的事實(shí)是,如果能讓分布式應(yīng)用借助x m l 格式交換信息,那么, 以往橫亙?cè)诜植际郊軜?gòu)上的信息交換難題也就迎刃而解了。1 9 9 9 年,w 3 c 和相關(guān)的企 業(yè)開始討論設(shè)計(jì)基于) ( 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 信息的分布式 應(yīng)用模型稱為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è)級(jí)開發(fā)平臺(tái)先后實(shí)現(xiàn)了w e bs e r v i c e 。,并將其 視為平臺(tái)的一項(xiàng)核心功能。 w e bs e r v i c e 對(duì)于w e b 開發(fā)者的重要意義在于,當(dāng)我們需要在不同的服務(wù)端、不 同的客戶端乃至不同的應(yīng)用類型、不同的計(jì)算設(shè)備之間傳遞信息的時(shí)候,以往的分布 式開發(fā)技術(shù)或者因?yàn)檫m應(yīng)性不強(qiáng),或者因?yàn)閿U(kuò)展能力不足,都難以滿足現(xiàn)代w e b 開發(fā) 的需要,而w e bs e r v i c e 正好填補(bǔ)了這一空白”。 基于以上原因,本文以“移動(dòng)信息門戶 ( i n f o x e p o r t a l ) 為背景,探討了在j 2 e e 平臺(tái)上利用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 應(yīng)用的方法。 1 2 本文的研究?jī)?nèi)容及技術(shù)路線 1 j 2 e e 平臺(tái)框架和m v c 設(shè)計(jì)模式研究。首先,從j 2 e e 體系結(jié)構(gòu)、核心技術(shù)、j 2 e e 各組件的作用等方面闡述了j 2 e e 平臺(tái)框架。接著,引出了m v c 設(shè)計(jì)模式,指出可以 基于m v c 模式解決目前w e b 應(yīng)用開發(fā)中存在的問題。 2 詳細(xì)介紹了m v c 設(shè)計(jì)模式的實(shí)現(xiàn)s t r u t s 框架,分析了它的體系結(jié)構(gòu)、工 作原理、核心組件、配置文件以及對(duì)m v c 設(shè)計(jì)模式的實(shí)現(xiàn)。 3 分析了w e b 應(yīng)用開發(fā)的傳統(tǒng)的兩層體系結(jié)構(gòu)和目前常用的三層體系結(jié)構(gòu),分 別指出其不足之處。接著,重點(diǎn)討論了基于j 2 e e 的五層體系結(jié)構(gòu)。同時(shí),本文對(duì)各 層的實(shí)現(xiàn)技術(shù)做了一定的歸納分析,可作為w e b 應(yīng)用技術(shù)選擇的參考。 4 介紹和分析了w e b 應(yīng)用中的數(shù)據(jù)持久化框架h i b e r n a t e 。 5 基于上述分析,并根據(jù)“移動(dòng)信息門戶”的功能,具體設(shè)計(jì)了i n f o x e p o r t a l 項(xiàng)目。其中,整個(gè)系統(tǒng)采用上述五層體系結(jié)構(gòu)進(jìn)行分層及模塊化設(shè)計(jì)。分別對(duì)w e b 層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)存儲(chǔ)層等分層進(jìn)行了詳細(xì)設(shè)計(jì)。 6 最后設(shè)計(jì)和實(shí)現(xiàn)了i n f o x - e p o r t a l 中運(yùn)營(yíng)商管理子模塊。詳細(xì)論述了多層體 系架構(gòu)的實(shí)現(xiàn)以及s t r u t s 框架和h i b e r n a t e 框架在該項(xiàng)目中的應(yīng)用。并討論了如何 結(jié)合s t r u t s 框架和h i b e r n a t e 框架來將m v c 設(shè)計(jì)模式具體應(yīng)用到系統(tǒng)開發(fā)中。 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 2 j 2 e e 體系結(jié)構(gòu) 2 1j 2 e e 平臺(tái)概述 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 ) 平臺(tái)規(guī)范是由s u n 公司于1 9 9 9 年 1 2 月正式推出的用于簡(jiǎn)化分布式企業(yè)級(jí)應(yīng)用開發(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 平臺(tái)標(biāo)準(zhǔn)版“一,目前j 2 e e 最新版本是1 5 版。 j 2 e e 的設(shè)計(jì)目的是提供對(duì)服務(wù)端的支持,從而推動(dòng)企業(yè)及企業(yè)中多層應(yīng)用程序的 發(fā)展。如圖2 1 1 ”“所示,j 2 e e 平臺(tái)提供了一個(gè)多層分布式應(yīng)用程序模型。這表明 應(yīng)用程序的各個(gè)部分能夠運(yùn)行在不同的設(shè)備上。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 ,由一個(gè)或多個(gè)子層組成) 和用來提供現(xiàn)存信息 系統(tǒng)的各種服務(wù)的后端系統(tǒng)層??蛻魧涌梢灾С指鞣N客戶類型,即包括公司防火墻內(nèi) 部和外部的用戶。中間層通過w e b 層的w e b 容器來支持客戶服務(wù),并通過e j b ( e n t e r p r i s ej a v a b e a n s ) 層的e j b 容器支持商務(wù)邏輯組件服務(wù)。企業(yè)信息系統(tǒng)( e i s ) 層能夠通過標(biāo)準(zhǔn)a p i 的方法來支持對(duì)現(xiàn)存信息系統(tǒng)的訪問。 客戶層中間層 企業(yè)信息系統(tǒng)層 圖2 1 1j 2 e e 環(huán)境 2 2j 2 e e 平臺(tái)優(yōu)勢(shì)和價(jià)值地位 j 2 e e 為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制,具 有如下優(yōu)勢(shì) 2 刨: 4 碩士論文 基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 1 簡(jiǎn)化的結(jié)構(gòu)和開發(fā)過程。j 2 e e 平臺(tái)支持一個(gè)簡(jiǎn)化的基于組件的開發(fā)模型, 這是由于它基于j a v a 編程語言及j a v a 2 平臺(tái)標(biāo)準(zhǔn)版,這一模型具有“編寫一次,隨 處運(yùn)行 的可移植性,并被任何遵循j 2 e e 標(biāo)準(zhǔn)的服務(wù)器產(chǎn)品所支持。 2 適應(yīng)各種變化要求的可伸縮性。j 2 e e 容器提供了一種機(jī)制,以支持對(duì)分布 式應(yīng)用程序進(jìn)行伸縮。 3 與現(xiàn)有企業(yè)信息系統(tǒng)的集成方便。j 2 e e 平臺(tái)有大量用來訪問現(xiàn)有企業(yè)信息 系統(tǒng)的工業(yè)化標(biāo)準(zhǔn)的a p i 。 4 對(duì)服務(wù)器、工具和組件的選擇靈活自由。 5 簡(jiǎn)化、統(tǒng)一的安全模型。j 2 e e 安全模型被設(shè)計(jì)用來支持訪問應(yīng)用程序服務(wù) 只需一次登錄。組件開發(fā)者可以在方法級(jí)別上指定某一個(gè)組件的安全要求, 從而確保只有擁有合法權(quán)益的用戶能訪問特定的數(shù)據(jù)操作。 構(gòu)建在j a v a 編程語言和j a v a 技術(shù)基礎(chǔ)之上的j 2 e e 平臺(tái)是最適合于采用多層企 業(yè)級(jí)分布式環(huán)境的軟件體系架構(gòu)。j 2 e e 平臺(tái)給i t 機(jī)構(gòu)、應(yīng)用開發(fā)者和產(chǎn)品供應(yīng)商都 帶來了巨大的好處,能夠很好地適應(yīng)現(xiàn)代軟件開發(fā)的需要,體現(xiàn)了諸多價(jià)值“: 供應(yīng)商可以開發(fā)運(yùn)行在支持j 2 e e 平臺(tái)的任何系統(tǒng)之上的產(chǎn)品。因此,不需 要額外的付出,他們的產(chǎn)品就可以運(yùn)行在多種系統(tǒng)平臺(tái)上。 團(tuán)隊(duì)i t 開發(fā)者會(huì)從可移植性組件技術(shù)這一優(yōu)點(diǎn)中獲得巨大好處。i t 應(yīng)用獨(dú) 立于供應(yīng)商,使得i t 機(jī)構(gòu)不再依賴某一個(gè)供應(yīng)商。 i t 開發(fā)者可以專注于支持業(yè)務(wù)處理的需求,而不需要花時(shí)間去創(chuàng)造內(nèi)部的 應(yīng)用架構(gòu)。由應(yīng)用服務(wù)器處理一些復(fù)雜的問題,如多線程、同步處理、事務(wù)、 資源分配和生命周期管理等。 i t 機(jī)構(gòu)可以利用建立在標(biāo)準(zhǔn)平臺(tái)之上的最好的產(chǎn)品。他們有很多產(chǎn)品可以 選擇,并根據(jù)他們的需求選擇最適合的和代價(jià)最小的開發(fā)產(chǎn)品、部署產(chǎn)品和 部署平臺(tái)。 采用j 2 e e 平臺(tái)可以大幅提高生產(chǎn)效率,因?yàn)閖 a v a 開發(fā)者可以很快地掌握 j 2 髓a p i 。 采用j 2 e e 平臺(tái)可以保護(hù)公司的投資,因?yàn)樗且粋€(gè)工業(yè)標(biāo)準(zhǔn),而不是某個(gè) 供應(yīng)商特有的結(jié)構(gòu)。 開發(fā)小組可以更快地創(chuàng)建新的應(yīng)用和系統(tǒng),1 這可以縮短產(chǎn)品投入市場(chǎng)的時(shí) 間,并降低開發(fā)費(fèi)用。 這個(gè)分布式計(jì)算的標(biāo)準(zhǔn)開發(fā)平臺(tái)保證了所開發(fā)的應(yīng)用建立在成熟的平臺(tái)之 上。 j 2 e e 平臺(tái)把應(yīng)用在物理上邏輯性地分成多層,因此,自然地滿足了多層應(yīng) 用的需求。 5 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 開發(fā)者可以創(chuàng)建自己的j 2 e e 平臺(tái)組件,也可以從快速發(fā)展的第三方市場(chǎng)獲 得這些組件。因此供應(yīng)商可以開發(fā)出他們自己的組件,而用戶也可以根據(jù)需 要購買這些組件。 2 3j 2 e e 體系結(jié)構(gòu) j 2 e e 使用多層的分布式應(yīng)用模型,應(yīng)用邏輯按功能劃分為組件,包括客戶端組件、 表示層組件、業(yè)務(wù)邏輯層組件等。各個(gè)組件根據(jù)他們所在的層分布在不同的機(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 所示,整個(gè)應(yīng)用系統(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è)務(wù)邏輯層( b u s i n e s sl o g i c ) 和后臺(tái)支持系統(tǒng)( b a c k - e n ds y s t e m ) 組成。下 面分別簡(jiǎn)述。 1 客戶端:客戶應(yīng)用端部分。它可以是基于w e b 應(yīng)用的,也可以不是基于w e b 應(yīng)用的。本論文討論的即是基于w e b 應(yīng)用。在典型的w e b 應(yīng)用中,典型的客戶端就是 瀏覽器,如i e 。用戶的瀏覽器在客戶端運(yùn)行,并從一個(gè)w e b 服務(wù)器上下載表示層的 頁面,如靜態(tài)的h t m l 頁面、j s p 以及x m l 等程序。 2 表示層:在典型的w e b 應(yīng)用中,表示層主要采用j s p 或者s e r v l e t 組件。它 主要負(fù)責(zé)完成與用戶交互的功能。 3 業(yè)務(wù)邏輯層:該層構(gòu)成了w e b 應(yīng)用的業(yè)務(wù)邏輯規(guī)則,是整個(gè)應(yīng)用的核心部分。 6 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 它將業(yè)務(wù)劃分為一個(gè)個(gè)獨(dú)立的邏輯單元e j b 。e j b 根據(jù)客戶請(qǐng)求訪問數(shù)據(jù)庫,并進(jìn)行 相應(yīng)的邏輯計(jì)算。 4 后臺(tái)支持系統(tǒng):它運(yùn)行企業(yè)信息系統(tǒng)軟件,如企業(yè)資源計(jì)劃( 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 平臺(tái)由一整套服務(wù)( s e r v i c e s ) 、應(yīng)用程序接口( a p i s ) 和協(xié)議構(gòu)成,它對(duì)開發(fā) 基于w e b 的多層應(yīng)用提供了強(qiáng)大的功能支持”一,以下是j 2 e e 中的9 種主要a p i 的簡(jiǎn) 單描述: 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 對(duì)開發(fā)者屏蔽了一些細(xì)節(jié)問題,另外j d b c 對(duì)數(shù) 據(jù)庫的訪問也具有平臺(tái)無關(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í)行名字 和目錄服務(wù)。它提供了一致的模型來存取和操作企業(yè)級(jí)的資源,如d n s ,l d a p 、本地 文件系統(tǒng)或應(yīng)用服務(wù)器中的對(duì)象。 3 e j b ( e n t e r p r i s ej a v ab e a n ) :提供了一個(gè)框架來開發(fā)和實(shí)施分布式商務(wù)邏 輯,并且顯著地簡(jiǎn)化了具有可伸縮性和高度復(fù)雜的企業(yè)級(jí)應(yīng)用的開發(fā)。e j b 規(guī)范定義 了e j b 組件在何時(shí)如何與它們的容器進(jìn)行交互作用。容器負(fù)責(zé)提供公用的服務(wù),例如 目錄服務(wù)、事務(wù)管理、安全性、資源緩沖池以及容錯(cuò)性。但這里值得注意的是,e j b 并不是實(shí)現(xiàn)j 2 e e 的唯一途徑。正是由于j 2 e e 的開放性,使得有的廠商能夠以一種和 e j b 平行的方式來達(dá)到同樣的目的。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)用遠(yuǎn)程對(duì)象方法。它使用了序列 化方式在客戶端和服務(wù)器端傳遞數(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 可以將新的應(yīng)用和舊的系統(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 代碼組 成。服務(wù)器在j s m 頁面被客戶端請(qǐng)求訪問以后,對(duì)這些j a v a 代碼進(jìn)行處理,然后將 生成的頁面返回給客戶端的瀏覽器“。 7 j a v as e r v l e t :s e r v l e t 是一種小型的j a v a 程序,它擴(kuò)展了w e b 服務(wù)器的功 能。作為一種服務(wù)器端的應(yīng)用,當(dāng)被請(qǐng)求時(shí)開始執(zhí)行。s e r v l e t 提供的功能大多與j s p 相似,不過實(shí)現(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 是一種可以用來定義其它標(biāo)記語 言的語言。它被用來在不同的商務(wù)過程中共享數(shù)據(jù)。x m l 的發(fā)展和j a v a 是相互獨(dú)立 7 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 的。但是,它和j a v a 具有相同的目標(biāo),即平臺(tái)獨(dú)立性。通過將j a v a 和x m l 的組合, 可以得到一個(gè)完美的具有平臺(tái)獨(dú)立性的解決方案。 9 j m s ( j a v am e s s a g es e r v i c e ) :j m s 是用于和面向消息的中間件相互通信的 應(yīng)用程序接口。由于本文沒有涉及,這里不展開說明。 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)的骨干部分。它是 基于標(biāo)準(zhǔn)分布式對(duì)象技術(shù)、c o r b a 和r m i 的服務(wù)器端j a v a 組件。s u n 公司對(duì)e j b 的定 義是:e j b 是用于開發(fā)和部署多層結(jié)構(gòu)的、分布式的、面向?qū)ο蟮膉 a v a 應(yīng)用系統(tǒng)的、 跨平臺(tái)的構(gòu)件體系結(jié)構(gòu)”u 。e j b 技術(shù)與其它的j 2 e e 技術(shù)相結(jié)合,為企業(yè)級(jí)的電子商 務(wù)系統(tǒng)的開發(fā)提供了一個(gè)安全、可靠、靈活以及伸縮性很強(qiáng)的開發(fā)平臺(tái)。圖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)于上述各容器和接口的原理及 作用請(qǐng)見參考文獻(xiàn)。 e j b 組件模型的工作原理可簡(jiǎn)述為:w e bs e r v e r 把客戶端的請(qǐng)求分發(fā)到應(yīng)用系統(tǒng) 層,首要的目標(biāo)是找到特定服務(wù)的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 對(duì)象,h o m e 對(duì)象是e j b 對(duì)象與客戶端應(yīng)用程序 之間通信的接口,當(dāng)找到特定的h o m e 對(duì)象時(shí),我們就可以利用這個(gè)對(duì)象,創(chuàng)建一個(gè) r e m o t e 對(duì)象,這個(gè)r e m o t e 對(duì)象封裝了e 3 b 對(duì)象所有的功能,在應(yīng)用程序中調(diào)用r e m o t e 8 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 對(duì)象的方法,實(shí)際上就是調(diào)用e j b 對(duì)象的方法。 關(guān)于e j b 的具體工作機(jī)制請(qǐng)見參考文獻(xiàn)”一。限于篇幅,這里不展開論述。 2 5 2e j b 組件分類 e j b l 0 規(guī)范中定義的e j b 總共有兩大類:實(shí)體b e a n ( e n t i t yb e a n ) 和會(huì)話b e a n ( s e s s i o nb e a n ) 。分別做如下簡(jiǎn)述。 1 實(shí)體b e a n 用來表示持久性的數(shù)據(jù),并且提供相應(yīng)的方法來訪問控制這些數(shù)據(jù)。 根據(jù)實(shí)現(xiàn)方式的不同,實(shí)體b e a n 可以分為容器管理的持久性( c m p ) 和b e a n 管理的持 久性( b m p ) 兩種。c m p 由容器來完成b e a n s 的持久性管理和實(shí)例的維護(hù)。b m p 則由b e a n s 本身來管理持久性,所以具有更大的靈活性和容器無關(guān)性”。但是c m p 的效率比b m p 要高,所以在構(gòu)建實(shí)際的應(yīng)用時(shí),我們主要采用c m p 。 2 會(huì)話b e a n 由客戶端創(chuàng)建,多數(shù)情況下存在于單個(gè)客戶和服務(wù)器會(huì)話期間。它 的最主要功能是實(shí)現(xiàn)業(yè)務(wù)邏輯、業(yè)務(wù)規(guī)則和工作流。會(huì)話b e a n 也有兩種:無狀態(tài)的 會(huì)話b e a n 和有狀態(tài)的會(huì)話b e a n 。無狀態(tài)的會(huì)話b e a n 可以被多個(gè)客戶端訪問,不存 儲(chǔ)任何一個(gè)客戶端的會(huì)話信息;有狀態(tài)的會(huì)話b e a n 則與惟一的一個(gè)客戶端維持會(huì)話 信息 2 4 。 另外,從e f b l 1 規(guī)范開始增加了消息驅(qū)動(dòng)b e a n ,它是能夠接收j m s 消息的特殊 e j b 組件,由于本文沒有采用該組件技術(shù),不再贅述。 簡(jiǎn)言之,e j b 規(guī)范提供了一種開發(fā)和部署服務(wù)器端組件的方法。每個(gè)e j b 是按功 能邏輯劃分的,開發(fā)時(shí)不必關(guān)心系統(tǒng)底層細(xì)節(jié)問題,只關(guān)注具體的事務(wù)分析。e j l 3 開 發(fā)完畢后,按規(guī)劃部署在e j b 容器中,完成相應(yīng)的事務(wù)功能。e j b 支持分布式計(jì)算, 真正體現(xiàn)了企業(yè)級(jí)的應(yīng)用”“。本文沒有使用e j b 進(jìn)行數(shù)據(jù)持久化,而是用目前流行 的h i b e r n a t e 作為數(shù)據(jù)持久化框架,關(guān)于h i b e r n a t e 的詳細(xì)介紹請(qǐng)見第4 章。 9 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 3b i v c 設(shè)計(jì)模式及s t r u ts 框架技術(shù) 3 1m v c 設(shè)計(jì)模式 3 1 1 基礎(chǔ)概念 1 組件 組件( c o m p o n e n t ) 是“獨(dú)立的、可分發(fā)的、可重用的服務(wù)的集合”“。它的目的 是將對(duì)象( 包括其用戶界面、對(duì)外接口等屬性以及對(duì)象的功能實(shí)現(xiàn)) 封裝成一個(gè)規(guī)范 的、標(biāo)準(zhǔn)的、可被組件容器所操縱和使用的整體,使其成為一個(gè)通用、高效的軟件部 件 1 0 。 如今開發(fā)企業(yè)級(jí)應(yīng)用系統(tǒng)大量采用組件技術(shù)。現(xiàn)今最流行的分布式組件體系結(jié)構(gòu) 標(biāo)準(zhǔn)有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ù) 使得設(shè)計(jì)人員可以通過對(duì)各種各樣的組件的使用來方便快捷地生成應(yīng)用系統(tǒng),從而進(jìn) 一步提高軟件的復(fù)用性,縮短軟件開發(fā)周期,提高開發(fā)效率,增加軟件開發(fā)的規(guī)范性。 2 框架 框架( f r a m e w o r k ) 是整個(gè)或者部分系統(tǒng)的可重用設(shè)計(jì),表現(xiàn)為一組抽象組件及組 件實(shí)例間交互的方法;另一種定義認(rèn)為,框架是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。前 者是從應(yīng)用方面,而后者是從目的方面給出的定義“。 可以說,一個(gè)框架是一組可復(fù)用的設(shè)計(jì)組件,它規(guī)定了應(yīng)用的體系結(jié)構(gòu),闡明了 整個(gè)設(shè)計(jì)、協(xié)作組件之間的依賴關(guān)系、責(zé)任分配和控制流程,表現(xiàn)為一組抽象類以及 其實(shí)例之間協(xié)作的方法,它為組件復(fù)用提供了上下文關(guān)系。因此組件庫的大規(guī)模重用 也需要框架。 應(yīng)用框架強(qiáng)調(diào)的是軟件的設(shè)計(jì)重用性和系統(tǒng)的可擴(kuò)展性,以縮短大型應(yīng)用軟件系 統(tǒng)的開發(fā)周期,提高開發(fā)質(zhì)量。與傳統(tǒng)的基于類庫的面向?qū)ο笾赜眉夹g(shù)比較,應(yīng)用框 架更注重于面向?qū)I(yè)領(lǐng)域的軟件重用。應(yīng)用框架具有領(lǐng)域相關(guān)性,組件根據(jù)框架進(jìn)行 組合而生成可運(yùn)行的系統(tǒng)??蚣艿牧6仍酱螅渲邪念I(lǐng)域知識(shí)就更加完整。 通過基于請(qǐng)求響應(yīng)( r e q u e s t r e s p o n s e ) 模式的應(yīng)用框架,基本上由如下幾個(gè) 邏輯結(jié)構(gòu)組成“。 控制器( c o n t r o l l e r ) ??刂破骺刂普麄€(gè)框架中各個(gè)組件之間的協(xié)調(diào)工作。 業(yè)務(wù)邏輯層( b u s i n e s sl o g i c ) 。這是框架所希望解決問題的關(guān)鍵。當(dāng)然,對(duì) 框架本身來說,這里僅僅只是概念和幾個(gè)提供服務(wù)的基礎(chǔ)組件,真正的實(shí)現(xiàn) 與具體客戶的業(yè)務(wù)邏輯接軌,還需要開發(fā)人員在框架上再次擴(kuò)展。 數(shù)據(jù)邏輯層( d a t al o g i c ) 。大部分應(yīng)用系統(tǒng)都需要涉及到數(shù)據(jù)交互,這一層 次主要包括了數(shù)據(jù)邏輯和數(shù)據(jù)訪問接口。 1 0 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 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è)部分一: 構(gòu)件,用于描述計(jì)算; 連接器,用于描述構(gòu)件的連接部分; 配置,將構(gòu)件和連接器組成一個(gè)有機(jī)整體。 體系結(jié)構(gòu)與框架( f r a m e w o r k ) 的區(qū)別和聯(lián)系如下“一: ( 1 ) 呈現(xiàn)形式不同:體系結(jié)構(gòu)的呈現(xiàn)形式是一個(gè)設(shè)計(jì)規(guī)約,而框架則是程序代 碼。 ( 2 ) 目的不同:體系結(jié)構(gòu)的首要目的大多是指導(dǎo)一個(gè)軟件系統(tǒng)的實(shí)施與開發(fā); 而框架的首要目的是為復(fù)用。因此,一個(gè)框架可有其體系結(jié)構(gòu),用于指導(dǎo)該框架的開 發(fā),反之不然。 ( 3 ) 有種特殊的體系結(jié)構(gòu),d s s a ( 領(lǐng)域特定體系結(jié)構(gòu)) 其首要目的也是為了復(fù)用。 ( 4 ) 體系結(jié)構(gòu)框架,也叫中間件集成框架;將它用程序代碼實(shí)現(xiàn)后就成了c o r b a , c o m 之類的東西。又有人愿意叫它對(duì)象中間件。 軟件架構(gòu)( s o f t w a r ea r c h i t e c t u r e ) 用于指導(dǎo)大型軟件系統(tǒng)各個(gè)方面的設(shè)計(jì), 因此也可以說軟件架構(gòu)是一個(gè)系統(tǒng)的草圖。軟件架構(gòu)描述的對(duì)象是直接構(gòu)成系統(tǒng)的抽 象組件。在實(shí)現(xiàn)階段,這些抽象組件被細(xì)化為實(shí)際的組件,比如具體某個(gè)類或者對(duì)象。 在面向?qū)ο箢I(lǐng)域中,組件之間的連接通常是用接口來實(shí)現(xiàn)的。 軟件體系結(jié)構(gòu)是構(gòu)建計(jì)算機(jī)軟件實(shí)踐的基礎(chǔ)。與建筑師設(shè)定建筑項(xiàng)目的設(shè)計(jì)原則 和目標(biāo),作為繪圖員畫圖的基礎(chǔ)一樣;一個(gè)軟件架構(gòu)師或者系統(tǒng)架構(gòu)師陳述軟件構(gòu)架, 作為滿足不同客戶需求的實(shí)際系統(tǒng)設(shè)計(jì)方案的基礎(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)的非功能性特征,如可擴(kuò)展性、可靠性、強(qiáng)壯性、靈活性、 性能等。一 軟件架構(gòu)不是軟件,而是關(guān)于軟件如何設(shè)計(jì)的重要決策。軟件架構(gòu)決策涉及到如 何將軟件系統(tǒng)分解成不同的部分、各部分之間的靜態(tài)結(jié)構(gòu)關(guān)系和動(dòng)態(tài)交互關(guān)系等。經(jīng) 過完整的開發(fā)過程之后,這些架構(gòu)決策將體現(xiàn)在最終開發(fā)出的軟件系統(tǒng)中。當(dāng)然,引 入軟件框架之后,整個(gè)開發(fā)過程變成了“分兩步走 ,而架構(gòu)決策往往會(huì)體現(xiàn)在框架 之中。或許,人們常把架構(gòu)和框架混為一談的原因就在于此吧“。 碩士論文基于j 2 e e m v c 的w e b 技術(shù)研究與應(yīng)用 4 設(shè)計(jì)模式 框架與設(shè)計(jì)模式這兩個(gè)概念也容易被混淆,其實(shí)它們之間還是有區(qū)別的。組件是 代碼重用,而設(shè)計(jì)模式是設(shè)計(jì)重用,框架則介于二者之間,部分代碼重用,部分設(shè)計(jì) 重用,有時(shí)分析也可重用。在軟件生產(chǎn)中有三個(gè)級(jí)別的重用: ( 1 ) 內(nèi)部重用,即在同一應(yīng)用中能公共使用的抽象塊; ( 2 ) 代碼重用,即將通用模塊組成庫或工具集,以便在多個(gè)應(yīng)用和領(lǐng)域都能使用; ( 3 ) 應(yīng)用框架重用,即為專門領(lǐng)域提供通用的或現(xiàn)成的基礎(chǔ)結(jié)構(gòu),即最高級(jí)別的 重用性。 框架與設(shè)計(jì)模式雖然相似,但卻有著根本的不同。設(shè)計(jì)模式是在對(duì)某種環(huán)境中反 復(fù)出現(xiàn)的問題以及解決該問題的方案的描述。它比框架更抽象;框架可以用代碼 表示,也能直接執(zhí)行或復(fù)用,而對(duì)模式而言只有實(shí)例才能用代碼表示;設(shè)計(jì)模式是比 框架更小的元素,一個(gè)框架中往往含有一個(gè)或多個(gè)設(shè)計(jì)模式,框架總是針對(duì)某一特定 應(yīng)用領(lǐng)域,但同一模式卻可適用于各種應(yīng)用。可以說,框架是軟件,而設(shè)計(jì)模式是軟 件的知識(shí)。 基本的設(shè)計(jì)模式有簡(jiǎn)單工廠模式、適配器模式、觀察者模式、m v c 模式、代理模 式等等 3 別。 3 1 2m o d e l1 和m o d e l2 信息技術(shù)的快速發(fā)展使得計(jì)算模式也不斷地更新,在今天構(gòu)建企業(yè)信息系統(tǒng)時(shí)是 向以b s 架構(gòu)為主流的多層w e b 方向發(fā)展。一般來說基于b s 架構(gòu)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年MBA入學(xué)考試管理案例分析與解讀題庫
- 湖南賦分制度
- 2026年證券投資顧問專業(yè)級(jí)模擬考試題
- 2026年地理信息科學(xué)GIS技術(shù)應(yīng)用進(jìn)階試題
- 2026年物流管理師專業(yè)試題含物流規(guī)劃與成本控制
- 消毒隔離疫情報(bào)告制度
- 2026年醫(yī)療機(jī)構(gòu)管理服務(wù)合同協(xié)議
- 2025四川九洲電器集團(tuán)有限責(zé)任公司招聘硬件研發(fā)崗(邏輯工程師)(校招)等崗位測(cè)試筆試歷年難易錯(cuò)考點(diǎn)試卷帶答案解析
- 2025四川九強(qiáng)通信科技有限公司招聘射頻工程師助理測(cè)試筆試參考題庫附帶答案詳解
- 2025商洛發(fā)電有限公司招聘(7人)筆試參考題庫附帶答案詳解
- 2025年醫(yī)療器械經(jīng)營(yíng)自查報(bào)告
- 船員崗前培訓(xùn)考試題及答案解析
- 2025年醫(yī)師定期考核必考題庫及答案
- DB11-T 2451-2025 中藥飲片再加工服務(wù)規(guī)范
- 七大浪費(fèi)考試試卷及答案
- 急救培訓(xùn)自查、整改與提升措施
- 免還款協(xié)議5篇
- 新版GCP培訓(xùn)課件
- 單鳳儒《管理學(xué)基礎(chǔ)》教案
- 客戶開發(fā)流程圖
- DL∕T 516-2017 電力調(diào)度自動(dòng)化運(yùn)行管理規(guī)程
評(píng)論
0/150
提交評(píng)論