国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
J2EE架構(gòu)和過(guò)程 - fanqiang.com
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ù)專家。為了使不同部門能高效率地工作,他們經(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利用一門工業(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è)合同??梢允褂脴I(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)買訂單中。

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)該比較明確了?,F(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)買應(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)買或開(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)買的軟件構(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ō)是透明的。

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ù)專家。為了使不同部門能高效率地工作,他們經(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利用一門工業(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è)合同??梢允褂脴I(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)買訂單中。

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)買應(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)買或開(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)買的軟件構(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ō)是透明的。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
深入理解DDD架構(gòu)中的核心模塊
J2EE架構(gòu)的6個(gè)最佳實(shí)踐
中國(guó)電信CTG-MBOSS技術(shù)架構(gòu)及其應(yīng)用
中興CRM系統(tǒng)
OO系統(tǒng)設(shè)計(jì)師之路--設(shè)計(jì)模型系列(1)--軟件架構(gòu)和軟件框架
基于RBAC模型的權(quán)限管理系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服