国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

J2EE架構(gòu)和過(guò)程

開(kāi)發(fā) 后端
本文介紹了J2EE平臺(tái)的四個(gè)關(guān)鍵部分:規(guī)格說(shuō)明、參考實(shí)現(xiàn)、兼容性測(cè)試套件和藍(lán)圖(BluePrint)計(jì)劃。通過(guò)閱讀這篇文章,你可以了解許多重要的J2EE架構(gòu)的話題,并且能夠擴(kuò)展和修改這個(gè)簡(jiǎn)單的方法來(lái)解決自己特有的業(yè)務(wù)問(wèn)題。

Java2企業(yè)版(J2EE)平臺(tái)由四個(gè)關(guān)鍵部分構(gòu)成:規(guī)格說(shuō)明、參考實(shí)現(xiàn)、兼容性測(cè)試套件和藍(lán)圖(BluePrint)計(jì)劃。藍(lán)圖描繪了分布式組件架構(gòu)最好的實(shí)踐和設(shè)計(jì)指導(dǎo)方針。本文基于Rational統(tǒng)一過(guò)程和BluePrint示例程序介紹一個(gè)八步驟J2EE開(kāi)發(fā)方法學(xué)。

通過(guò)閱讀這篇文章,你可以了解許多重要的J2EE架構(gòu)的話題,并且能夠擴(kuò)展和修改這個(gè)簡(jiǎn)單的方法來(lái)解決自己特有的業(yè)務(wù)問(wèn)題。在商業(yè)世界里,我們使用Java2企業(yè)版(J2EE)解決業(yè)務(wù)問(wèn)題、開(kāi)發(fā)商業(yè)軟件或者提供轉(zhuǎn)包服務(wù)。如果一家公司想使用多層體系結(jié)構(gòu)建造一個(gè)電子商務(wù)網(wǎng)站,通常在整個(gè)開(kāi)發(fā)生命周期中需要涉及到管理者、架構(gòu)師,設(shè)計(jì)人員、編程人員、測(cè)試人員和數(shù)據(jù)庫(kù)專家。為了使不同部門(mén)能高效率地工作,他們經(jīng)常需要一個(gè)軟件開(kāi)發(fā)過(guò)程。一些經(jīng)典的開(kāi)發(fā)過(guò)程包括瀑布模型、快速應(yīng)用開(kāi)發(fā)(RAD)和極限編程(XP)。

本文我們將集中于一個(gè)流行的軟件工程過(guò)程,即Rational統(tǒng)一過(guò)程(RUP)。RUP提供了一個(gè)給角色分配任務(wù)和責(zé)任的嚴(yán)格方法。它的目標(biāo)是保證我們?cè)陬A(yù)期的進(jìn)度和預(yù)算內(nèi)開(kāi)發(fā)出滿足用戶需求的高質(zhì)量軟件。

在J2EE開(kāi)發(fā)中使用RUP出于以下三個(gè)原因。首先,RUP以架構(gòu)為中心;在將資源分配給全面開(kāi)發(fā)之前,它先開(kāi)發(fā)一個(gè)可執(zhí)行的架構(gòu)原型。其次,RUP是迭代并基于構(gòu)件的。該架構(gòu)基線通常包括一個(gè)框架或基礎(chǔ)設(shè)施以便于通過(guò)迭代增加構(gòu)件,在不影響系統(tǒng)其他部分的前提下定制和擴(kuò)展一個(gè)系統(tǒng)的功能。最后,RUP利用一門(mén)工業(yè)標(biāo)準(zhǔn)語(yǔ)言--UML,可視化建模系統(tǒng)的架構(gòu)和構(gòu)件。RUP有四個(gè)不同的開(kāi)發(fā)階段:初始、細(xì)化、構(gòu)造和移交。然而,本文從技術(shù)角度覆蓋了J2EE開(kāi)發(fā)的八個(gè)必要活動(dòng),主要集中在系統(tǒng)架構(gòu)。

1、需求分析需求分析描述系統(tǒng)應(yīng)該做什么或不應(yīng)該做什么使得開(kāi)發(fā)者和客戶可以簽署一份原始的商業(yè)合同。可以使用業(yè)務(wù)概念、領(lǐng)域術(shù)語(yǔ)、用例和用戶界面(UI)模型形成功能需求文檔。對(duì)于非功能需求,如性能和事務(wù),可以在需求文檔附件中詳細(xì)說(shuō)明。根據(jù)參與項(xiàng)目深度的不同,確定在紙上還是使用HTML建造高層UI模型。

