【正文】
行軟件項目控制 Rational Unified Process 是一種軟件工程流程,它貫穿于整個項目生命周期,在管理和工程活動方面為開發(fā)團隊提供指導(dǎo)。 在 RUP 管理 的 欠缺方面我們采用 CMMI 來彌補。在分析設(shè)計中, 采用 UML 面向?qū)ο蠼UZ言進行系統(tǒng)建模, 以用例驅(qū)動、以體系結(jié)構(gòu)為中心、以迭代和增量方式進行系統(tǒng)開發(fā)。 部級人口信息管理系統(tǒng) \全國人口基本 信息資源庫建設(shè) 總體設(shè)計 方案 沈陽東軟軟件股份有限公司 19 采用多 層的架構(gòu) 多 層從邏輯上將子系統(tǒng)劃分成許多集合,而層間關(guān)系的形成要遵循一定的規(guī)則。 采用基于組件的技術(shù) 基于組件的開發(fā)是普通應(yīng)用程序開發(fā)的變體,它具有如下特點: 應(yīng)用程序由各自獨立的組件組成,這些組件的開發(fā)和部署保持相對的獨立性,而且很可能是由不同的團隊開發(fā)和部署的。 組件可以在不同應(yīng)用程序之間共享,因此可對它們復(fù)用,但同時也產(chǎn)生了項目之間的依 賴關(guān)系。 技術(shù) 原理 通過對部級人口信息管理系統(tǒng)及人口基本信息資源庫的需求的分析,我們認為本系統(tǒng)是一個 典型的超大規(guī)模 數(shù)據(jù)中心管理系統(tǒng)的模式, 通常 數(shù)據(jù)中心管理系統(tǒng)包含兩個層次的功能:數(shù)據(jù)集中和整合,業(yè)務(wù)流程的整合。其技術(shù)原理圖如下: 部級人口信息管理系統(tǒng) \全國人口基本 信息資源庫建設(shè) 總體設(shè)計 方案 沈陽東軟軟件股份有限公司 20 圖中上部分粉色區(qū)域代表各維護節(jié)點或向數(shù)據(jù)中心進行服務(wù)請求的部門,在這里可以根據(jù)需要部署協(xié)同工作流適配器,以實現(xiàn)與中心端的業(yè)務(wù)協(xié)同 。并通過應(yīng)用支撐平臺實現(xiàn)了各維護節(jié)點對中心的數(shù)據(jù)的維護,以及數(shù)據(jù)中心對各部門請求服務(wù)的相應(yīng)。 數(shù)據(jù)中心有三類數(shù)據(jù)庫 —— 可以不同的數(shù)據(jù)庫實例,也可以是同一數(shù)據(jù)庫實例的不同庫(或用 戶): 數(shù)據(jù)交換中心運行支撐庫 存儲的是數(shù)據(jù)交換平臺本身要用到的配置信息,包括用戶名稱、消息隊列及主題名稱、消息模板等等。但在某些情況下,有一些參與交換的數(shù)據(jù)是需要在中心端作永久性保存的,通過消息持久化庫可以完成此需求,即交換平臺在接收消息的同時馬上自己也訂閱一份消息,并永久性保存到消息持久化庫中。 交換服務(wù)注冊中心,它存儲著數(shù)據(jù)數(shù)據(jù)中心對外發(fā)布的服務(wù)的信息。 數(shù)據(jù)中心 制好對外提供的服務(wù)后將相關(guān)信息發(fā)布到數(shù)據(jù)中心的數(shù)據(jù)交換注冊中心,描述自己所提供的服務(wù)名稱、內(nèi)容、請求輸入信息及應(yīng)答輸出信息,包括具體的數(shù)據(jù)格式。當然,如果請求者已知對方的位置、服務(wù)內(nèi)容以及請求格式也可以跳過到注冊中心查找的步驟而直接訪問服務(wù)提供者。同數(shù)據(jù)交換平臺一樣,協(xié)同工作流平臺也有一個管理控制臺。 數(shù)據(jù)管理 數(shù)據(jù)管理的主要功能是接收各數(shù)據(jù)維護節(jié)點通過公安 應(yīng)用支撐平臺的 數(shù)據(jù)交換 系統(tǒng) 傳來的數(shù)據(jù),并對數(shù)據(jù)進行 檢驗和加載, 以及對問題數(shù)據(jù)的處理。當 服務(wù)定制完成后被發(fā)布在運行平臺上, 之后后將相關(guān)信息發(fā)布到數(shù)據(jù)中心的數(shù)據(jù)交換注冊中心 。當然,如果請求者已知對方的位置、服務(wù)內(nèi)容以及請求格式也可以跳過到注冊中心查找 的步驟而直接訪問服務(wù)提供者。 業(yè)務(wù)的協(xié)同 業(yè)務(wù)的協(xié)同是基于協(xié)同工作流平臺實現(xiàn)的 ,協(xié)同業(yè)務(wù)的業(yè)務(wù)流程在工作流平臺中進行定制, 當協(xié)同業(yè)務(wù)被啟動時 協(xié)同 工作流引擎將指導(dǎo)業(yè)務(wù)流程的流轉(zhuǎn),遠端相關(guān)業(yè)務(wù)部門的工作流適配器接到數(shù)據(jù)中心傳來的流轉(zhuǎn)信息,將根據(jù)業(yè)務(wù)需要調(diào)用本地的服務(wù),以實現(xiàn)業(yè)務(wù)的協(xié)同。 DataTranser 是指不帶格式轉(zhuǎn)換的簡單的數(shù)據(jù)傳輸; DataExchange 是指帶有格式轉(zhuǎn)換的數(shù)據(jù)傳輸和交換; 部級人口信息管理系統(tǒng) \全國人口基本 信息資源庫建設(shè) 總體設(shè)計 方案 沈陽東軟軟件股份有限公司 25 Enterprise Application Integration 是指交互式的應(yīng)用集成; Process Integration 是指協(xié)同工作的過程集成。 ? “ 信息交換平臺 ”定制生成“數(shù)據(jù)管理服務(wù)包”、“信息服務(wù)服務(wù)包”。 ? “ 決策支持分析平臺 ”定制生成“統(tǒng)計分析服務(wù)包”和“業(yè)務(wù)工作考核服務(wù)包”。 部級人口信息管理系統(tǒng) \全國人口基本 信息資源庫建設(shè) 總體設(shè)計 方案 沈陽東軟軟件股份有限公司 26 Uni_EAP 業(yè)務(wù)應(yīng)用平臺設(shè)計 Uni_EAP 業(yè)務(wù)應(yīng)用平臺介紹 大型的應(yīng)用系統(tǒng)的組織開發(fā)應(yīng)該遵從一定的方法論指導(dǎo), Uni_EAP 業(yè)務(wù)應(yīng)用平臺的分析、設(shè)計、開發(fā)和測試過程引用 RUP 過程中所建議的“以構(gòu)架為中心,用況驅(qū)動”的原則進行實施。 服務(wù)端系統(tǒng)設(shè)計是 Uni_EAP業(yè)務(wù)應(yīng)用平臺業(yè)務(wù)層設(shè)計的主要工作任務(wù),在Uni_EAP業(yè) 務(wù)應(yīng)用平臺的整個開發(fā)流程中占有重要地位。 一、 系統(tǒng)框架結(jié)構(gòu)和處理流程 利用 Uni_EAP業(yè)務(wù)應(yīng)用平臺開發(fā)的流 程(圖 )是系統(tǒng)框架組提出的建議的一種開發(fā)模型,這個流程把利用 Uni_EAP業(yè)務(wù)應(yīng)用平臺系統(tǒng)進行系統(tǒng)開發(fā)分為四個階段:需求分析階段、設(shè)計階段(包括 I和 II兩個階段)、編碼階段和測試階段。 部級人口信息管理系統(tǒng) \全國人口基本 信息資源庫建設(shè) 總體設(shè)計 方案 沈陽東軟軟件股份有限公司 27 圖 利用 Uni_EAP 業(yè)務(wù)應(yīng)用平臺開發(fā)的流程示意圖 從系統(tǒng)的結(jié)構(gòu)(圖 )的角度看,服務(wù)端的業(yè)務(wù)層組件處在系統(tǒng)框架(圖 綠色部分)和數(shù)據(jù)庫(圖 綠色部分)之間。 + i n i t ( )+ d o P r o c e s s ( )+ g e t R e q u e s t P r o c e s s o r ( )M a i n . s e r v l e tM a p p i n g s . x m lS I E A F C o n f i g . x m l+ d o R e q u e s t ( )+ d o R e s p o n s e ( )+ d o E r r o r ( )+ d o A C L ( )X M L T r a n s f o r m e r I m p l轉(zhuǎn) 換 層前 端 控 制 器( 總 控 流 程 )W e b C l i e n t C o n t r o l l e r I m p l通 過 配 置 文 件 實 現(xiàn) 了 將 E v e n t 分發(fā) 給 相 應(yīng) 的 E J B A c t i o n 去 處 理 ,并 調(diào) 用 E j b A c t i o n 的 p e r f o r m 方法 處 理 E v e n t+ g e t ( )+ s e t ( )B u s i n e s s F a c a d e重 載 p e r f o r m 方 法 , 利 用B u s i n e s s C l i e n t F a c a d e . X X X ( E v e nt ) 方 法 得 到 要 輸 出 的 結(jié) 果B E OB P O ( 會 話 外 觀 )B P OD A O數(shù) 據(jù) 庫S O A P 回 應(yīng)+ g e t ( )+ s e t ( )B u s i n e s s F a c a d e+ i n i t ( )+ d e s t o r y ( )+ h a n d l e E v e n t ( ) 接 口 W e b C l i e n t C o n t r o l l e rS O A P 請 求+ p r o c e s s R e q u e s t ( )R e q u e s t P r o c e s s o r+ d o S t a r t ( )+ p e r f o r m ( )+ d o E n d ( )X X E J B A c t i o n商 業(yè) 邏 輯 層S O A P 回 應(yīng) 接 口 T r a n s f o r m e r交 易 服 務(wù)安 全 服 務(wù)日 志 服 務(wù)S I E A F ( 服 務(wù) 器 端 )C l i e n t客 戶端 函數(shù) 庫客 戶 端請 求回 應(yīng)客戶端調(diào)用接口S I E A F ( 客 戶 端 )H e a d F i l t e r S a f e t y F i l t e rS e r v i c e L o c a t o rS O A P 請 求s i n g l e t o nE v e n tE v e n t R e s p o n s e/ E v e n t E r r o rE v e n tE v e n t R e s p o n s e /E v e n t E r r o rE j b A c t i o n S u p p o r t 接 口 E j b A c t i o nB P OB E O D A OS O A P 回 應(yīng)S O A P 請 求異 常 處 理 服 務(wù)異 常 處 理 服 務(wù)交 易 服 務(wù) 日 志 服 務(wù)S e r i a l i z a t i o n C o n t e x t D e s e r i a l i z a t i o n C o n t e x tS O A P 解 析 器 圖 框架服務(wù)示意圖 部級人口信息管理系統(tǒng) \全國人口基本 信息資源庫建設(shè) 總體設(shè)計 方案 沈陽東軟軟件股份有限公司 28 二、 設(shè)計環(huán)境和輔助工具 Uni_EAP 業(yè)務(wù)應(yīng)用平臺系統(tǒng)的分析和設(shè)計以 UML 作為交流的統(tǒng)一表達方式, UML 是一種以可視化方法構(gòu)造軟件產(chǎn)品的交流語言,適合表達以面向?qū)ο蠓绞竭M行的系統(tǒng)分析和設(shè)計。此處列出 Uni_EAP 業(yè)務(wù)應(yīng)用平臺系統(tǒng)設(shè)計時使用的主要工具及其主要的使用領(lǐng)域, 對于更熟悉其它同類工具的讀者,建議根據(jù)自己的特長選擇其它輔助工具進行替代。為設(shè)計人員提供系統(tǒng)框架介紹、分層結(jié)構(gòu)、層次職責和調(diào)用關(guān)系。 部級人口信息管理系統(tǒng) \全國人口基本 信息資源庫建設(shè) 總體設(shè)計 方案 沈陽東軟軟件股份有限公司 29 一、 總體分層設(shè)計 總體設(shè)計用于規(guī)范系統(tǒng)調(diào)用的流程和步驟,并對業(yè)務(wù)層之間的相互關(guān)聯(lián)關(guān)系加以約束,使不同業(yè)務(wù)設(shè)計中類的職責和協(xié)作關(guān)系統(tǒng)一,圖 描述了整個Uni_EAP 業(yè)務(wù)應(yīng)用平臺系統(tǒng)層次調(diào)用關(guān)系。 ( 1)有業(yè)務(wù)操作交互流程 : 表現(xiàn)為一組界面的導(dǎo)航邏輯,體現(xiàn)了業(yè)務(wù)的經(jīng)辦順序。 ( 2)無 業(yè)務(wù)操作交互流程: 在沒有客戶參與的情況下默認的業(yè)務(wù)經(jīng)辦流程。 交互與 EjbAction 的關(guān)系:一次交互對應(yīng)一個 EjbAction 來處理這個交互 EjbAction 與 EjbFacade(業(yè)務(wù)原子組件)的關(guān)系:多個 EjbAction 對應(yīng)一個EjbFacade(業(yè)務(wù)原子組件 ) 業(yè)務(wù)層設(shè)計原則 在了解了層次之間的調(diào)用關(guān)系后,我們還應(yīng)該進一步對業(yè)務(wù)系統(tǒng)的分層原則加以解釋。 業(yè)務(wù)層分層設(shè)計原則: 1. 業(yè)務(wù)層次的劃分:共分為四層,包括 BusinessFa231。所有業(yè)務(wù)實體(或者能夠抽象成業(yè)務(wù)實體),抽象成 BEO, BEO 不 涉及商業(yè)方法和類之間的調(diào)用( BEO可以有針對本身數(shù)據(jù)操作的方法)。 DAO 為數(shù)據(jù)隔離層,所有和數(shù)據(jù)庫交互的方法必須通過 DAO。ade Session Bean 提供, Fa231。 命名規(guī)則 : (stereotype:Facade) (stereotype:BPO) 3. BPO 對象在處理具體業(yè)務(wù)時將算法分離至 Helper 類中,實現(xiàn)處理和算法的分離。 命名規(guī)則: (stereotype:Helper) 4. 在 BPO中實現(xiàn)較復(fù)雜的業(yè)務(wù)應(yīng)該盡量使用 BEO對象作為業(yè)務(wù)實體對象,對于相對簡單的業(yè)務(wù)處理 BPO 可以直接和 DAO 交換數(shù)據(jù)。 命名規(guī)則 : (stereotype:Abstract or Interface) (stereotype:Helper) 6. 關(guān)于包名:包的劃分分為兩層涉及框架的包命名 為 ,涉及應(yīng)用的包命名為 。 (算法的分析盡量以 Facade業(yè)務(wù)包為單位進行封裝,避免出現(xiàn)跨 Fa231。由于不同對象的職責不同, BEO 中的方法最好不要包含和業(yè)務(wù)相關(guān)的數(shù)據(jù)處理。 二、 各層次的職責和接口 在確定系統(tǒng)的分層原則以及各層之間的調(diào)用關(guān)系后, Uni_EAP 業(yè)務(wù)應(yīng)用平臺系統(tǒng)建議為每層 邏輯組件添加如下職責。 Facade 層 職責 :為一類原子業(yè)務(wù)的處理類( BPO)提供 EJB 組件級的方法調(diào)用接口 實現(xiàn)方式 : EJB(stateless session bean) 注意事項 :盡量不要在 EjbFacade 中出現(xiàn)業(yè)務(wù)處理邏輯或數(shù)據(jù)處理邏輯 業(yè)務(wù)組件層 業(yè)務(wù)組件層對 BPO 對象和 BEO 對象為主,輔以 DTO 對象作為二者同系統(tǒng)框架的交互的數(shù)據(jù)載體。 BPO 對象的職責 為: ? 實現(xiàn)業(yè)務(wù)邏輯 ? 完成 Evenlop 到 DTO 的轉(zhuǎn)換 ? 完成 DTO 到 ResponseEnvelop 的轉(zhuǎn)換 ? 完成業(yè)務(wù)邏輯 ? BPO 對象可以和 DAO 對象直接交互 BEO 對象的職責為: ? 裝載某項專用的業(yè)務(wù)數(shù)據(jù) ? 和 DAO 交互,為業(yè)務(wù)數(shù)據(jù)提供數(shù)據(jù)庫操作處理 部級人口信息管理系統(tǒng) \全國人口基本 信息資源庫建設(shè) 總體設(shè)計 方案 沈陽東軟軟件股份