<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 71  文章 - 15  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    因為口渴,上帝創(chuàng)造了水;
    因為黑暗,上帝創(chuàng)造了火;
    因為我需要朋友,所以上帝讓你來到我身邊
    Click for Shaanxi xi'an, Shaanxi Forecast
    ╱◥█◣
      |田|田|
    ╬╬╬╬╬╬╬╬╬╬╬
    If only I have such a house!
    〖總在爬山 所以艱辛〗
    Email:myesjoy@yahoo.com.cn
    NickName:yesjoy
    MSN:myesjoy@hotmail.com
    QQ:150230516

    〖總在尋夢 所以苦痛〗

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    Hibernate在線

    Java友情

    Java認證

    linux經(jīng)典

    OA系統(tǒng)

    Spring在線

    Structs在線

    專家專欄

    企業(yè)信息化

    大型設(shè)備共享系統(tǒng)

    工作流

    工作流產(chǎn)品

    網(wǎng)上購書

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    摘要 

    Java2企業(yè)版(J2EE)平臺由四個關(guān)鍵部分構(gòu)成:規(guī)格說明、參考實現(xiàn)、兼容性測試套件和藍圖(BluePrint)計劃。藍圖描繪了分布式組件架構(gòu)最好的實踐和設(shè)計指導方針。本文基于Rational統(tǒng)一過程和BluePrint示例程序介紹一個八步驟J2EE開發(fā)方法學。通過閱讀這篇文章,你可以了解許多重要的J2EE架構(gòu)的話題,并且能夠擴展和修改這個簡單的方法來解決自己特有的業(yè)務(wù)問題。 

    在商業(yè)世界里,我們使用Java2 企業(yè)版(J2EE)解決業(yè)務(wù)問題、開發(fā)商業(yè)軟件或者提供轉(zhuǎn)包服務(wù)。如果一家公司想使用多層體系結(jié)構(gòu)建造一個電子商務(wù)網(wǎng)站,通常在整個開發(fā)生命周期中需要涉及到管理者、架構(gòu)師,設(shè)計人員、編程人員、測試人員和數(shù)據(jù)庫專家。 

    為了使不同部門能高效率地工作,他們經(jīng)常需要一個軟件開發(fā)過程。一些經(jīng)典的開發(fā)過程包括瀑布模型、快速應(yīng)用開發(fā)(RAD)和極限編程(XP)。本文我們將集中于一個流行的軟件工程過程,即Rational統(tǒng)一過程(RUP)。RUP提供了一個給角色分配任務(wù)和責任的嚴格方法。它的目標是保證我們在預(yù)期的進度和預(yù)算內(nèi)開發(fā)出滿足用戶需求的高質(zhì)量軟件。 

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

    1、 需求分析 

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

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

    按此在新窗口瀏覽圖片
    圖1 訂購用例 

    2、 面向?qū)ο蠓治?nbsp;

    分析人員構(gòu)造問題領(lǐng)域模型:類、對象和交互。分析應(yīng)該與技術(shù)和實現(xiàn)細節(jié)無關(guān),并包含一個理想的模型。對象分析可以幫助理解問題并獲得關(guān)于問題領(lǐng)域的知識。因為業(yè)務(wù)過程的改變比信息技術(shù)的改變要慢得多,所以必須要維持一個不含技術(shù)細節(jié)的純領(lǐng)域模型。 

    這兩個步驟--需求分析和面向?qū)ο蠓治?-不是J2EE特有的;對許多面向?qū)ο蠓椒▽W來說,它們都非常通用。圖2 顯示了一個寵物店示例程序的高層對象分析模型。它用圖例說明了我們從需求分析用例中識別的主要概念。我們把這些概念建模成對象并標識它們的關(guān)系。 

    按此在新窗口瀏覽圖片
    圖2 更高層分析模型:寵物店領(lǐng)域 

    需求和對象分析的結(jié)果是為J2EE架構(gòu)的開發(fā)提供切入點。為了開發(fā)架構(gòu),可以選擇一個縱向聯(lián)合部分(vertical piece)--經(jīng)常是關(guān)鍵部分,如訂單領(lǐng)域?qū)ο竽P?-進行對象設(shè)計、實現(xiàn)、測試和部署。(縱向聯(lián)合部分,一個RUP概念,是指系統(tǒng)的一小部分。起始點是圖1所示的用例子集和圖3所示的領(lǐng)域分析模型。一個縱向聯(lián)合部分的實現(xiàn)結(jié)果是一個全功能的微小系統(tǒng),包括UI層的JSP,中間層業(yè)務(wù)對象如EJB和后端數(shù)據(jù)庫。)可以將從原型中獲得的經(jīng)驗應(yīng)用于領(lǐng)域?qū)ο蟛⒆鳛閷ο笤O(shè)計階段的指導。 

    按此在新窗口瀏覽圖片
    圖3 詳細對象分析:訂單 

    3、 架構(gòu)規(guī)格說明 

    經(jīng)過前面兩個步驟,業(yè)務(wù)領(lǐng)域問題和需求應(yīng)該比較明確了。現(xiàn)在,我們將工作集中在技術(shù)策略和架構(gòu)上。架構(gòu)是指所有構(gòu)件組合定義系統(tǒng)的一個藍圖:結(jié)構(gòu)、接口和通訊機制。我們可以進一步將架構(gòu)分為企業(yè)級和應(yīng)用級架構(gòu)。 

    企業(yè)級系統(tǒng)架構(gòu) 

    企業(yè)級系統(tǒng)架構(gòu)包括硬件和軟件基礎(chǔ)設(shè)施、網(wǎng)絡(luò)布局、開發(fā)、測試、生產(chǎn)環(huán)境等等。它反映了一個企業(yè)的長期投資。開發(fā)前,需要評估已存在的軟件和硬件基礎(chǔ)設(shè)施,如果不完全支持J2EE的話,增加新構(gòu)件更新已存在系統(tǒng)。你需要徹底地評估硬件,包括計算機、路由器、網(wǎng)絡(luò)轉(zhuǎn)換器和網(wǎng)絡(luò)布局,因為它們都影響到系統(tǒng)的性能和可靠性。圖4 顯示了一個可能的多層網(wǎng)絡(luò)布局。 

    按此在新窗口瀏覽圖片
    圖4 企業(yè)級架構(gòu):網(wǎng)絡(luò)布局 

    如圖4所示的一個多層企業(yè)級架構(gòu)包括以下幾個主要構(gòu)件: 


    一個Web瀏覽器客戶端,可能在也可能不在客戶端組織的防火墻內(nèi) 
    一個HTTP服務(wù)器,是一個對公眾開放的Web服務(wù)器。它通常位于一個稱作DMZ的子網(wǎng)內(nèi) 
    Web容器主表示層和可能的業(yè)務(wù)邏輯構(gòu)件 
    應(yīng)用程序容器主業(yè)務(wù)邏輯構(gòu)件 
    關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)和數(shù)據(jù)庫主數(shù)據(jù)、數(shù)據(jù)邏輯 


    你使用的系統(tǒng)架構(gòu)類型依賴于安全、性能和可靠性的需求,也依賴于組織的財政狀況。在缺少經(jīng)驗的情況下,也可以適當?shù)貜囊粋€修理廠電話訂購一臺簡單地二手計算機。Internet上有許多開放源代碼的操作系統(tǒng)、Web服務(wù)器、應(yīng)用程序服務(wù)器和數(shù)據(jù)庫管理系統(tǒng)。得到這些系統(tǒng)的代價只是幾百美元和熬幾個通宵。 

    象許多華爾街金融機構(gòu)這樣的高端客戶也許需要一個連續(xù)支持安全、高吞吐量交易和不可預(yù)料網(wǎng)絡(luò)通訊的系統(tǒng)。在這種情況下,為了容錯,通常需要將Web服務(wù)器和應(yīng)用程序服務(wù)器集群配置成一個n層架構(gòu)。 

    還需要評估軟件基礎(chǔ)設(shè)施,包括Web服務(wù)器、安全管理軟件、應(yīng)用程序服務(wù)器、域名管理服務(wù)器、數(shù)據(jù)庫管理系統(tǒng)和第三方軟件構(gòu)件。如果還沒有購買應(yīng)用程序服務(wù)器,選擇一個J2EE供應(yīng)商將是評估過程的一個重要方面。應(yīng)該注意到不同的供應(yīng)商對J2EE的實現(xiàn)程度是不同的,一些供應(yīng)商只支持老的J2EE版本。另外,一些Web容器或應(yīng)用程序容器可能比其他的速度要快。除了實現(xiàn)J2EE規(guī)范外,許多供應(yīng)商還出售J2EE基礎(chǔ)構(gòu)件或框架。選擇一個穩(wěn)定的提供支持的J2EE供應(yīng)商也非常關(guān)鍵。你可以在系統(tǒng)基礎(chǔ)設(shè)施層面上購買或開發(fā)的通用功能包括: 


    事務(wù) 
    國際化和本地化 
    集群和對象分布 
    應(yīng)用程序性能度量和剖析 
    通訊 
    工作流管理 
    入口和個性化管理 
    層對層通訊協(xié)議 
    安全和防火墻 


    應(yīng)用架構(gòu) 

    應(yīng)用架構(gòu)參考一個特定的項目和規(guī)范建立在企業(yè)級系統(tǒng)架構(gòu)的上層。在基礎(chǔ)設(shè)施完成后,架構(gòu)師研究怎樣構(gòu)造一個特定的應(yīng)用。如果你的企業(yè)級架構(gòu)僅部分支持老的J2EE版本,可以先升級你的系統(tǒng)。如果由于預(yù)算或時間關(guān)系不能升級,那么必須在更老版本規(guī)定的技術(shù)范圍內(nèi)開展工作。雖然構(gòu)造企業(yè)級重用構(gòu)件非常重要,但是必須首先要能夠使用。這里的最終目標是滿足客戶的需求--一次一個項目。 

    架構(gòu)師不是設(shè)計師;架構(gòu)和設(shè)計是完全不同。一個應(yīng)用架構(gòu)的范圍包括系統(tǒng)的主要結(jié)構(gòu)、架構(gòu)設(shè)計模式和可以在上面增加構(gòu)件的框架。架構(gòu)主要關(guān)注的是非功能性方面,而設(shè)計關(guān)注應(yīng)用業(yè)務(wù)用例將領(lǐng)域?qū)ο竽P娃D(zhuǎn)換成技術(shù)對象模型。應(yīng)用架構(gòu)是項目的結(jié)構(gòu),一個特殊的應(yīng)用程序。通過應(yīng)用架構(gòu)開發(fā),你通常必須要做的應(yīng)用架構(gòu)決定包括: 


    層之間進行功能劃分 
    領(lǐng)域?qū)ο蠼?nbsp;
    要保護的遺留系統(tǒng) 
    要購買的軟件構(gòu)件 
    要開發(fā)的構(gòu)件 
    怎樣集成第三方構(gòu)件 


    圖3的訂單領(lǐng)域?qū)ο笳f明了怎樣對領(lǐng)域?qū)ο筮M行建模。利用當前的Java技術(shù),可以將領(lǐng)域?qū)ο蠓植荚谧鳛殚_發(fā)者管理持續(xù)性對象的Web容器中、應(yīng)用程序服務(wù)器的EJB中或者作為RDBMS宿主的Java存儲過程中。 

    在寵物店藍圖中,我們將訂單對象設(shè)計成一個實體bean,一個詳細對象和一個數(shù)據(jù)訪問對象,如圖5和后面的圖6所示。當你看到這個的時候,你應(yīng)該意識到架構(gòu)的重要性。為什么分析模型中的一個領(lǐng)域?qū)ο笥成涑蛇@么多對象?如果改變設(shè)計,會出現(xiàn)什么問題?你也許聽說過EJB的好處,但是要注意不同供應(yīng)商的性能是不同的。當一種新技術(shù)到來的時候,你需要在投入全面設(shè)計之前進行一些研究。你可以經(jīng)常地將設(shè)計和實現(xiàn)領(lǐng)域?qū)ο竽P涂v向聯(lián)合部分的經(jīng)驗應(yīng)用到其他許多領(lǐng)域?qū)ο笾小_@就是架構(gòu)開發(fā)的內(nèi)容。 
    按此在新窗口瀏覽圖片
    圖4 企業(yè)級架構(gòu):網(wǎng)絡(luò)布局 

    如圖4所示的一個多層企業(yè)級架構(gòu)包括以下幾個主要構(gòu)件: 


    一個Web瀏覽器客戶端,可能在也可能不在客戶端組織的防火墻內(nèi) 
    一個HTTP服務(wù)器,是一個對公眾開放的Web服務(wù)器。它通常位于一個稱作DMZ的子網(wǎng)內(nèi) 
    Web容器主表示層和可能的業(yè)務(wù)邏輯構(gòu)件 
    應(yīng)用程序容器主業(yè)務(wù)邏輯構(gòu)件 
    關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)和數(shù)據(jù)庫主數(shù)據(jù)、數(shù)據(jù)邏輯 


    你使用的系統(tǒng)架構(gòu)類型依賴于安全、性能和可靠性的需求,也依賴于組織的財政狀況。在缺少經(jīng)驗的情況下,也可以適當?shù)貜囊粋€修理廠電話訂購一臺簡單地二手計算機。Internet上有許多開放源代碼的操作系統(tǒng)、Web服務(wù)器、應(yīng)用程序服務(wù)器和數(shù)據(jù)庫管理系統(tǒng)。得到這些系統(tǒng)的代價只是幾百美元和熬幾個通宵。 

    象許多華爾街金融機構(gòu)這樣的高端客戶也許需要一個連續(xù)支持安全、高吞吐量交易和不可預(yù)料網(wǎng)絡(luò)通訊的系統(tǒng)。在這種情況下,為了容錯,通常需要將Web服務(wù)器和應(yīng)用程序服務(wù)器集群配置成一個n層架構(gòu)。 

    還需要評估軟件基礎(chǔ)設(shè)施,包括Web服務(wù)器、安全管理軟件、應(yīng)用程序服務(wù)器、域名管理服務(wù)器、數(shù)據(jù)庫管理系統(tǒng)和第三方軟件構(gòu)件。如果還沒有購買應(yīng)用程序服務(wù)器,選擇一個J2EE供應(yīng)商將是評估過程的一個重要方面。應(yīng)該注意到不同的供應(yīng)商對J2EE的實現(xiàn)程度是不同的,一些供應(yīng)商只支持老的J2EE版本。另外,一些Web容器或應(yīng)用程序容器可能比其他的速度要快。除了實現(xiàn)J2EE規(guī)范外,許多供應(yīng)商還出售J2EE基礎(chǔ)構(gòu)件或框架。選擇一個穩(wěn)定的提供支持的J2EE供應(yīng)商也非常關(guān)鍵。你可以在系統(tǒng)基礎(chǔ)設(shè)施層面上購買或開發(fā)的通用功能包括: 


    事務(wù) 
    國際化和本地化 
    集群和對象分布 
    應(yīng)用程序性能度量和剖析 
    通訊 
    工作流管理 
    入口和個性化管理 
    層對層通訊協(xié)議 
    安全和防火墻 


    應(yīng)用架構(gòu) 

    應(yīng)用架構(gòu)參考一個特定的項目和規(guī)范建立在企業(yè)級系統(tǒng)架構(gòu)的上層。在基礎(chǔ)設(shè)施完成后,架構(gòu)師研究怎樣構(gòu)造一個特定的應(yīng)用。如果你的企業(yè)級架構(gòu)僅部分支持老的J2EE版本,可以先升級你的系統(tǒng)。如果由于預(yù)算或時間關(guān)系不能升級,那么必須在更老版本規(guī)定的技術(shù)范圍內(nèi)開展工作。雖然構(gòu)造企業(yè)級重用構(gòu)件非常重要,但是必須首先要能夠使用。這里的最終目標是滿足客戶的需求--一次一個項目。 

    架構(gòu)師不是設(shè)計師;架構(gòu)和設(shè)計是完全不同。一個應(yīng)用架構(gòu)的范圍包括系統(tǒng)的主要結(jié)構(gòu)、架構(gòu)設(shè)計模式和可以在上面增加構(gòu)件的框架。架構(gòu)主要關(guān)注的是非功能性方面,而設(shè)計關(guān)注應(yīng)用業(yè)務(wù)用例將領(lǐng)域?qū)ο竽P娃D(zhuǎn)換成技術(shù)對象模型。應(yīng)用架構(gòu)是項目的結(jié)構(gòu),一個特殊的應(yīng)用程序。通過應(yīng)用架構(gòu)開發(fā),你通常必須要做的應(yīng)用架構(gòu)決定包括: 


    層之間進行功能劃分 
    領(lǐng)域?qū)ο蠼?nbsp;
    要保護的遺留系統(tǒng) 
    要購買的軟件構(gòu)件 
    要開發(fā)的構(gòu)件 
    怎樣集成第三方構(gòu)件 


    圖3的訂單領(lǐng)域?qū)ο笳f明了怎樣對領(lǐng)域?qū)ο筮M行建模。利用當前的Java技術(shù),可以將領(lǐng)域?qū)ο蠓植荚谧鳛殚_發(fā)者管理持續(xù)性對象的Web容器中、應(yīng)用程序服務(wù)器的EJB中或者作為RDBMS宿主的Java存儲過程中。 

    在寵物店藍圖中,我們將訂單對象設(shè)計成一個實體bean,一個詳細對象和一個數(shù)據(jù)訪問對象,如圖5和后面的圖6所示。當你看到這個的時候,你應(yīng)該意識到架構(gòu)的重要性。為什么分析模型中的一個領(lǐng)域?qū)ο笥成涑蛇@么多對象?如果改變設(shè)計,會出現(xiàn)什么問題?你也許聽說過EJB的好處,但是要注意不同供應(yīng)商的性能是不同的。當一種新技術(shù)到來的時候,你需要在投入全面設(shè)計之前進行一些研究。你可以經(jīng)常地將設(shè)計和實現(xiàn)領(lǐng)域?qū)ο竽P涂v向聯(lián)合部分的經(jīng)驗應(yīng)用到其他許多領(lǐng)域?qū)ο笾小_@就是架構(gòu)開發(fā)的內(nèi)容。 

    posted on 2006-02-06 11:25 ★yesjoy★ 閱讀(266) 評論(0)  編輯  收藏 所屬分類: J2EE結(jié)構(gòu)

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 免费无码AV片在线观看软件| 暖暖在线视频免费视频| 4虎永免费最新永久免费地址| 亚洲精品一品区二品区三品区| 男女作爱免费网站| www.91亚洲| 九九免费观看全部免费视频| 亚洲AV无码一区二三区 | 免费少妇a级毛片| 激情小说亚洲图片| 亚洲黄黄黄网站在线观看| 免费国产黄网站在线看| 久久久久国产亚洲AV麻豆| 国产VA免费精品高清在线| 亚洲午夜精品久久久久久浪潮| 思思久久99热免费精品6| 亚洲中文字幕丝袜制服一区| 久久久久久毛片免费看| 亚洲精品综合一二三区在线 | 全部免费毛片免费播放| 一级毛片免费观看不收费| 亚洲夜夜欢A∨一区二区三区 | 一本色道久久综合亚洲精品蜜桃冫 | 中国一级特黄高清免费的大片中国一级黄色片 | 亚洲国产精品第一区二区| 亚洲w码欧洲s码免费| 最新国产成人亚洲精品影院| 手机在线免费视频| 日韩在线视频免费| 国产成人精品日本亚洲| 久久国产免费福利永久| 亚洲国产一区二区三区在线观看 | 免费毛片在线播放| 中文在线观看国语高清免费| 亚洲国产综合第一精品小说| 免费国产在线观看不卡| 人人玩人人添人人澡免费| 在线精品亚洲一区二区| 国产精品亚洲A∨天堂不卡| www.999精品视频观看免费| 新最免费影视大全在线播放|