在一個(gè)典型電子商務(wù)系統(tǒng)中的兩個(gè)用例。查看訂單(viewOrder)用例告訴我們一個(gè)用戶通過(guò)Web界面登陸系統(tǒng)、查看訂單列表,點(diǎn)擊鏈接查看特定訂單的詳細(xì)信息。增加訂單項(xiàng)(addLineItem)用例告訴我們?yōu)g覽產(chǎn)品列表、選擇感興趣的產(chǎn)品并將它們添加到購(gòu)買(mǎi)訂單中。

2、面向?qū)ο蠓治龇治鋈藛T構(gòu)造問(wèn)題領(lǐng)域模型:類、對(duì)象和交互。分析應(yīng)該與技術(shù)和實(shí)現(xiàn)細(xì)節(jié)無(wú)關(guān),并包含一個(gè)理想的模型。對(duì)象分析可以幫助理解問(wèn)題并獲得關(guān)于問(wèn)題領(lǐng)域的知識(shí)。因?yàn)闃I(yè)務(wù)過(guò)程的改變比信息技術(shù)的改變要慢得多,所以必須要維持一個(gè)不含技術(shù)細(xì)節(jié)的純領(lǐng)域模型。這兩個(gè)步驟--需求分析和面向?qū)ο蠓治?-不是J2EE特有的;對(duì)許多面向?qū)ο蠓椒▽W(xué)來(lái)說(shuō),它們都非常通用。

一個(gè)寵物店示例程序的高層對(duì)象分析模型。它用圖例說(shuō)明了我們從需求分析用例中識(shí)別的主要概念。我們把這些概念建模成對(duì)象并標(biāo)識(shí)它們的關(guān)系。為了開(kāi)發(fā)架構(gòu),可以選擇一個(gè)縱向聯(lián)合部分(verticalpiece)--經(jīng)常是關(guān)鍵部分,如訂單領(lǐng)域?qū)ο竽P?-進(jìn)行對(duì)象設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和部署。(縱向聯(lián)合部分,一個(gè)RUP概念,是指系統(tǒng)的一小部分。起始點(diǎn)是圖1所示的用例子集和圖3所示的領(lǐng)域分析模型。一個(gè)縱向聯(lián)合部分的實(shí)現(xiàn)結(jié)果是一個(gè)全功能的微小系統(tǒng),包括UI層的JSP,中間層業(yè)務(wù)對(duì)象如EJB和后端數(shù)據(jù)庫(kù)。)可以將從原型中獲得的經(jīng)驗(yàn)應(yīng)用于領(lǐng)域?qū)ο蟛⒆鳛閷?duì)象設(shè)計(jì)階段的指導(dǎo)。

3、架構(gòu)規(guī)格說(shuō)明經(jīng)過(guò)前面兩個(gè)步驟,業(yè)務(wù)領(lǐng)域問(wèn)題和需求應(yīng)該比較明確了。現(xiàn)在,我們將工作集中在技術(shù)策略和架構(gòu)上。架構(gòu)是指所有構(gòu)件組合定義系統(tǒng)的一個(gè)藍(lán)圖:結(jié)構(gòu)、接口和通訊機(jī)制。我們可以進(jìn)一步將架構(gòu)分為企業(yè)級(jí)和應(yīng)用級(jí)架構(gòu)。企業(yè)級(jí)系統(tǒng)架構(gòu)企業(yè)級(jí)系統(tǒng)架構(gòu)包括硬件和軟件基礎(chǔ)設(shè)施、網(wǎng)絡(luò)布局、開(kāi)發(fā)、測(cè)試、生產(chǎn)環(huán)境等等。它反映了一個(gè)企業(yè)的長(zhǎng)期投資。開(kāi)發(fā)前,需要評(píng)估已存在的軟件和硬件基礎(chǔ)設(shè)施,如果不完全支持J2EE的話,增加新構(gòu)件更新已存在系統(tǒng)。你需要徹底地評(píng)估硬件,包括計(jì)算機(jī)、路由器、網(wǎng)絡(luò)轉(zhuǎn)換器和網(wǎng)絡(luò)布局,因?yàn)樗鼈兌加绊懙较到y(tǒng)的性能和可靠性。

4企業(yè)級(jí)架構(gòu):一個(gè)多層企業(yè)級(jí)架構(gòu)包括以下幾個(gè)主要構(gòu)件:一個(gè)Web瀏覽器客戶端,可能在也可能不在客戶端組織的防火墻內(nèi)一個(gè)HTTP服務(wù)器,是一個(gè)對(duì)公眾開(kāi)放的Web服務(wù)器。它通常位于一個(gè)稱作DMZ的子網(wǎng)內(nèi)Web容器主表示層和可能的業(yè)務(wù)邏輯構(gòu)件應(yīng)用程序容器主業(yè)務(wù)邏輯構(gòu)件關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)和數(shù)據(jù)庫(kù)主數(shù)據(jù)、數(shù)據(jù)邏輯你使用的系統(tǒng)架構(gòu)類型依賴于安全、性能和可靠性的需求,也依賴于組織的財(cái)政狀況。在缺少經(jīng)驗(yàn)的情況下,也可以適當(dāng)?shù)貜囊粋€(gè)修理廠電話訂購(gòu)一臺(tái)簡(jiǎn)單地二手計(jì)算機(jī)。

