開發完整J2EE解決方案的八個步驟

學識都 人氣:3.07W

摘要:Java 2企業版本(The Java 2 Enterprise Edition,J2EE)平臺由4個主要的部分組成:規範,參考實現,兼容性測試包和BluePrints程序。BluePrints描述了一個分佈式組件體系的最佳練習和設計指導方針。這篇文章介紹了一個由八個步驟組成的J2EE開發方法論,該方法是基於Rational Unified Process和BluePrints應用例子的。通過這篇文章,你將可以更好地理解J2EE體系的許多重要主題,並且可以應用這些知識來擴展和修改這個簡單的方法論,從而解決各種特定的商業問題。

開發完整J2EE解決方案的八個步驟

在商業領域,我們使用Java 2企業版本(J2EE)來解決商業問題,開發商業的軟件,或者爲其它的商業項目提供聯繫的服務。如果一個公司要使用多層的體系來建立一個電子商務的網站,在其整個開發週期中,通常都需要經理、體系構建人員、設計人員、編程人員、測試人員和數據庫專家參與進來。

爲了讓不同的部分可以有效地工作,我們通常都需要一個軟件開發流程。一個經典的開發流程包括有瀑布模型、快速應用開發(RAD)和最終編程。在這篇文章中,我們將集中介紹一個流行的軟件設計流程--Rational Unified Process(RUP)。RUP提供了一個專門的方法來爲不同的角色分配任務。它的目標是在一個可預計進度和預算內,確保我們生產出高質量的軟件以符合用戶的需要。

我使用RUP作J2EE開發有三個方面的原因。首先,RUP是以體系爲中心的;在提交資源作全方位的開發之前,它首先開發出一個可執行的體系原型。第二,RUP是迭代的而且是基於組件的。該體系的基本通常是包含有一個架構,它可以方便地通過迭代地增加組件,從而在不影響系統其它部分的基礎上,自定義和擴展一個系統的功能。第三。RUP使用一個工業標準的語言--UML,可以將系統的體系和組件以可視化的模型展示。RUP有4個不同的開發階段:初始(inception), 細化(elaboration), 構建(construction)和轉換(transition)。這篇文章將從一個技術的觀點來介紹J2EE開發的8個基本步驟,它是維持以體系爲中心的。

1、需求分析

需求分析用來描述系統應該和不應該做什麼,從而開發者和用戶可以創建一個初始化的商業聯繫。你可以用商業的概念、該領域的術語、框圖或者其它方法將功能性的需求寫成文檔,而非功能性的需求,例如性能和事務,可以寫在附加的需求文檔中。你可以用文本或者HTML來創建高級別的UI模型,採取哪種方式,要看你在該項目中介入的深度。

圖一展示了一個典型的電子商務系統。viewOrder圖說明的是一個用戶通過web登錄至系統,查看訂單的列表,並且可點擊進去查看每張訂單的細節。addLineItems說明的是用戶瀏覽產品目錄,選擇感興趣的產品,並且將它們加入到購買訂單中。

II、面向對象的分析

分析產生問題域模型:類、對象和交互。你的分析應該脫離任何的技術或者實現的細節,而應該包含有一個理想的模型。對象分析可幫助你理解問題和獲得問題領域方面的知識。你必須維護一個純領域的模型,它不包含技術的細節,這是由於商業流程的改變要比信息技術慢得多。

上面的兩步--需求分析和麪向對象的分析並不是J2EE特有的,對於許多面向對象的方法論來說,都是很常見的。圖2展示了一個高級別的對象分析模型,它是一個寵物店的例子應用。它說明了我們由需求分析use cases中確定的主要概念。我們將這些概念模型化到對象中,並且確定它們的關係。

需求和對象分析的結果是J2EE體系開發的一個入門點。要開發一個體系,你可選擇一個垂直的部分--通常是一個關鍵的部分,例如是訂單領域的對象模型--來作對象設計、實現、測試和開發。(一個垂直的部分,是一個RUP概念,是系統的一小部分。開始點是use case的一個子集,如圖1所示,還有領域分析模型,如圖三所示。一個垂直部分的'實現就會產生一個全功能的迷你係統,包括所有層,例如用戶界面層的JavaServer Pages(JSPs),中層的商業對象,例如是Enterprise JavaBeans (EJBs)和後臺的數據庫)。你可以將由原型中得到的經驗應用到域對象中,並且將這些認識作爲對象設計階段的一個設計指導方針。

III、體系規範

經過前面的兩個步驟,商業領域的問題和需求都應該清晰了。現在我們將集中討論技術策略和體系上。一個體系就是各部分一起定義整個系統的藍圖:結構,接口和通信技術。我們可進一步將一個體系劃分爲企業和應用體系。

企業系統體系

企業系統體系覆蓋了硬件和軟件架構,網絡拓撲,開發、測試和生產環境等。這些都反映了一個企業的長線投資。在開發前,你需要評估現有的軟件和硬件架構,如果它不能完全支持J2EE的話,你可能會加入新的組件和升級你現有的系統。你需要徹底地評估硬件,包括有計算機,路由器、交換機和網絡拓撲,因爲它們都會影響系統的性能和穩定,圖4展示了一個多層的網絡拓撲。

圖4中的多層企業體系擁有以下主要的組件:

瀏覽器客戶端,它可能處在客戶端公司的防火牆後面

服務器,它通常處在DMZ區

容器主機提供表現或者商業邏輯組件

.應用容器提供商業邏輯組件

.關係數據庫管理系統(RDBMS)和數據庫提供數據和數據邏輯

所使用的系統體系類型是根據你對安全、性能、可靠性的需求以及你公司的財政狀況而定的。要求很低時,你甚至可以使用一臺二手的計算機和一條電話線。在Internet上,有許多開放源代碼的操作系統、Web服務器、應用服務器和數據庫管理系統。這些系統的花費可能只有幾百美金,當然,維護起來可能要麻煩一點。

高端的客戶,例如許多華爾街的財政機構,它們需要的是一個支持安全、高吞吐量和可應付不可預計網絡通信的系統。在這種情況下,你通常就需要一個n層的體系,該體系帶有Web服務器和應用服務器,並且設置爲羣集而達到容錯的目的。

你還需要評估軟件架構,包括Web服務器,安全管理軟件,應用服務器,域名管理服務器,數據庫管理系統和第三方的軟件組件,如果你還沒有購買你的應用服務器,那麼在評估過程中,選擇一個J2EE的生產商將是一個重要的部分。我要提醒你一點,不同廠家對J2EE的實現是有很大不同的,有一些僅支持舊的J2EE版本。此外,一些Web容器或者應用容器可能要比其它的快不少。除了實現J2EE規範外,許多的廠家還售賣J2EE體系的組件或者架構。選擇一個穩定的J2EE廠家也是重要的,因爲這樣可以得到長久的支持。你通常可以購買或者在系統體系級別開發的功能包括有: