vii、組合和配置
元件裝配和方案配置在j2ee的開發中是特別重要的。開發和安裝的環境可能是完全不同的。如果ejb處在系統中,你需要使用廠家的專門工具來提出產生容器的類,上面我也提到過,web或者應用元件的配置對於不同的廠家都是不一樣的。你還必須考慮要配置的系統是否擁有任何廠家指定的**實現。在乙個可擴充套件的體系中,系統的結構應該是穩定的,但是應該可以支援增加配置新的或者舊的元件,而無需影響整個系統。
viii、運作和維護
在最後的階段,應用交付到使用者的手中,你必須為他們提供培訓、文件和教育。使用者將會發現問題和可能會提出新的改進。你必須通過正確地修改管理過程來處理這些需求。你無需為了配置乙個新的元件或者替換乙個舊的元件而關閉乙個正在工作的系統。
體系開發流程
我們必須做許多體系的決定,因此我們必須整理出乙個體系開發的流程。對於乙個企業來說,通常有許多應用專案,其中的一些甚至會跨越幾年,從而導致系統圍繞許多週期而變化。在你的領域中,許多同樣的專案中都會出現同樣的需求。你應該很容易地重新使用乙個擴充套件的和可重用的體系,它們可能在上個專案週期或者其它的專案中。這樣會有乙個對普遍架構的需求,可重用的軟體架構可為家族式的軟體應用提供乙個普遍的架構。
如果這是你的首個j2ee專案,你的體系必須被原型化,進行測試、分析,然後再重複。 blueprint提供了許多好的設計指導方針和最佳的練習,寵物店的例子也是乙個很好的參考體系。要很快地提出乙個好的並且是高質量的解決方案的有效方法是使用和擴充套件blueprint參考體系,然後插入到你自己的商業元件中。
使用參考體系
就我的理解來說,寵物店體系的本質是model- view-controller和command模型。你可以將這些模型應用到以web-centric和ejb-centric的系統。對於每個域物件,乙個檢視是用巢狀的jsp表現。乙個controller處理與商業相關的事件,而域物件封裝商業邏輯、事務和安全。我們使用前台的servlet作為**的controller,以接收和解釋所有使用者的操作。它分派商業事件到指定的域物件controllers,這些controllers可呼叫域物件來改變持續的狀態。根據這個事件處理的結果,乙個controller選擇下乙個顯示的檢視。以下的元件對於體系都是很重要的,我們可以修改並且應用在大部分的j2ee應用:
mainservlet: 前台的元件是web容器和該架構之間的介面
modelupdatelistener: 是獲取模型更新事件的物件的介面
modelupdatenotifier:在更新模型事件發生的時候通知監聽者
requestprocessor: 處理由mainservlet接收的全部請求 requesthandler:plug-n-play請求處理器元件的介面
requesttoeventtranslator:根據請求處理器的對映規則,**請求處理器委派請求處理到plug-n-play請求處理元件。到商業事件的透明http請求
estoreevent: 商業事件
shoppingclientcontrollerwebimpl: proxy-to-ejb層前台控制器
screenflowmanager: 控制螢幕流,選擇檢視
modelupdatemanager: ejb層模型更新管理器,通報由於乙個事件而導致的模型修改 shoppingclientcontrollerejb: ejb層前台,為ejb客戶提供遠端服務
statemachine:**事件處理器,根據狀態處理器的對映規則,委派事件處理至plug-n-play處理器元件 statehandler: ejb層狀態處理器介面
擴充套件參考體系
blueprint的例子應用是乙個好的起點,你還應該修改它以配合不同的專案和領域。設計模型是可重用的微體系,你可以使用它來擴充套件參考體系。blueprint提供了乙個非常有用的j2ee模型目錄,而23個「gang of four」模型都是極好的資源。例如,如果你想擴充套件參考體系以支援工作流管理,你可以在配置或者執行時使用**controller來動態註冊事件處理器。**controller要求每個註冊的事件處理器處理乙個事件,直到乙個處理器返回乙個指示已經到達命令串末尾的資訊。
插入你的商業元件
j2ee技術對於每個人都是一樣的,但是對於不同的領域,我們需要解決的問題都是不同的。一旦你建立了乙個基本的j2ee框架,你就必須利用一些use cases來展示該體系可為你的領域工作。你可以通過選擇一些情形,最好是該系統的乙個重要的功能,或者使用得最多的而且可帶來明顯的技術上的冒險的情形。由域分析模型開始,然後嘗試對映你的域物件到高階和低端的設計模型,就象我們在圖5和6中的所示。實現低階別的設計模型,並且測試看它是否真正地運作。如果所有都如設想般運作,你就可以再重複上一步,即找冒險的情形、更多的設想來測試以擴充套件體系的覆蓋。在經過反覆的驗證後,初始化的體系原型應該就會變得穩定。你可以認識到哪些元件是可以購買的,舊系統的哪些方面是應該保留的,以及如何為它們做接
口。下一步就是軟體設計,你可以使用設計指南中指定的類似方法和流程來進行繼續的開發。 按部就班
我們使用了乙個流程的形式,將乙個複雜的問題分解為幾個小的部分,以便我們能更容易地理解和解決它們。在這篇文章中,我們將j2ee的開發分解為8個步驟,集中介紹了體系和設計。我這裡介紹了重要的體系主題和作出體系決定的乙個流程。我還討論了j2ee體系的角色和可交付。
學習通過這些步驟來開發j2ee的方案就象學習舞蹈一樣。你首先需要自覺和堅持不懈地練習基本的舞步。一旦你熟悉了它們,你就會想到將它們放在一起,並且更集中在曲子裡每步的大小、速度、流和節奏。不過你不應該被乙個流程來限制你的創造力。相反,你應該使用和擴充套件該流程來滿足你的特定需要。要記住,你的最終目標是設計出乙個完整的j2ee方案來滿足你的客戶需求。
開發完整J2EE解決方案的八個步驟3
iii 體系規範 經過前面的兩個步驟,商業領域的問題和需求都應該清晰了。現在我們將集中討論技術策略和體系上。乙個體系就是各部分一起定義整個系統的藍圖 結構,介面和通訊技術。我們可進一步將乙個體系劃分為企業和應用體系。企業系統體系 企業系統體系覆蓋了硬體和軟體架構,網路拓撲,開發 測試和生產環境等。這...
開發完整J2EE解決方案的八個步驟5
iv 物件設計 在體系規範的指導下,設計可在技術上擴充套件和適應分析的結果。分析階段時,域物件模型化應該和技術的細節無關,而物件設計時則是和技術因素密切相關的,包括在體系開發階段時,採用哪一類的平台 語言和廠家。理論上,你不要修改商業物件,除非是為了維護它們基本的屬性和行為而必須這樣做。在體系決議的...
基於J2EE網銀系統的安全系統解決方案概述
簡介 本文介紹網路銀行所普遍採用的安全技術和方案,將從資料和業務邏輯的兩個角度詳細地分析一般網路銀行系統的安全需求,並據此引入以 ppdrr 為安全模型的安全設計方案。通過閱讀本文,讀者不但可以了解網上銀行普遍採用的安全系統架構以及相關技術,而且對開發實際安全應用系統具有一定的指導意義。摘要 隨著中...