Internet上有許多開(kāi)放源代碼的操作系統(tǒng)、Web服務(wù)器、應(yīng)用程序服務(wù)器和數(shù)據(jù)庫(kù)管理系統(tǒng)。得到這些系統(tǒng)的代價(jià)只是幾百美元和熬幾個(gè)通宵。象許多華爾街金融機(jī)構(gòu)這樣的高端客戶也許需要一個(gè)連續(xù)支持安全、高吞吐量交易和不可預(yù)料網(wǎng)絡(luò)通訊的系統(tǒng)。在這種情況下,為了容錯(cuò),通常需要將Web服務(wù)器和應(yīng)用程序服務(wù)器集群配置成一個(gè)n層架構(gòu)。還需要評(píng)估軟件基礎(chǔ)設(shè)施,包括Web服務(wù)器、安全管理軟件、應(yīng)用程序服務(wù)器、域名管理服務(wù)器、數(shù)據(jù)庫(kù)管理系統(tǒng)和第三方軟件構(gòu)件。如果還沒(méi)有購(gòu)買(mǎi)應(yīng)用程序服務(wù)器,選擇一個(gè)J2EE供應(yīng)商將是評(píng)估過(guò)程的一個(gè)重要方面。應(yīng)該注意到不同的供應(yīng)商對(duì)J2EE的實(shí)現(xiàn)程度是不同的,一些供應(yīng)商只支持老的J2EE版本。

另外,一些Web容器或應(yīng)用程序容器可能比其他的速度要快。除了實(shí)現(xiàn)J2EE規(guī)范外,許多供應(yīng)商還出售J2EE基礎(chǔ)構(gòu)件或框架。選擇一個(gè)穩(wěn)定的提供支持的J2EE供應(yīng)商也非常關(guān)鍵。你可以在系統(tǒng)基礎(chǔ)設(shè)施層面上購(gòu)買(mǎi)或開(kāi)發(fā)的通用功能包括:事務(wù)國(guó)際化和本地化集群和對(duì)象分布應(yīng)用程序性能度量和剖析通訊工作流管理入口和個(gè)性化管理層對(duì)層通訊協(xié)議安全和防火墻應(yīng)用架構(gòu)應(yīng)用架構(gòu)參考一個(gè)特定的項(xiàng)目和規(guī)范建立在企業(yè)級(jí)系統(tǒng)架構(gòu)的上層。在基礎(chǔ)設(shè)施完成后,架構(gòu)師研究怎樣構(gòu)造一個(gè)特定的應(yīng)用。如果你的企業(yè)級(jí)架構(gòu)僅部分支持老的J2EE版本,可以先升級(jí)你的系統(tǒng)。如果由于預(yù)算或時(shí)間關(guān)系不能升級(jí),那么必須在更老版本規(guī)定的技術(shù)范圍內(nèi)開(kāi)展工作。雖然構(gòu)造企業(yè)級(jí)重用構(gòu)件非常重要,但是必須首先要能夠使用。這里的最終目標(biāo)是滿足客戶的需求--一次一個(gè)項(xiàng)目。

架構(gòu)師不是設(shè)計(jì)師;架構(gòu)和設(shè)計(jì)是完全不同。一個(gè)應(yīng)用架構(gòu)的范圍包括系統(tǒng)的主要結(jié)構(gòu)、架構(gòu)設(shè)計(jì)模式和可以在上面增加構(gòu)件的框架。架構(gòu)主要關(guān)注的是非功能性方面,而設(shè)計(jì)關(guān)注應(yīng)用業(yè)務(wù)用例將領(lǐng)域?qū)ο竽P娃D(zhuǎn)換成技術(shù)對(duì)象模型。應(yīng)用架構(gòu)是項(xiàng)目的結(jié)構(gòu),一個(gè)特殊的應(yīng)用程序。通過(guò)應(yīng)用架構(gòu)開(kāi)發(fā),你通常必須要做的應(yīng)用架構(gòu)決定包括:層之間進(jìn)行功能劃分領(lǐng)域?qū)ο蠼RWo(hù)的遺留系統(tǒng)要購(gòu)買(mǎi)的軟件構(gòu)件要開(kāi)發(fā)的構(gòu)件怎樣集成第三方構(gòu)件圖3的訂單領(lǐng)域?qū)ο笳f(shuō)明了怎樣對(duì)領(lǐng)域?qū)ο筮M(jìn)行建模。利用當(dāng)前的Java技術(shù),可以將領(lǐng)域?qū)ο蠓植荚谧鳛殚_(kāi)發(fā)者管理持續(xù)性對(duì)象的Web容器中、應(yīng)用程序服務(wù)器的EJB中或者作為RDBMS宿主的Java存儲(chǔ)過(guò)程中。在寵物店藍(lán)圖中,我們將訂單對(duì)象設(shè)計(jì)成一個(gè)實(shí)體bean,一個(gè)詳細(xì)對(duì)象和一個(gè)數(shù)據(jù)訪問(wèn)對(duì)象,如圖5和后面的圖6所示。當(dāng)你看到這個(gè)的時(shí)候,你應(yīng)該意識(shí)到架構(gòu)的重要性。為什么分析模型中的一個(gè)領(lǐng)域?qū)ο笥成涑蛇@么多對(duì)象?如果改變?cè)O(shè)計(jì),會(huì)出現(xiàn)什么問(wèn)題?你也許聽(tīng)說(shuō)過(guò)EJB的好處,但是要注意不同供應(yīng)商的性能是不同的。當(dāng)一種新技術(shù)到來(lái)的時(shí)候,你需要在投入全面設(shè)計(jì)之前進(jìn)行一些研究。你可以經(jīng)常地將設(shè)計(jì)和實(shí)現(xiàn)領(lǐng)域?qū)ο竽P涂v向聯(lián)合部分的經(jīng)驗(yàn)應(yīng)用到其他許多領(lǐng)域?qū)ο笾小_@就是架構(gòu)開(kāi)發(fā)的內(nèi)容。

對(duì)象設(shè)計(jì)在架構(gòu)規(guī)范的指導(dǎo)下,設(shè)計(jì)從技術(shù)上擴(kuò)展和修改了分析結(jié)果。雖然分析階段的領(lǐng)域?qū)ο蠼?yīng)該與技術(shù)細(xì)節(jié)無(wú)關(guān),但是對(duì)象設(shè)計(jì)完全依賴于技術(shù)因素,包括平臺(tái)、語(yǔ)言的類型和架構(gòu)開(kāi)發(fā)階段選擇的供應(yīng)商。分析時(shí),抬頭望著星星,但在設(shè)計(jì)階段,則要腳踏實(shí)地。理論上,為了維持業(yè)務(wù)對(duì)象的基本屬性和行為,除非絕對(duì)必要,不應(yīng)該破壞它們。在架構(gòu)結(jié)果的指導(dǎo)下,詳細(xì)設(shè)計(jì)工作應(yīng)該說(shuō)明所有類的規(guī)格,包括必須實(shí)現(xiàn)的屬性、它們的詳細(xì)接口和偽代碼或操作的純文本描述。規(guī)格說(shuō)明應(yīng)該足夠詳細(xì)使得和模型圖結(jié)合時(shí),它可以提供所有必須的編碼信息。在許多自動(dòng)化軟件生產(chǎn)過(guò)程中,我們可以從面向?qū)ο髨D生成代碼框架。注意樁(stub)和框架(skeleton)在圖中經(jīng)常是不可見(jiàn)的,因?yàn)樗鼈儗?duì)設(shè)計(jì)人員和編程員來(lái)說(shuō)是透明的。

#p#對(duì)象設(shè)計(jì)模型:訂單EJB詳細(xì)設(shè)計(jì)在完成了詳細(xì)對(duì)象設(shè)計(jì)后,還需要完成領(lǐng)域?qū)ο蟮膶?duì)象-關(guān)系映射。原因是雖然面向?qū)ο蠓椒▽W(xué)現(xiàn)在非常流行,但是大多數(shù)流行且成熟的持續(xù)性存儲(chǔ)卻是關(guān)系型的。另外,在許多情況下,客戶的IT基礎(chǔ)設(shè)施已經(jīng)反映了對(duì)商業(yè)RDBMS供應(yīng)商的投資和偏愛(ài)。所以,將領(lǐng)域?qū)ο筠D(zhuǎn)換成關(guān)系模型或數(shù)據(jù)庫(kù)表是非常重要的。雖然有許多容器管理的持續(xù)性工具,但它們不能取代好的關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)。

5、實(shí)現(xiàn)在良好的架構(gòu)和詳細(xì)設(shè)計(jì)條件下,實(shí)現(xiàn)應(yīng)該是一個(gè)明確的任務(wù)。另外,因?yàn)槲覀冊(cè)O(shè)計(jì)和實(shí)現(xiàn)架構(gòu)原型階段的縱向聯(lián)合部分,所以實(shí)現(xiàn)階段應(yīng)該更沒(méi)有什么值得驚訝的。在許多組織中,開(kāi)發(fā)者經(jīng)常過(guò)早地到達(dá)實(shí)現(xiàn)階段。尤其當(dāng)管理者盯著開(kāi)發(fā)人員確保在編碼,而不是做他們認(rèn)為在浪費(fèi)公司時(shí)間的其他事情時(shí),這種情況變得更加嚴(yán)重。結(jié)果,不再花數(shù)小時(shí)或數(shù)天繪出UML草圖,而是通常在發(fā)費(fèi)數(shù)周或數(shù)月編碼的同時(shí)測(cè)試自己的想法。由于在這種情況下,所有地架構(gòu)決定和設(shè)計(jì)都是在編碼階段做出來(lái)的,所以經(jīng)常過(guò)了數(shù)月后才發(fā)現(xiàn)開(kāi)發(fā)的方向出錯(cuò)了。

6、驗(yàn)證驗(yàn)證包括測(cè)試驗(yàn)證系統(tǒng)按設(shè)計(jì)要求運(yùn)行并滿足需求。驗(yàn)證過(guò)程發(fā)生在整個(gè)開(kāi)發(fā)生命周期的開(kāi)發(fā)和產(chǎn)品環(huán)境中。單元測(cè)試、集成測(cè)試和用戶測(cè)試本身就是非常重要的主題。

7、裝配和部署構(gòu)件裝配和解決方案部署在J2EE開(kāi)發(fā)中特別重要。開(kāi)發(fā)和產(chǎn)品環(huán)境可能非常不同。如果EJB在系統(tǒng)中,你需要使用供應(yīng)商特定的工具得到容器自動(dòng)生成的類,因?yàn)椋缥乙郧爸赋龅模琖eb和應(yīng)用程序構(gòu)件配置對(duì)不同的供應(yīng)商來(lái)說(shuō)是不同的。你也必須考慮要部署的系統(tǒng)是否含有供應(yīng)商特定代碼實(shí)現(xiàn)。在可擴(kuò)展架構(gòu)中,系統(tǒng)結(jié)構(gòu)應(yīng)該是穩(wěn)定的但也應(yīng)該在不影響整個(gè)系統(tǒng)的條件下支持新或老構(gòu)件的增量部署。

8、運(yùn)行和維護(hù)在最后階段,應(yīng)用程序到了用戶手中,你必須給他們提供培訓(xùn)和文檔。用戶會(huì)發(fā)現(xiàn)錯(cuò)誤并可能要求新特性。你必須適當(dāng)?shù)馗淖児芾磉^(guò)程來(lái)處理這些情況。你不必為了部署一個(gè)新構(gòu)件或取代老構(gòu)件而關(guān)閉一個(gè)正在運(yùn)行的系統(tǒng)。架構(gòu)開(kāi)發(fā)過(guò)程知道了必須做出許多架構(gòu)決定,因此我們必須為架構(gòu)開(kāi)發(fā)描繪一個(gè)過(guò)程。對(duì)于一個(gè)企業(yè)來(lái)說(shuō)通常有許多應(yīng)用項(xiàng)目,它們中的一些可能跨越數(shù)年,結(jié)果是系統(tǒng)演化包含許多周期。在你的領(lǐng)域里存在著許多跨越多個(gè)項(xiàng)目的通用需求。你應(yīng)該不費(fèi)力地在它的生命周期或其他項(xiàng)目中使用以前項(xiàng)目周期的可擴(kuò)展且可重用的架構(gòu)。為一系列軟件應(yīng)用提供同屬結(jié)構(gòu)和行為的通用框架和可重用軟件架構(gòu)是非常需要的。

如果是第一個(gè)J2EE項(xiàng)目,架構(gòu)必須做原型、測(cè)試、度量、分析并在迭代中進(jìn)行推敲。藍(lán)圖提供了許多好的設(shè)計(jì)指導(dǎo)和實(shí)踐,寵物店示例程序可以作為一個(gè)很好的參考架構(gòu)。最有效地快速、高質(zhì)量發(fā)布好的解決方案的方法是接受和擴(kuò)展藍(lán)圖參考架構(gòu)并插入你自己的業(yè)務(wù)構(gòu)件。你最后要做的就是改造車(chē)輪。接受一個(gè)參考架構(gòu)就我的理解,寵物店架構(gòu)的精華是模型-視圖-控制和命令模式。你可以將這些模式應(yīng)用到以Web為中心和以EJB為中心的系統(tǒng)中。對(duì)于每個(gè)領(lǐng)域?qū)ο螅晥D用嵌套的JSP表示。控制器處理相關(guān)的業(yè)務(wù)事件,領(lǐng)域?qū)ο蠓庋b業(yè)務(wù)邏輯、事物和安全。我們使用門(mén)戶servlet作為中心控制器接受和截獲所有用戶的動(dòng)作。它將業(yè)務(wù)事件分發(fā)給特定的調(diào)用領(lǐng)域?qū)ο蟾淖兂掷m(xù)狀態(tài)的領(lǐng)域?qū)ο罂刂破鳌R揽渴录幚斫Y(jié)果,控制器選擇下一個(gè)要展現(xiàn)的視圖。

下面是我們可以修改并在大多數(shù)J2EE應(yīng)用程序中使用的主要構(gòu)件:
a、MainServlet:門(mén)戶構(gòu)件,Web容器和框架之間的接口
b、ModelUpdateListener:獲得模型更新事件對(duì)象的接口
c、ModelUpdateNotifier:當(dāng)更新模型事件發(fā)生時(shí)通知偵聽(tīng)器
d、RequestProcessor:處理所有從MainServlet來(lái)的請(qǐng)求。
e、RequestHandler:即插即用請(qǐng)求處理構(gòu)件接口
f、RequestHandlerMapping:包含請(qǐng)求處理映射規(guī)則
g、RequestToEventTranslator:中心請(qǐng)求處理器根據(jù)請(qǐng)求處理映射規(guī)則代理即插即用請(qǐng)求處理構(gòu)件的請(qǐng)求。將http請(qǐng)求轉(zhuǎn)換為業(yè)務(wù)事件
h、EstoreEvent:業(yè)務(wù)事件
i、ShoppingClientControllerWebImpl:代理EJB層門(mén)戶控制器
j、ScreenflowManager:控制屏幕流,選擇視圖
k、ModelUpdateManager:EJB層模型更新管理器,通知什么模型由于事件發(fā)生了改變
l、ShoppingClientControllerEJB:EJB層門(mén)戶,為EJB客戶提供遠(yuǎn)程服務(wù)
m、StateMachine:中心事件處理器,根據(jù)狀態(tài)處理映射規(guī)則代理即插即用處理構(gòu)件的事件處理
n、StateHandler:EJB層狀態(tài)處理接口
o、StateHandlerMapping:包含狀態(tài)處理映射規(guī)則擴(kuò)展參考架構(gòu)雖然藍(lán)圖示例程序是一個(gè)好的起點(diǎn),但應(yīng)該根據(jù)每個(gè)項(xiàng)目或領(lǐng)域修改它。

設(shè)計(jì)模式是可重用的微體系結(jié)構(gòu),可以使用它擴(kuò)展參考架構(gòu)。提供了一組有用的J2EE模式目錄的藍(lán)圖和23個(gè)"四人幫"模式都是非常不錯(cuò)的資源。例如,如果想擴(kuò)展參考架構(gòu)支持工作流管理,你可以在部署或運(yùn)行時(shí)動(dòng)態(tài)地在中心控制器注冊(cè)事件處理器。中心控制器會(huì)詢問(wèn)每個(gè)注冊(cè)的事件處理器直到一個(gè)處理器返回消息表明到了命令鏈的末端。插入你的業(yè)務(wù)構(gòu)件J2EE技術(shù)對(duì)每個(gè)人都是一樣的,但是不同的領(lǐng)域,我們要解決的問(wèn)題是不同的。一旦建立了一個(gè)基本的J2EE框架,必須實(shí)現(xiàn)一些用例來(lái)說(shuō)明架構(gòu)確實(shí)可以為你的領(lǐng)域服務(wù)。可以通過(guò)選用捕獲系統(tǒng)關(guān)鍵功能的場(chǎng)景來(lái)實(shí)現(xiàn),這些場(chǎng)景經(jīng)常使用來(lái)展現(xiàn)關(guān)鍵的技術(shù)風(fēng)險(xiǎn)。

從領(lǐng)域分析模型入手,可以將領(lǐng)域?qū)ο笥成涑筛邔雍偷蛯釉O(shè)計(jì)模型。實(shí)現(xiàn)低層設(shè)計(jì)模型并測(cè)試是否真正在工作。如果每件事都按計(jì)劃運(yùn)行,那么重新評(píng)估風(fēng)險(xiǎn)開(kāi)始下一個(gè)迭代,擴(kuò)展要考慮的場(chǎng)景并選擇更多的場(chǎng)景擴(kuò)展架構(gòu)的覆蓋范圍。經(jīng)過(guò)幾次迭代后,原始的架構(gòu)原型應(yīng)該變得穩(wěn)定。識(shí)別要購(gòu)買(mǎi)的構(gòu)件,要保留的遺留系統(tǒng)和怎樣將它們對(duì)接。

下一步是軟件設(shè)計(jì),你可以使用設(shè)計(jì)指導(dǎo)中規(guī)定好的類似方法和過(guò)程繼續(xù)開(kāi)發(fā)。一步一步我們使用一個(gè)過(guò)程來(lái)將一個(gè)復(fù)雜問(wèn)題分解為較小的幾個(gè)問(wèn)題,這使得我們可以更容易的理解和解決它們。在本文中,我們將J2EE開(kāi)發(fā)分解為八個(gè)步驟,主要集中在架構(gòu)和設(shè)計(jì)。我已經(jīng)闡述了重要的架構(gòu)并為架構(gòu)決定提供了一個(gè)過(guò)程。我也討論了J2EE架構(gòu)師的角色和可交付產(chǎn)品。學(xué)習(xí)使用這些步驟開(kāi)發(fā)J2EE解決方案就象學(xué)習(xí)跳舞的步驟一樣。首先需要自覺(jué)并持之以恒地練習(xí)基本步驟。但是,一旦你對(duì)它們相當(dāng)熟悉后,應(yīng)該將它們放在一起并將注意力更多地集中在規(guī)模、速度、流和特定上下文中每一步的節(jié)奏。但永遠(yuǎn)不要讓一個(gè)過(guò)程限制了創(chuàng)造性。而應(yīng)該接受和擴(kuò)展過(guò)程以滿足自己特殊需要。記住,最終目的是提供滿足客戶需求的完整的J2EE解決方案。

【編輯推薦】

  1. J2EE+Flex的菜單及權(quán)限控制實(shí)踐
  2. JAVA J2EE框架一覽
  3. 不同的J2EE項(xiàng)目開(kāi)發(fā)流程
  4. Java EE = J2EE = Java企業(yè)應(yīng)用
  5. J2EE平臺(tái)的13種核心技術(shù)
責(zé)任編輯:book05 來(lái)源: 新浪博客
相關(guān)推薦

2009-06-10 16:25:43

J2EE架構(gòu)架構(gòu)

2009-06-23 08:12:48

J2EE調(diào)用存儲(chǔ)過(guò)程

2009-06-23 08:06:46

J2EE體系架構(gòu)J2EE模型J2EE設(shè)計(jì)模式

2009-06-22 11:04:00

Jdbc存儲(chǔ)過(guò)程

2009-02-23 11:18:06

J2EE架構(gòu)師Java

2009-06-10 14:10:23

J2EE學(xué)習(xí)J2EE是什么

2009-06-19 17:03:44

J2EE學(xué)習(xí)

2009-06-11 17:06:11

J2EE歷史Java EE概述

2009-06-10 13:37:06

J2EE可伸縮性J2EE靈活性J2EE維護(hù)

2009-06-08 21:34:09

J2EEJ2SEJ2ME

2009-06-23 16:48:26

J2EE常見(jiàn)問(wèn)題J2EE平臺(tái)

2009-06-22 17:05:41

Java EEJava企業(yè)應(yīng)用

2009-06-18 15:54:57

J2EE下使用JNDI

2009-06-22 16:21:02

J2EE線程

2009-06-18 16:13:14

J2EE開(kāi)發(fā)

2009-06-23 08:03:02

2009-06-22 11:15:00

J2EE應(yīng)用測(cè)試

2009-06-10 16:35:26

2011-06-30 09:49:40

JSPJ2EE

2009-06-22 11:50:00

J2EE Web應(yīng)用快速開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

成人国产在线视频| 成人性生交大片免费看视频直播| 黄色片网址在线观看| 欧美一区二区麻豆红桃视频| 在线一区二区三区四区五区| 国产成人亚洲精品无码h在线| 亚洲激情社区| 69av在线播放| 97天天综合网| 亚洲欧美日韩一区二区| 国产成人生活片| 亚洲国产日本| 5252色成人免费视频| 户外露出一区二区三区| 欧美日韩电影在线播放| 理论片播放午夜国外| 波多野结衣一区二区三区 | 狠狠综合久久av一区二区小说| 屁屁影院ccyy国产第一页| 国产精品99免费看| 欧美性受xxxx白人性爽| 向日葵视频成人app网址| 在线播放欧美女士性生活| 色黄视频在线| 亚洲精品中文在线| 久草在线国产| 国产精品美女久久久久高潮| 久色视频在线播放| 国产高清不卡一区| 欧美日韩亚洲免费| 99国产精品视频免费观看一公开| 成人av在线亚洲| 成人精品影视| 日本最新高清不卡中文字幕| 国产精品极品| 久久久久久久久91| 136国产福利精品导航网址应用| 最近2019免费中文字幕视频三 | 综合伊思人在钱三区| 日韩有码片在线观看| 天堂中文最新版在线中文| 精品久久久久久无| 1区2区在线| 亚洲嫩模很污视频| 成人av观看| 亚洲性夜色噜噜噜7777| 香蕉成人影院| 一本一本久久a久久精品牛牛影视| 色在线中文字幕| 日韩精品中文字| 中文字幕乱码在线播放| 亚洲人成电影网站色…| 日本美女久久| 久久视频在线直播| 亚洲系列另类av| 国产欧美日韩中文| 国产字幕视频一区二区| 欧美动漫一区二区| 精品一区二区三区在线观看| 日韩小视频网站| 国产日本欧洲亚洲| 97影院在线观看| 欧美日韩国产系列| 蜜桃在线视频| 久久91精品国产91久久久| 亚洲瘦老头同性70tv| 亚洲xxx自由成熟| 久久一区二区三区超碰国产精品| 永久久久久久| 国产精品网站一区| 免费在线毛片| 亚洲精品久久久久中文字幕二区| 99热播精品免费| 欧美做受高潮电影o| 狠狠入ady亚洲精品经典电影| 亚洲高清视频在线观看| 久久久久久黄色| 色av男人的天堂免费在线| 日韩免费一区二区三区在线播放| 在线免费三级电影网站| 97视频免费看| 影音先锋久久资源网| 欧美人与动牲交xxxxbbbb| 国产精品国产三级国产aⅴ中文| 免费在线观看一级毛片| 一区二区三区国产精华| 国模精品视频| 国产精品成人免费电影| 丰满少妇久久久久久久| 毛片在线免费| 日韩亚洲第一页| 久久日韩精品一区二区五区| 成人性生交大片免费看网站 | 国产精品一区而去| 午夜精品国产更新| 91精品尤物| 牛人盗摄一区二区三区视频| 亚洲愉拍自拍另类高清精品| 一区二区三区欧洲区| 91天堂在线| 91精品在线一区| 日韩精品在线电影| 中文乱码免费一区二区三区下载| 巨大荫蒂视频欧美大片| 亚洲999一在线观看www| 日韩国产精品一区| 日本欧美一区二区三区| 97久久精品一区二区三区的观看方式| 免费无码国产v片在线观看| 色乱码一区二区三在线看| 久久国产精品99国产精| 亚洲日本欧美天堂| 久久久久久9| 成人激情久久| 国产精品区二区三区日本| 色婷婷综合久久久久| 亚洲综合色丁香婷婷六月图片| 国产精品一区二区在线看| 久久久久.com| 黄色污网站在线观看| 欧美伊人久久久久久午夜久久久久| 成人在线免费观看网站| 污污网站在线看| 日本在线免费观看视频| 91pron在线| 怡红院精品视频| 色偷偷久久一区二区三区| 色婷婷av一区| 精品少妇一区二区三区日产乱码 | 久久久女人电视剧免费播放下载| 亚洲精品成人天堂一二三| 不卡一区二区中文字幕| 免费国产在线观看| 国模视频一区二区| 国产盗摄一区二区三区| 在线观看a级片| 国产福利成人在线| 久久综合九色欧美综合狠狠| 国产在线激情视频| 亚洲va欧美va在线观看| 亚洲伦在线观看| 9l视频自拍蝌蚪9l视频成人| 强开小嫩苞一区二区三区网站 | www亚洲欧美| 另类专区欧美蜜桃臀第一页| 成人欧美亚洲| 91一区二区三区| 亚洲一区二区三区视频在线| 欧美精品中文| 国产精品人人妻人人爽人人牛| 亚洲激情在线观看| 国产亚洲精品自拍| 你懂的在线网址| 成人国产精品av| 亚洲激情在线播放| 精品在线观看入口| 好吊妞这里只有精品| 欧美一级淫片aaaaaaa视频| 国产精品不卡一区二区三区| 精品少妇3p| 理论片鲁丝二区爱情网| 国产成一区二区| 亚洲福中文字幕伊人影院| 欧美天天综合| 日本一区高清| 成人欧美一区二区三区视频xxx| 一本大道综合伊人精品热热| 一区二区三区午夜视频| av在线天堂| 亚洲国产精品综合| 亚洲欧洲在线播放| av在线不卡电影| 天堂va欧美ⅴa亚洲va一国产| 国产一二三四在线视频| 欧美中文在线字幕| 一区二区免费视频| 欧美视频福利| 美女尤物在线视频| 欧美精品在欧美一区二区| 久久伊人色综合| 伊人开心综合网| 国内精品久久久久久久97牛牛| 国产福利在线播放麻豆| 中文字幕一区二区三区有限公司 | 欧美日韩在线三级| 亚洲一区区二区| 国产在线88av| 国产亚洲综合视频| 国产精品吹潮在线观看| 欧美网站大全在线观看| 日本欧美大码aⅴ在线播放| 成人a在线观看高清电影| 激情亚洲综合网| 久久久久久国产精品免费免费| 精品亚洲夜色av98在线观看 | 国产一区在线免费观看| 精品人伦一区二区色婷婷| 国产精品一级二级三级| 久久porn| 免费黄色在线观看|