研發(fā)類課題管理系統(tǒng)(RDPM)架構(gòu)設(shè)計說明書_第1頁
研發(fā)類課題管理系統(tǒng)(RDPM)架構(gòu)設(shè)計說明書_第2頁
研發(fā)類課題管理系統(tǒng)(RDPM)架構(gòu)設(shè)計說明書_第3頁
研發(fā)類課題管理系統(tǒng)(RDPM)架構(gòu)設(shè)計說明書_第4頁
研發(fā)類課題管理系統(tǒng)(RDPM)架構(gòu)設(shè)計說明書_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、 <文檔名稱> <版本信息> 研發(fā)類課題管理系統(tǒng)架構(gòu)設(shè)計說明書文件版本:文件編號:發(fā)布日期:編 制:審 核: 批 準(zhǔn):國家開發(fā)銀行版權(quán)所有內(nèi)部資料 注意保密修訂記錄:版本號修訂人修訂日期修訂描述目 錄1 簡介31.1 目的31.2 文檔范圍31.3 預(yù)期的讀者和閱讀建議31.4 參考文檔31.4.1 包含文檔31.4.2 相關(guān)文檔31.5 縮略語和術(shù)語32 總體架構(gòu)32.1 系統(tǒng)范圍32.2 設(shè)計方法32.3 設(shè)計可選方案32.4 整體架構(gòu)33 總體約束33.1 遵循標(biāo)準(zhǔn)33.2 文件約定33.3 目錄約定33.4 對后續(xù)設(shè)計的約束33.5 其它34 系統(tǒng)邏輯結(jié)構(gòu)34.

2、1 總體結(jié)構(gòu)34.2 子系統(tǒng)定義34.2.1 子系統(tǒng)一34.2.2 子系統(tǒng)二34.3 接口設(shè)計34.3.1 產(chǎn)品外部接口34.3.2 子系統(tǒng)間接口34.4 主要數(shù)據(jù)模型35 系統(tǒng)物理結(jié)構(gòu)35.1 總體結(jié)構(gòu)35.2 組件定義35.2.1 組件一35.3 組件接口設(shè)計35.4 組件與子系統(tǒng)對應(yīng)關(guān)系36 系統(tǒng)部署36.1 網(wǎng)絡(luò)結(jié)構(gòu)圖36.2 部署模式37 關(guān)鍵技術(shù)及公用機制37.1 關(guān)鍵技術(shù)設(shè)計37.2 公用機制說明38 系統(tǒng)重用設(shè)計38.1 以往設(shè)計的重用38.2 可重用性考慮39 系統(tǒng)功能實現(xiàn)310 開發(fā)平臺與技術(shù)架構(gòu)說明310.1 開發(fā)平臺310.2 技術(shù)架構(gòu)310.2.1 硬件設(shè)備說明310

3、.2.2 軟件說明311 系統(tǒng)非功能特性設(shè)計311.1 可擴展性311.2 可靠性311.3 性能311.4 可維護性311.5 安全311.6 審計311.7 容錯性311.8 可移植性311.9 可部署性311.10 312 風(fēng)險313 附錄31 簡介1.1 目的本設(shè)計文檔的目的是根據(jù)研發(fā)類課題管理系統(tǒng)用戶需求規(guī)格說明書對需求的描述,對研發(fā)類課題管理系統(tǒng)的業(yè)務(wù)實現(xiàn)進行了架構(gòu)設(shè)計。本文檔將指導(dǎo)后續(xù)的設(shè)計和開發(fā)工作,并對功能測試和性能測試工作起到輔助、參考作用。1.2 文檔范圍本文檔主要描述研發(fā)類課題管理系統(tǒng)的架構(gòu)設(shè)計,覆蓋研發(fā)類課題管理系統(tǒng)的需求。研發(fā)類課題管理系統(tǒng)基于USE平臺的UAAP框

4、架進行構(gòu)建,UAAP中已經(jīng)實現(xiàn)的權(quán)限管理、菜單管理、人員及組織機構(gòu)管理、統(tǒng)一授權(quán)接口等已經(jīng)完成的功能不在本文檔范圍之內(nèi),以后系統(tǒng)實現(xiàn)的各種業(yè)務(wù)流程將會受到研發(fā)類課題管理系統(tǒng)設(shè)計的影響。本文檔遵循自頂向下、逐層分解的原則,對研發(fā)類課題管理系統(tǒng)進行架構(gòu)設(shè)計:首先,根據(jù)對開行的系統(tǒng)范圍的理解,提出總體設(shè)計方法,結(jié)合行內(nèi)的平臺及架構(gòu)要求,給出了系統(tǒng)架構(gòu),從與外圍系統(tǒng)關(guān)系、主要子系統(tǒng)、技術(shù)實現(xiàn)框架角度分別闡述研發(fā)類課題管理系統(tǒng)的構(gòu)成。其次,在系統(tǒng)邏輯結(jié)構(gòu)章節(jié),結(jié)合以上各個角度的剖析,從平臺實現(xiàn)、業(yè)務(wù)處理模式方面存在的差異,將研發(fā)類課題管理系統(tǒng)進行邏輯架構(gòu)分解,劃分為不同的子系統(tǒng)并分別闡述功能及設(shè)計思路。

5、再次,在系統(tǒng)物理結(jié)構(gòu)章節(jié),對系統(tǒng)功能進行構(gòu)件化的劃分。此外,該文檔對系統(tǒng)的部署、關(guān)鍵技術(shù)、系統(tǒng)重用設(shè)計、系統(tǒng)功能實現(xiàn)、開發(fā)平臺與技術(shù)架構(gòu)、系統(tǒng)非功能性設(shè)計及風(fēng)險進行了說明。1.3 預(yù)期的讀者和閱讀建議本文檔的讀者必須對USE平臺的體系結(jié)構(gòu)或者設(shè)計方法有所了解本文檔的閱讀者為研發(fā)類課題管理系統(tǒng)開發(fā)過程的各角色:產(chǎn)品角色、系統(tǒng)分析架構(gòu)角色、項目管理角色、代碼角色、測試角色、文檔角色,信息科技事務(wù)跟蹤系統(tǒng)系統(tǒng)系統(tǒng)的部署角色、培訓(xùn)角色、維護角色;本文檔組織方式:第一章 簡介,描述文檔的目的;第二章 描述總體設(shè)計思路,包括設(shè)計方法及備選設(shè)計方案和方案的選擇;第三章 描述系統(tǒng)的邏輯結(jié)構(gòu)。從最高層次上描述系

6、統(tǒng)的邏輯組成;第四章 描述系統(tǒng)的物理結(jié)構(gòu)。從最高層次上描述系統(tǒng)的物理組成;第五章 描述系統(tǒng)的部署情況;第六章 對系統(tǒng)架構(gòu)中的關(guān)鍵技術(shù)及公用設(shè)計機制進行描述;第七章 如何重用以往設(shè)計產(chǎn)物及現(xiàn)有設(shè)計如何對將來重用產(chǎn)生影響進行描述;第八章 對系統(tǒng)中重要的用例或者有技術(shù)難度的部分進行功能實現(xiàn)的描述,以方便設(shè)計人員在進行設(shè)計、開發(fā)時進行參考;第九章 對系統(tǒng)依賴的第三方軟硬件進行描述;第十章 對系統(tǒng)的非功能特性設(shè)計進行描述;產(chǎn)品經(jīng)理應(yīng)當(dāng)關(guān)注該部分的描述是否與產(chǎn)品需求中產(chǎn)品的非功能性需求一致;開發(fā)人員應(yīng)當(dāng)在后續(xù)設(shè)計過程中對這部分設(shè)計進行關(guān)注,避免遺漏;測試人員應(yīng)當(dāng)根據(jù)這部分的描述制定測試案例,驗證是否可以達

7、到產(chǎn)品需求的要求。第十一章 描述架構(gòu)設(shè)計中識別的風(fēng)險,產(chǎn)品經(jīng)理、設(shè)計人員、開發(fā)人員和測試人員 都應(yīng)當(dāng)隨時關(guān)注這些風(fēng)險,避免風(fēng)險發(fā)生并及時采取規(guī)避、減輕措施。第十二章 附錄1.4 參考文檔1.4.1 包含文檔無1.4.2 相關(guān)文檔作者文檔名稱文檔版本出版日期出版單位或歸屬單位研發(fā)類課題管理系統(tǒng)項目組研發(fā)類課題管理系統(tǒng)用戶需求說明書V1.0二一二年四月國家開發(fā)銀行信息科技局1.5 縮略語和術(shù)語縮略語/術(shù)語全 稱說 明CDB國家開發(fā)銀行USE國家開發(fā)銀行統(tǒng)一軟件環(huán)境基于EOS Studio實現(xiàn)UAAPFRAMEUnified Authorization and Auth authentication

8、 Platform FrameUSE平臺對統(tǒng)一授權(quán)平臺框架BPM國家開發(fā)銀行工作流平臺基于FileNet Process EngineECM國家開發(fā)銀行內(nèi)容管理平臺基于FileNet Content EngineEII國家開發(fā)銀行信息交換平臺ESB國家開發(fā)銀行企業(yè)服務(wù)總線基于TIBCO實現(xiàn)SOA面向服務(wù)架構(gòu)EP國家開發(fā)銀行企業(yè)門戶系統(tǒng)基于TAM實現(xiàn)RDPM國家開發(fā)銀行研發(fā)類課題管理系統(tǒng)接口接口研發(fā)類課題管理系統(tǒng)對外系統(tǒng)的訪問,統(tǒng)稱接口服務(wù)服務(wù)研發(fā)類課題管理系統(tǒng)內(nèi)部調(diào)用,統(tǒng)稱服務(wù)2 總體架構(gòu)2.1 系統(tǒng)范圍研發(fā)類課題管理系統(tǒng)面向全行研發(fā)類課題申報、管理和查看等部門,系統(tǒng)覆蓋研發(fā)類課題管理全流程,

9、包括:立項受理、付款受理、信息發(fā)布、成果共享等模塊。研發(fā)類課題管理系統(tǒng)在開行2011版整體IT規(guī)劃中,屬于支持平臺域,其所處的位置如下所示(紅色方框部分)。主要用戶包括:1研發(fā)類課題主管部門目前是國家開發(fā)銀行研究院,作為研發(fā)類課題管理系統(tǒng)的管理歸口部門,通過系統(tǒng)對全行研發(fā)類課題全流程電子化管理。2研發(fā)類課題主辦部門總行各業(yè)務(wù)廳局均可申請課題,通過研發(fā)類課題管理系統(tǒng)進行課題申請、付款申請等操作。3普通員工全行所有員工,通過研發(fā)類課題管理系統(tǒng)查看權(quán)限內(nèi)的共享課題成果。2.2 設(shè)計方案研發(fā)類課題管理系統(tǒng)的設(shè)計方法是在國家開發(fā)銀行USE平臺架構(gòu)的基礎(chǔ)上,采用符合SOA體系結(jié)構(gòu)和對其進行SCA和SDO的

10、落地規(guī)范進行設(shè)計。同時對系統(tǒng)內(nèi)的公共功能進行參數(shù)化及靈活化的設(shè)計,來提高系統(tǒng)的重用性和擴展性。在業(yè)務(wù)方面,采用以課題從立項到成果發(fā)布的流程為主線,支持管理功能相對獨立的設(shè)計方法,模塊內(nèi)部構(gòu)件化和接口化來降低系統(tǒng)的耦合度,便于系統(tǒng)的實施及升級維護。1. 采用基于SOA體系結(jié)構(gòu)設(shè)計方法采用基于SOA體系結(jié)構(gòu)的“高內(nèi)聚,低耦合”的基本原則。遵照國家開發(fā)銀行USE平臺架構(gòu)系統(tǒng)將采用面向服務(wù)的設(shè)計方法,把整個系統(tǒng)的不同功能單元(稱為服務(wù))劃分出來,通過這些服務(wù)之間定義的接口和契約聯(lián)系起來,接口是采用中立的方式進行定義的,它獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種系統(tǒng)中的服務(wù)可以以一

11、種統(tǒng)一和通用的方式進行交互。2. 采用SCA和SDO的落地規(guī)范進行設(shè)計SOA只是一種框架性的體系結(jié)構(gòu), 研發(fā)類課題管理系統(tǒng)采用USE平臺進行建設(shè),USE平臺整合了SCA和SDO的標(biāo)準(zhǔn)和規(guī)范。SCA是SOA的落地架構(gòu)框架規(guī)范,SDO是數(shù)據(jù)結(jié)構(gòu)規(guī)范和數(shù)據(jù)存取原理規(guī)范。而這些規(guī)范,用現(xiàn)有的開發(fā)語言和技術(shù)框架都可以實現(xiàn)。服務(wù)構(gòu)件架構(gòu)(SCA)的基本思想是將業(yè)務(wù)功能作為一系列服務(wù)來提供,這些服務(wù)組合到一起,以創(chuàng)建滿足特定業(yè)務(wù)需要的解決方案。服務(wù)數(shù)據(jù)對象(SDO)的設(shè)計是為了簡化和統(tǒng)一應(yīng)用程序處理數(shù)據(jù)的方式。利用SDO,應(yīng)用程序編程人員可以一致地訪問和操縱來自異構(gòu)數(shù)據(jù)源的數(shù)據(jù),包括關(guān)系數(shù)據(jù)庫、XML數(shù)據(jù)源

12、、Web服務(wù)和其他信息系統(tǒng)。SCA和SDO獲得更高的靈活性和更高的開發(fā)效率??梢栽诓桓淖儜?yīng)用程序情況下,使用不同的技術(shù)作為構(gòu)件的實現(xiàn),或者改變通信協(xié)議等,同時模塊也可以容易的被重用和組裝,易于修改和變更。3. 參數(shù)化和靈活性設(shè)計:考慮到國家開發(fā)銀行研發(fā)類課題管理系統(tǒng)業(yè)務(wù)不斷增長和變化帶來的種種影響?;谟美募毩6仍O(shè)計使得業(yè)務(wù)流程自身是可被組裝的。流程可被拆分為多個單元。比如,針對不同的種類的課題在申報時需要提交的材料是不一樣的,而且在最終評審和結(jié)題的流程中也是不一樣的,同時不同種類的課題劃分依據(jù)也會隨著業(yè)務(wù)的變化而變化。這樣在系統(tǒng)設(shè)計時就需要采用參數(shù)化的設(shè)計思想,定義和管理系統(tǒng)的參數(shù)及配置,

13、調(diào)整參數(shù)以適應(yīng)外部變化。 系統(tǒng)的具體設(shè)計如下:l 建立研發(fā)類課題業(yè)務(wù)辦理的主體流程,建立以業(yè)務(wù)流程為主線的系統(tǒng),體現(xiàn)信貸業(yè)務(wù)全生命周期的特點,即一條主線:課題立項備案、費用預(yù)算執(zhí)行、合同簽訂支付、研發(fā)成果評審、研發(fā)成果發(fā)布。l 建立相對獨立的業(yè)務(wù)支持管理功能,如:立項管理、合同管理、成果管理、機構(gòu)管理、專家管理等。l 系統(tǒng)內(nèi)部模塊化、構(gòu)件化的設(shè)計原則,采用統(tǒng)一接口規(guī)范,降低各個功能單元之間的耦合度。2.3 整體架構(gòu)針對研發(fā)類課題管理系統(tǒng)的系統(tǒng)功能范圍,按照2.3章節(jié)描述的設(shè)計方案,進行系統(tǒng)架構(gòu)的設(shè)計,包括研發(fā)類課題管理系統(tǒng)與外圍系統(tǒng)的關(guān)系,研發(fā)類課題管理系統(tǒng)主要功能模塊和用戶訪問方式。研發(fā)類課

14、題管理系統(tǒng)其與各其他系統(tǒng)關(guān)系描述如下:1. 通過企業(yè)信息交換平臺(EII)平臺獲取全行用戶、機構(gòu)信息等基礎(chǔ)數(shù)據(jù)。2. 通過統(tǒng)一授權(quán)系統(tǒng)拿到用戶授權(quán)信息,與統(tǒng)一授權(quán)系統(tǒng)同步角色資源等授權(quán)信息。3. 與企業(yè)門戶進行單點集成,用戶可以通過直接訪問和企業(yè)門戶單點分別訪問系統(tǒng)。4. 系統(tǒng)根據(jù)內(nèi)部業(yè)務(wù)流程的需要,封裝內(nèi)部業(yè)務(wù)流程構(gòu)件,使用BPM平臺實現(xiàn)流程的調(diào)度、監(jiān)控和管理。5. 通過與ECM集成對文檔管理,進行文檔的上傳、下載、檢索等功能。6. 通過AD進行用戶登錄認(rèn)證管理。3 總體約束3.1 軟硬件環(huán)境約束1、軟件約束:l 本系統(tǒng)的開發(fā)基于國家開發(fā)銀行USE開發(fā)平臺;l 本系統(tǒng)的數(shù)據(jù)庫基于Oracle

15、 10g;2、平臺約束:l 本系統(tǒng)工作流調(diào)度實現(xiàn)基于國家開發(fā)銀行BPM平臺;l 本系統(tǒng)授權(quán)實現(xiàn)基于國家開發(fā)銀行UAAP系統(tǒng);l 本系統(tǒng)內(nèi)容存儲實現(xiàn)基于國家開發(fā)銀行ECM平臺;l 本系統(tǒng)單點登錄實現(xiàn)基于國家開發(fā)銀行企業(yè)門戶;l 本系統(tǒng)登錄認(rèn)證實現(xiàn)基于國家開發(fā)銀行AD系統(tǒng)。3、環(huán)境約束:l 開發(fā)環(huán)境應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器操作系統(tǒng)基于Windows Server 2008;l UAT測試環(huán)境應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器操作系統(tǒng)基于Windows Server 2008;l 生產(chǎn)環(huán)境應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器操作系統(tǒng)基于 Windows Server 2008;4、規(guī)范約束:l BPM平臺業(yè)務(wù)系統(tǒng)集成命名

16、規(guī)范l USE平臺-應(yīng)用項目開發(fā)規(guī)范l CDB-SOA_系統(tǒng)集成指導(dǎo)說明書l BPM平臺USE構(gòu)件接口說明l USE平臺-軟件開發(fā)編碼規(guī)范3.2 遵循標(biāo)準(zhǔn)l 本系統(tǒng)遵循JavaEE標(biāo)準(zhǔn),主要包括:WebService、JMS、Servlet、JSP、JDBC、XML等。l 本系統(tǒng)遵循SOA架構(gòu)下 SCA 1.0和SDO 2.1標(biāo)準(zhǔn)。l 本系統(tǒng)Java部分遵循面向?qū)ο笤O(shè)計并在設(shè)計中遵循UML工業(yè)標(biāo)準(zhǔn)。l 本系統(tǒng)遵循JavaSE 5.0 的技術(shù)規(guī)范及注解標(biāo)準(zhǔn)。l 本系統(tǒng) Java 依賴注入標(biāo)準(zhǔn)規(guī)范遵循JSR-330。.l 本系統(tǒng)遵循ISMS-03-08-01-國家開發(fā)銀行軟件開發(fā)安全管理

17、規(guī)范3.3 文件和目錄約定1、設(shè)計文檔l 研發(fā)類課題管理系統(tǒng)數(shù)據(jù)庫設(shè)計說明書2、開發(fā)文檔:l USE開發(fā)平臺下構(gòu)件包配置信息采用properties、xml、eosinf、aegis 文件擴展名。l 日志文件為文本文件格式,文件命名:u 標(biāo)準(zhǔn)模塊信息輸出,系統(tǒng)名稱_模塊名稱_yyyymmdd.log;u 標(biāo)準(zhǔn)模塊錯誤信息輸出,系統(tǒng)名稱_模塊名稱_Error_yyyymmdd.log。3、目錄約定u RDPM /src:源文件目錄。u RDPM/conf:放置應(yīng)用系統(tǒng)配置文件。u RDPM/build:放置編譯代碼。u RDPM/WEB:放置頁面、樣式、腳本。u RDPM/lib:放置所需第三方

18、Jar包。3.4 對后續(xù)設(shè)計的約束國家開發(fā)銀行研發(fā)類課題管理系統(tǒng)的后續(xù)建設(shè)及維護開發(fā),應(yīng)遵循本文檔中列出的遵循標(biāo)準(zhǔn)、文件約定、目錄約定中的要求。4 系統(tǒng)邏輯結(jié)構(gòu) 根據(jù)系統(tǒng)功能實現(xiàn)的技術(shù)方式、數(shù)據(jù)處理模式及平臺實現(xiàn)的異同,對研發(fā)類課題管理系統(tǒng)進行邏輯結(jié)構(gòu)的分解。本系統(tǒng)由于功能模塊關(guān)系較為緊密且系統(tǒng)業(yè)務(wù)邏輯相對簡單清晰,因此不劃分子系統(tǒng),以下僅從總體結(jié)構(gòu)進行闡述。4.1 總體結(jié)構(gòu)結(jié)合對業(yè)務(wù)需求的理解和以業(yè)務(wù)流程為主線的基礎(chǔ)上,對系統(tǒng)功能根據(jù)業(yè)務(wù)關(guān)聯(lián)性進行劃分,研發(fā)類課題管理系統(tǒng)的邏輯架構(gòu)如下圖所示。研發(fā)類課題管理系統(tǒng)的邏輯架構(gòu)設(shè)計,遵循系統(tǒng)內(nèi)各個模塊相對獨立的松耦合原則。根據(jù)系統(tǒng)內(nèi)實現(xiàn)功能的主體對

19、象及業(yè)務(wù)關(guān)聯(lián)度,將系統(tǒng)劃分為四大單元11個功能模塊,分別是1、立項管理;2、合同管理;3、付款管理;4、成果管理;5、檢索統(tǒng)計;6、業(yè)務(wù)參數(shù)管理;7、機構(gòu)管理;8、專家管理;9、信息發(fā)布;10、系統(tǒng)管理;11、系統(tǒng)維護。4.2 功能模塊定義4.2.1 功能模塊概述模塊名稱主要功能立項管理完成課題立項、課題備案相關(guān)業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。合同管理完成合同備案業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。付款管理完成付款申請業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。成果管理完成成果發(fā)布業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn);實現(xiàn)研究成果根據(jù)查看范圍展示。檢索統(tǒng)計根據(jù)用戶需要對系統(tǒng)中數(shù)據(jù)進行分類匯總,并打印輸出報表。業(yè)務(wù)參數(shù)管理將業(yè)務(wù)參數(shù)及業(yè)務(wù)規(guī)則作為系統(tǒng)參數(shù)進

20、行管理,以使系統(tǒng)靈活響應(yīng)業(yè)務(wù)規(guī)則調(diào)整。合作機構(gòu)注冊完成合作機構(gòu)注冊業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。專家管理完成專家注冊業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。信息發(fā)布完成信息發(fā)布業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。系統(tǒng)管理完成用戶相關(guān)的權(quán)限、所屬機構(gòu)管理,菜單項管理,角色管理等功能。系統(tǒng)維護通過系統(tǒng)界面完成系統(tǒng)相關(guān)維護功能,目前主要是數(shù)據(jù)庫導(dǎo)入、導(dǎo)出。4.2.2 設(shè)計思路根據(jù)用戶需求進行分析,并進行功能點的適當(dāng)歸納總結(jié)后,可對系統(tǒng)功能進行以下分解設(shè)計:a、 業(yè)務(wù)流程功能單元包含立項管理、合同管理、付款管理3個邏輯功能模塊,此功能組涵蓋了課題從立項、商務(wù)直至驗收后付款的主要業(yè)務(wù)環(huán)節(jié),是課題管理的主要業(yè)務(wù)功能。b、 業(yè)務(wù)管理功能單元包含成

21、果管理、檢索統(tǒng)計、信息發(fā)布3個邏輯功能模塊,主要是課題主管部門對課題管理業(yè)務(wù)過程進行歸納總結(jié),并發(fā)布各項管理信息。c、 業(yè)務(wù)支持功能單元包含業(yè)務(wù)參數(shù)管理、機構(gòu)管理、專家管理3個邏輯功能模塊,此功能組為完成課題管理主要業(yè)務(wù)功能運行的基礎(chǔ)。d、 系統(tǒng)管理功能單元由于機構(gòu)管理、權(quán)限管理、用戶管理、菜單管理、角色管理等功能從定位上具有同一性,因此考慮在此功能組內(nèi)使用一個系統(tǒng)管理模塊統(tǒng)一完成以上功能。此外,根據(jù)非功能需求,需要通過系統(tǒng)界面實現(xiàn)系統(tǒng)主要維護功能,因此在此功能單元內(nèi)使用系統(tǒng)維護模塊完成系統(tǒng)維護功能。4.3 接口設(shè)計 系統(tǒng)僅有外部接口。外部接口遵循開行各平臺、系統(tǒng)接口規(guī)范。4.3.1 產(chǎn)品外部

22、接口外部接口主要包括:EII、統(tǒng)一授權(quán)、AD、BPM、ECM接口。具體接口說明和交互方式如下:序號外圍系統(tǒng)說明接口交互方式1業(yè)務(wù)流程管理(BPM)平臺實現(xiàn)流程設(shè)計、步驟定義、節(jié)點設(shè)定并提供接口支持實時2企業(yè)內(nèi)容管理(ECM)平臺統(tǒng)一存儲系統(tǒng)需管理的附件文檔,并通過接口進行文檔的上傳、下載和查詢。實時3企業(yè)信息交換(EII)平臺在用戶、機構(gòu)信息發(fā)生變化時,EII將變化信息主動實時推送至本系統(tǒng)。實時4統(tǒng)一用戶認(rèn)證系統(tǒng)(AD)對用戶進行身份認(rèn)證檢查實時5統(tǒng)一授權(quán)管理系統(tǒng)(UAAP)本系統(tǒng)與UAAP間雙向同步用戶、角色、權(quán)限的對應(yīng)關(guān)系。實時6企業(yè)門戶(EP)通過EP實現(xiàn)單點登錄實時5 系統(tǒng)物理結(jié)構(gòu)5.

23、1 總體結(jié)構(gòu)本系統(tǒng)物理架構(gòu)設(shè)計采用縱向分層、層內(nèi)模塊之間松耦合的原則,保證各組件的物理獨立性,增強系統(tǒng)可擴展性,有利于系統(tǒng)分模塊開發(fā)部署。研發(fā)類課題管理系統(tǒng)自身的物理組件主要分為五類:1、業(yè)務(wù)流程類;2、業(yè)務(wù)支持類;3、業(yè)務(wù)管理類;4、基礎(chǔ)支持類;5、UAAPFRAME類。共10個組件包。1、 業(yè)務(wù)流程類組件是課題管理業(yè)務(wù)的主線,完成從課題立項、合同備案到付款申請的課題管理主體業(yè)務(wù)流程;包括課題過程管理組件包。2、 業(yè)務(wù)支持類組件對業(yè)務(wù)流程類構(gòu)件提供業(yè)務(wù)的支持,保證業(yè)務(wù)的順利開展;包括業(yè)務(wù)支持組件包、合作資源組件包。3、 業(yè)務(wù)管理類組件實現(xiàn)對業(yè)務(wù)的管理統(tǒng)計,包括對成果的發(fā)布和查詢統(tǒng)計;包括業(yè)務(wù)

24、管理組件包。4、 基礎(chǔ)支撐類組件是業(yè)務(wù)實現(xiàn)的根基,在此基礎(chǔ)上對業(yè)務(wù)流程類、業(yè)務(wù)支持類和業(yè)務(wù)管理類構(gòu)件提供技術(shù)的支撐;包括通用工具組件包和流程管理組件包。5、 UAAPFRAME類組件提供了通用的和統(tǒng)一授權(quán)平臺和企業(yè)門戶集成,以及角色權(quán)限管理的功能;包括認(rèn)證管理組件包,機構(gòu)管理組件包,權(quán)限管理組件包及集成管理組件包。系統(tǒng)縱向分為四層,分別是展現(xiàn)層、業(yè)務(wù)邏輯處理層、數(shù)據(jù)持久層以及數(shù)據(jù)存儲層。展現(xiàn)層主要負責(zé)向用戶展示系統(tǒng)界面,響應(yīng)用戶在界面上的操作,并轉(zhuǎn)化為系統(tǒng)請求傳輸至業(yè)務(wù)邏輯處理層調(diào)用對應(yīng)的業(yè)務(wù)功能組件。業(yè)務(wù)邏輯處理層在實現(xiàn)業(yè)務(wù)功能時使用數(shù)據(jù)持久層中的持久化數(shù)據(jù)對象,由數(shù)據(jù)持久層將對持久化數(shù)據(jù)對

25、象轉(zhuǎn)化為對數(shù)據(jù)存儲層物理數(shù)據(jù)實體的訪問。5.2 組件定義5.2.1 課題管理課題管理組件包內(nèi)部的4個組件屬于業(yè)務(wù)功能組件,實現(xiàn)與課題申報、備案以及付款這一生命周期的業(yè)務(wù)流程相關(guān)的功能。這些業(yè)務(wù)功能屬于業(yè)務(wù)需求方最關(guān)心的主體業(yè)務(wù)功能,是本系統(tǒng)的核心功能組件。課題管理組件包從展現(xiàn)層接收用戶請求,經(jīng)過處理后調(diào)用基礎(chǔ)支持類組件,完成業(yè)務(wù)流程流轉(zhuǎn)及流程附件管理;調(diào)用數(shù)據(jù)映射組件完成流程及業(yè)務(wù)實體數(shù)據(jù)增刪改查;調(diào)用UAAPFRAME組件獲取操作用戶的所屬機構(gòu)、角色及權(quán)限。5.2.2 業(yè)務(wù)管理業(yè)務(wù)管理組件包內(nèi)部的3個組件屬于業(yè)務(wù)功能組件,實現(xiàn)主管部門對課題管理業(yè)務(wù)進行高階管理統(tǒng)計分析的業(yè)務(wù)功能。這些業(yè)務(wù)功能

26、能夠幫助主管部門更好地對課題管理業(yè)務(wù)進行總結(jié)、分析,屬于本系統(tǒng)的額外增值功能,并不影響主體業(yè)務(wù)功能。業(yè)務(wù)管理組件包從展現(xiàn)層接收用戶請求,經(jīng)過處理后調(diào)用基礎(chǔ)支持類組件,完成業(yè)務(wù)流程流轉(zhuǎn)及流程附件管理;調(diào)用數(shù)據(jù)映射組件完成流程及業(yè)務(wù)實體數(shù)據(jù)增刪改查;調(diào)用UAAPFRAME組件獲取操作用戶的所屬機構(gòu)、角色及權(quán)限。5.2.3 業(yè)務(wù)支持業(yè)務(wù)支持組件包內(nèi)部的1個組件屬于業(yè)務(wù)功能組件,是課題管理類組件正常運行的前提,為課題管理類組件運行提供前置條件。主要實現(xiàn)業(yè)務(wù)參數(shù)配置。業(yè)務(wù)支持組件包從展現(xiàn)層接收用戶請求,調(diào)用數(shù)據(jù)映射組件完成系統(tǒng)業(yè)務(wù)參數(shù)增刪改查;調(diào)用UAAPFRAME組件獲取操作用戶的所屬機構(gòu)、角色及權(quán)限

27、。5.2.4 合作資源合作資源組件包內(nèi)部的2個組件屬于業(yè)務(wù)功能組件,是課題管理類組件正常運行的前提,為課題管理類組件運行提供前置條件。主要實現(xiàn)課題管理組件包中課題相關(guān)的合作機構(gòu)、專家資源的管理。合作資源組件包從展現(xiàn)層接收用戶請求,經(jīng)過處理后調(diào)用基礎(chǔ)支持類組件,完成業(yè)務(wù)流程流轉(zhuǎn)及流程附件管理;調(diào)用數(shù)據(jù)映射組件完成流程及業(yè)務(wù)實體數(shù)據(jù)增刪改查;調(diào)用UAAPFRAME組件獲取操作用戶的所屬機構(gòu)、角色及權(quán)限。5.2.5 通用工具通用工具組件包內(nèi)部的2個組件屬于系統(tǒng)管理組件,是確保系統(tǒng)正常平穩(wěn)運行的工具組件。系統(tǒng)各業(yè)務(wù)功能組件均需調(diào)用通用工具組件包的組件實現(xiàn)日志記錄查詢分析、異常捕獲及處理。5.2.6 集

28、成平臺調(diào)用集成平臺調(diào)用組件包內(nèi)部的2個組件屬于接口類組件,調(diào)用應(yīng)用集成平臺業(yè)務(wù)流程管理平臺(BPM)、內(nèi)容管理平臺(ECM)提供的流程管理、文件管理服務(wù)。系統(tǒng)各業(yè)務(wù)功能組件均需調(diào)用集成平臺調(diào)用組件包的組件實現(xiàn)業(yè)務(wù)流程發(fā)起、流轉(zhuǎn)及終止,文件上傳下載刪除等功能。5.2.7 UAAPFRAMEUAAPFRAME組件包內(nèi)部的4個組件屬于系統(tǒng)管理組件及接口組件,實現(xiàn)系統(tǒng)登錄認(rèn)證、用戶管理、組織機構(gòu)管理、權(quán)限管理、業(yè)務(wù)數(shù)據(jù)字典項管理、集成管理等功能。UAAPFRAME組件從EII接收用戶機構(gòu)同步信息,與統(tǒng)一授權(quán)系統(tǒng)雙向同步用戶角色權(quán)限信息,與AD集成進行用戶登錄認(rèn)證。5.2.8 系統(tǒng)維護組件包系統(tǒng)維護組件

29、包內(nèi)部的數(shù)據(jù)庫維護組件屬于系統(tǒng)管理組件,實現(xiàn)數(shù)據(jù)庫備份、恢復(fù)功能。數(shù)據(jù)庫維護組件主要調(diào)用數(shù)據(jù)庫備份、恢復(fù)的。5.3 組件接口設(shè)計設(shè)計編號接口名稱接口描述接口提供組件目標(biāo)組件接口調(diào)用方式1文件管理接口文件上傳、下載、查詢文檔管理組件課題過程管理組件包、業(yè)務(wù)管理組件包、合作資源組件包方法調(diào)用2、流程管理接口流程創(chuàng)建、流轉(zhuǎn)、終止、查詢流程、查詢工作項等工作流組件課題過程管理組件包、成果管理、信息發(fā)布組件方法調(diào)用3異常處理接口捕獲程序運行過程中出現(xiàn)的系統(tǒng)異常、業(yè)務(wù)異常,并記錄系統(tǒng)異常時間、描述、所屬模塊、線程等信息。對于業(yè)務(wù)異常則統(tǒng)一處理用戶反饋頁面。異常處理組件所有組件方法調(diào)用4日志管理接口將程序運

30、行過程中的信息按照DEBUG, INFO, WARN, ERROR, FATAL五個級別記錄到日志文件中日志管理組件所有組件方法調(diào)用5合作機構(gòu)查詢接口使用統(tǒng)一的方法對合作機構(gòu)數(shù)據(jù)實體進行查詢,并返回查詢結(jié)果。機構(gòu)組件課題過程管理組件包方法調(diào)用6專家查詢接口使用統(tǒng)一的方法對合作專家數(shù)據(jù)實體進行查詢,并返回查詢結(jié)果。專家組件立項課題組件、備案課題組件。方法調(diào)用6 系統(tǒng)部署6.1 網(wǎng)絡(luò)結(jié)構(gòu)圖研發(fā)類課題管理系統(tǒng)部署于開發(fā)銀行內(nèi)部生產(chǎn)網(wǎng)段,與外聯(lián)網(wǎng)之間使用防火墻邏輯隔離,內(nèi)外網(wǎng)之間沒有數(shù)據(jù)訪問需求。系統(tǒng)用戶(包括總分行用戶)均需要使用內(nèi)網(wǎng)終端訪問本系統(tǒng)。與研發(fā)類課題管理系統(tǒng)需要進行集成的外部系統(tǒng),如BP

31、M、ECM、ESB、AD系統(tǒng)也均部署于開發(fā)銀行內(nèi)部生產(chǎn)網(wǎng)段,從網(wǎng)絡(luò)策略上確保可以互相訪問。6.2 部署模式依據(jù)現(xiàn)有服務(wù)器資源,設(shè)計了2套部署模式,其中模式一為單機運行,只使用1個服務(wù)器分區(qū),部署數(shù)據(jù)庫服務(wù)器、web應(yīng)用服務(wù)器(WAS)、USE運行環(huán)境以及研發(fā)類課題管理系統(tǒng)應(yīng)用軟件包;模式二為雙機運行,設(shè)計思路為服務(wù)器1和服務(wù)器2互備運行,2臺服務(wù)器均部署數(shù)據(jù)庫服務(wù)器、web應(yīng)用服務(wù)器(WAS)、USE運行環(huán)境以及研發(fā)類課題管理系統(tǒng)應(yīng)用軟件包,其中服務(wù)器1上的web應(yīng)用服務(wù)器(WAS)、USE運行環(huán)境以及研發(fā)類課題管理系統(tǒng)應(yīng)用軟件包為運行狀態(tài),數(shù)據(jù)庫服務(wù)器為待機狀態(tài),服務(wù)器2上的web應(yīng)用服務(wù)器

32、(WAS)、USE運行環(huán)境以及研發(fā)類課題管理系統(tǒng)應(yīng)用軟件包為待機狀態(tài),數(shù)據(jù)庫服務(wù)器為運行狀態(tài)。具體如下圖所示。模式一的優(yōu)點為節(jié)省服務(wù)器資源,缺點為系統(tǒng)可用性較低,一旦發(fā)生服務(wù)器故障,系統(tǒng)將無法對外提供服務(wù)。模式二的優(yōu)點為系統(tǒng)可用性較高,一旦發(fā)生服務(wù)器故障,可利用事先準(zhǔn)備的腳本,快速完成服務(wù)器切換,確保系統(tǒng)服務(wù)正常??紤]到本系統(tǒng)應(yīng)用場景、重要性以及服務(wù)器資源情況,目前采用模式一進行部署。在服務(wù)器資源能夠滿足的情況下,優(yōu)先考慮采用方案2進行部署。7 關(guān)鍵技術(shù)及公用機制7.1 關(guān)鍵技術(shù)設(shè)計7.1.1 SCA服務(wù)面向服務(wù)架構(gòu)(SOA)要求我們將業(yè)務(wù)需求分解為若干個功能相對獨立、可被復(fù)用的服務(wù)單元,通過

33、服務(wù)之間的相互調(diào)用完成一定的業(yè)務(wù)功能。這種架構(gòu)有利于業(yè)務(wù)重組,它通過服務(wù)的復(fù)用加速企業(yè)的信息系統(tǒng)開發(fā),達到快速響應(yīng)企業(yè)業(yè)務(wù)變化的要求。OASIS組織發(fā)布的服務(wù)組件架構(gòu)(SCA)是一組SOA編程模型規(guī)范,它描述了利用面向服務(wù)架構(gòu)(SOA)來構(gòu)建應(yīng)用程序和系統(tǒng)的模型;SCA裝配模型定義了構(gòu)成一個SCA系統(tǒng)的各種構(gòu)件和他們之間的關(guān)系,包括:組合構(gòu)件(Composite)、構(gòu)件(Component)、服務(wù)(Service)、引用(Reference)、實現(xiàn)(Implementation)等。系統(tǒng)構(gòu)件裝配是SCA裝配模型的實現(xiàn)。通過可視化的方式定義組合構(gòu)件(Composite)中的構(gòu)件(Componen

34、t)組成,定義構(gòu)件中包含的服務(wù)(Service)、引用(Reference),構(gòu)件引用所指向的構(gòu)件服務(wù)等。下圖是構(gòu)件裝配的概念結(jié)構(gòu)圖,從圖中可以看出,一個構(gòu)件由服務(wù)(Service)、引用(Reference)、實現(xiàn)(Implementation)和屬性(Property)四部分組成。一個構(gòu)件可以有一個或多個服務(wù)、引用和屬性,但只能有一個實現(xiàn)。服務(wù)和引用的接口(Interface)描述了其操作的范圍;通過服務(wù)綁定(Service Binding)來對外暴露服務(wù)的訪問;通過引用綁定(Reference Binding)來消費服務(wù)。組合構(gòu)件(Composite)作為構(gòu)件的容器對構(gòu)件進行包裝和組織,

35、并作為可發(fā)布的單元進行部署。圖7.1 SCA服務(wù)構(gòu)件裝配圖對上圖術(shù)語的詳細解釋如下表所示:術(shù)語 解釋 服務(wù)(Service) Service是一系列業(yè)務(wù)功能的集合,將某一個業(yè)務(wù)功能通過服務(wù)的方式暴露出來,供外部應(yīng)用訪問。服務(wù)可以用多種形式的訪問協(xié)議進行訪問,比如Web Service,JMS,Stateless SessionBean等。 引用(Reference) 構(gòu)件的功能由其它構(gòu)件的服務(wù)提供,在構(gòu)件環(huán)境中通過引用來進行指定。在運行時,根據(jù)配置找到引用對應(yīng)的服務(wù),并注入到構(gòu)件實現(xiàn)當(dāng)中,類似依賴注入。 屬性(Property) 對構(gòu)件實現(xiàn)的字段設(shè)置默認(rèn)值,在構(gòu)件環(huán)境運行時,會把值注入到相應(yīng)的

36、字段中。 接口(Interface) 接口定義了服務(wù)對外提供的功能范圍,描述了服務(wù)所包含的操作以及操作的參數(shù)。USE中支持兩種接口的描述形式:Java Interfaces和WSDL PortType。 綁定(Binding) 綁定定義了服務(wù)的生產(chǎn)和消費的方式,以及訪問服務(wù)所采用的協(xié)議。綁定可以分為服務(wù)綁定和引用綁定。服務(wù)綁定,描述了客戶端可以使用什么樣的機制來調(diào)用服務(wù)。引用綁定描述了采用什么機制來調(diào)用外部的服務(wù)。 實現(xiàn)(Implementation) 構(gòu)件的實現(xiàn)是構(gòu)件服務(wù)功能的具體實現(xiàn),SCA規(guī)范支持各種各樣的構(gòu)件實現(xiàn)方式,如:Java實現(xiàn),C#實現(xiàn),Python實現(xiàn)等等。USE目前只支持J

37、ava實現(xiàn),以及USE特有的邏輯構(gòu)件實現(xiàn)。 構(gòu)件(Component) 對外提供服務(wù)功能的單元,定義了構(gòu)件的實現(xiàn)方式,以及構(gòu)件提供了哪些服務(wù),引用和屬性。 組合構(gòu)件(Composite) 由一組具有業(yè)務(wù)上相互聯(lián)系的構(gòu)件組成,本身也可以定義對外的服務(wù)和引用,其實質(zhì)是一種更大粒度的構(gòu)件。 裝配(Assembly) 將一組具有業(yè)務(wù)上相互聯(lián)系的構(gòu)件組織到一個組合構(gòu)件(Composite)中,在這個組合構(gòu)件中定義構(gòu)件的服務(wù),引用關(guān)系,構(gòu)件的實現(xiàn)等,這個過程稱為裝配。 構(gòu)件包(Contribution) 在USE中構(gòu)件包(Contribution)作為一個部署單元,在其中包含了構(gòu)件,構(gòu)件實現(xiàn)以及一些額外需

38、要的資源,比如:頁面流、邏輯流、運算邏輯、數(shù)據(jù)集、jsp文件等。 提升(Promote) 組合構(gòu)件中可以把構(gòu)件中的服務(wù)通過promote的方式對服務(wù)進行重新包裝,添加外部用戶的訪問方式。同時組合構(gòu)件引用是對一個或多個構(gòu)件的一個或多個引用的提升,所有的構(gòu)件引用共享相同的配置。 連線(wire) 定義源構(gòu)件引用連接到目標(biāo)構(gòu)件的服務(wù)上,給引用進行賦值。7.1.2 構(gòu)件裝配下圖是構(gòu)件裝配的概念圖:圖7.2 SCA服務(wù)構(gòu)件裝配概念圖由上圖可知:· 一個組合構(gòu)件可以包含多個構(gòu)件。 · 每個構(gòu)件可以定義多個服務(wù)和引用;服務(wù)和引用通過"接口描述"來描述其業(yè)務(wù)功能。USE

39、中包含了兩種類型的接口描述:Java接口和WSDL PortType。 · 可以為每個構(gòu)件指定至多一個構(gòu)件實現(xiàn)。· 構(gòu)件實現(xiàn)是構(gòu)件服務(wù)功能的具體實現(xiàn)。 · 可以為一個構(gòu)件定義多個構(gòu)件屬性。 · 可以為服務(wù)和引用定義一個或多個綁定信息。· 服務(wù)和引用的默認(rèn)綁定是SCA綁定。 7.1.3 SDO數(shù)據(jù)對象Service Data Object,服務(wù)數(shù)據(jù)對象。為服務(wù)和應(yīng)用提供一個簡單統(tǒng)一的數(shù)據(jù)模型。USE支持SDO2.0規(guī)范,在數(shù)據(jù)傳輸過程缺省的對象類型是SDO對象。SDO對象可以根據(jù)實際的數(shù)據(jù)源決定它的實際表現(xiàn),在使用過程中可以不必考慮其后端的實際數(shù)

40、據(jù)類型和構(gòu)建方法。7.2 公用機制說明7.2.1 USE平臺應(yīng)用技術(shù)架構(gòu)模型的三個維度軟件技術(shù)架構(gòu)用來處理軟件高層次結(jié)構(gòu)的設(shè)計和實施。它以精心選擇的形式將若干結(jié)構(gòu)元素進行裝配,從而滿足系統(tǒng)主要功能需求,并滿足其他非功能性需求,如可靠性、可伸縮性、可移植性和可用性。我們用多個視圖或視角組成的模型來描述它,該模型包括下列視角:l 邏輯結(jié)構(gòu)視圖邏輯結(jié)構(gòu)主要支持功能性需求,即在為用戶提供功能方面系統(tǒng)所應(yīng)該提供的能力。一般基于流程的方式進行系統(tǒng)功能的分解,將系統(tǒng)分解為一系列的關(guān)鍵抽象,這些抽象大多數(shù)來自于面向功能的問題域,可以劃分為業(yè)務(wù)流程問題域、業(yè)務(wù)問題域、技術(shù)問題域,采用組件的方式表現(xiàn)為業(yè)務(wù)流程、領(lǐng)

41、域框架、應(yīng)用基礎(chǔ)框架、技術(shù)組件。l 技術(shù)實現(xiàn)視圖技術(shù)實現(xiàn)視圖從具體實現(xiàn)技術(shù)視角描述了系統(tǒng)的分層結(jié)構(gòu),每層均具有良好定義的職責(zé),某層子系統(tǒng)依賴同一層或低一層的子系統(tǒng),從而最大程度地減少了具有復(fù)雜模塊依賴關(guān)系,得到層次式的簡單策略,提高系統(tǒng)的穩(wěn)定度,減少開發(fā)量。基于USE平臺的JavaEE系統(tǒng)的技術(shù)分層結(jié)構(gòu)自底向上包括資源層、邏輯層、服務(wù)層、流程層和協(xié)同層。l 非功能需求視圖非功能需求包括系統(tǒng)的安全性、可管理性、可靠性、可用性和擴展性,定義了系統(tǒng)如何滿足功能需求之外的其他隱式需求。這些需求可以通過一個監(jiān)控管理框架來提供,該框架包含系統(tǒng)共性能監(jiān)控、應(yīng)用與平臺配置、管理儀表盤、服務(wù)水平與質(zhì)量、仿真與虛

42、擬化等。圖 71 USE平臺的應(yīng)用技術(shù)架構(gòu)模型在面向服務(wù)的體系架構(gòu)中,針對上述的架構(gòu)模型,規(guī)劃了支撐上述3個視角的技術(shù)框架和規(guī)范:l 組件模型系統(tǒng)的邏輯結(jié)構(gòu)由一系列組件組成,每個組件分別負責(zé)一組功能,提供本地調(diào)用接口、對外服務(wù)、用戶操作界面等。組件規(guī)范定義了組件自身的特性,設(shè)計系統(tǒng)邏輯結(jié)構(gòu)的過程,實際上就是將系統(tǒng)拆分為組件的過程(系統(tǒng)分解過程參看USE平臺項目實施方法論)。在一個基于組件的應(yīng)用系統(tǒng)中,組件包是可部署的單元,因此系統(tǒng)的物理結(jié)構(gòu)是以組件包為基本單位的。l 基于組件的技術(shù)架構(gòu)基于組件包的技術(shù)架構(gòu)是針對JavaEE系統(tǒng)技術(shù)分層結(jié)構(gòu)的具體規(guī)劃,系統(tǒng)將根據(jù)業(yè)務(wù)和技術(shù)的需要分解為多個組件包,

43、在組件包內(nèi)根據(jù)邏輯功能特性劃分為協(xié)同層、流程層、服務(wù)層、邏輯層和資源層。在實現(xiàn)組件包的過程中,允許對上述層次進行裁減,例如很多組件包就只有服務(wù)層和邏輯層代碼即可。l 管理監(jiān)控架構(gòu)為了滿足對應(yīng)用系統(tǒng)的非功能性需求,在JavaEE應(yīng)用系統(tǒng)中需要一個面向管理監(jiān)控的框架,這個框架采用微內(nèi)核結(jié)合擴展點的架構(gòu)模式,能夠靈活的擴展管理監(jiān)控內(nèi)容,以便于非功能需求的實現(xiàn)與具體業(yè)務(wù)的實現(xiàn)相分離。7.2.2 USE ServerUSE Server(USE運行環(huán)境)是支撐SOA應(yīng)用和服務(wù)的運行環(huán)境,USE Server 由SCA(Service Component Architecture)容器、構(gòu)件運行環(huán)境、頁面

44、流引擎、邏輯流引擎、系統(tǒng)服務(wù)、基礎(chǔ)服務(wù)等核心模塊組成。USE Server是一個面向SOA的基礎(chǔ)設(shè)施,實現(xiàn)了SOA的核心編程模型SCA 1.0、SDO 2.1的標(biāo)準(zhǔn)規(guī)范。根據(jù)USE平臺的建設(shè)目標(biāo),USE Server保障了SOA應(yīng)用或服務(wù)穩(wěn)定、安全、可靠、高效、可擴展地運行。USE Server運行在標(biāo)準(zhǔn)的J2EE應(yīng)用服務(wù)器之上,支持主流的應(yīng)用服務(wù)器(如:WebSphere、WebLogic、JBoss、Tomcat等)和主流的數(shù)據(jù)庫(Oracle、DB2、MS SQL Server、Informix、Sybase等)。7.2.3 USE數(shù)據(jù)處理USE采用的編程模型是:流程+數(shù)據(jù)+人機交互。其

45、中流程包括:頁面流和邏輯流;數(shù)據(jù)包括持久化實體和非持久化實體,并采用SDO標(biāo)準(zhǔn)來描述這些數(shù)據(jù)的格式;人機交互采用富客戶端控件來實現(xiàn)。以下內(nèi)容闡述在USE的技術(shù)架構(gòu)下,數(shù)據(jù)是如何存儲,如何被獲取以及如何在流程和客戶端之間傳遞。 數(shù)據(jù)上下文USE中所有的數(shù)據(jù)都是通過數(shù)據(jù)上下文來存儲的。數(shù)據(jù)上下文是一個有固定分區(qū)的數(shù)據(jù)容器,它采用統(tǒng)一的Xpath語法對對象樹進行取值和設(shè)值操作。在使用數(shù)據(jù)上下文時,只需要使用Xpath定位數(shù)據(jù)即可,不需要知道內(nèi)部的具體數(shù)據(jù)類型。數(shù)據(jù)上下文分為多種數(shù)據(jù)區(qū),其中包括請求上下文數(shù)據(jù)區(qū)、會話上下文數(shù)據(jù)區(qū)、頁面流上下文數(shù)據(jù)區(qū)、邏輯流上下文數(shù)據(jù)區(qū)、MUO上下文數(shù)據(jù)區(qū)

46、、流程上下文數(shù)據(jù)區(qū)。如下圖所示。圖7.3 USE數(shù)據(jù)上下文每一種數(shù)據(jù)區(qū)的生命周期是不同的,由USE Server統(tǒng)一管理。詳細描述參下表所示。數(shù)據(jù)區(qū)名稱使用模塊描述請求上下文頁面流請求上下文數(shù)據(jù)區(qū)中放置的是一個完整的Http Request/Response過程中頁面流產(chǎn)生的數(shù)據(jù)。當(dāng)一個頁面流實例接受到一個HTTP請求后,引擎創(chuàng)建一個請求上下文數(shù)據(jù)區(qū),當(dāng)引擎響應(yīng)這個HTTP Request后,引擎銷毀這個請求上下文數(shù)據(jù)區(qū)。頁面流上下文頁面流上下文數(shù)據(jù)區(qū)和一個頁面流實例的生命周期是一致的。會話上下文會話上下文的生命周期與HTTP Session的生命周期是一致的,會話上下文數(shù)據(jù)區(qū)的數(shù)據(jù)來自與HT

47、TP Session中的數(shù)據(jù)。邏輯流上下文邏輯流邏輯流上下文數(shù)據(jù)區(qū)的生命周期與邏輯流的生命周期是一致的。當(dāng)一個邏輯流實例結(jié)束時,引擎會銷毀這個邏輯流對應(yīng)的邏輯流上下文數(shù)據(jù)區(qū)。MUO上下文MUO上下文是受管用戶對象上下文,是為了在邏輯流、運算邏輯中防止用戶隨意使用Http會話中的數(shù)據(jù),而構(gòu)造的一個受管數(shù)據(jù)上下文區(qū)。用戶需要在USE Governor中配置MUO中需要存放的數(shù)據(jù)對象,這些對象才能在邏輯流和運算邏輯中使用。 數(shù)據(jù)流轉(zhuǎn)過程圖7.4 USE數(shù)據(jù)流轉(zhuǎn)過程示例如上圖所示,USE的核心數(shù)據(jù)流程是:1. 客戶端瀏覽器發(fā)起HTTP請求,通過Key/Value對的形式將數(shù)據(jù)傳輸?shù)椒?wù)器

48、端;2. 頁面流引擎接到HTTP請求后將Key/Value對象轉(zhuǎn)換為SDO對象,傳遞給頁面流實例;3. 頁面流調(diào)用邏輯流時,將SDO對象傳遞給邏輯流引擎;4. 邏輯流引擎又會將SDO對象傳遞給邏輯流實例;5. 邏輯流調(diào)用運算構(gòu)件時,傳入SDO對象。運算構(gòu)件訪問數(shù)據(jù)服務(wù)完成業(yè)務(wù)操作后產(chǎn)生SDO類型的返回結(jié)果;6. 邏輯流引擎將返回結(jié)果傳遞給頁面流引擎;7. 頁面流引擎又將返回結(jié)果轉(zhuǎn)發(fā)給JSP頁面;8. JSP頁面響應(yīng)這個HTTP請求,返回到客戶端瀏覽器,顯示返回結(jié)果。完成一次數(shù)據(jù)流轉(zhuǎn)。USE數(shù)據(jù)傳輸過程,缺省的對象類型是SDO對象,但是用戶也可以采用自定義類型,比如POJO、W3C DOM等等。

49、 數(shù)據(jù)處理過程在介紹了數(shù)據(jù)上下文的分類和數(shù)據(jù)流轉(zhuǎn)的原理后,再分析一下頁面流、邏輯流各自的數(shù)據(jù)處理過程。1. 頁面流數(shù)據(jù)處理頁面流使用到的數(shù)據(jù)上下文分為三個數(shù)據(jù)區(qū),包括會話上下文數(shù)據(jù)區(qū),請求上下文數(shù)據(jù)區(qū),頁面流上下文數(shù)據(jù)區(qū)。如下圖所示。圖7.5 頁面流數(shù)據(jù)處理示意圖(1) 會話上下文數(shù)據(jù)區(qū)會話上下文數(shù)據(jù)區(qū)存儲的數(shù)據(jù)是當(dāng)前用戶所在的HTTP會話數(shù)據(jù)的一個映射。開發(fā)頁面流的時候可以使用s:XPATH_EXPRESSION來訪問會話數(shù)據(jù)區(qū)中的數(shù)據(jù),訪問會話數(shù)據(jù)區(qū)中表達式的前綴為s:。(2) 請求上下文數(shù)據(jù)區(qū)請求上下文數(shù)據(jù)區(qū)中放置的是一個完整的Http Request/Response過程

50、中產(chǎn)生的數(shù)據(jù),當(dāng)USE的頁面引擎接受到一個HTTP Request的請求后,它會將這個請求的Key/Value參數(shù)按照規(guī)則,轉(zhuǎn)換成一個或者多個Java對象放入到請求上下文數(shù)據(jù)區(qū)中;也可以使用復(fù)制圖元訪問或創(chuàng)建請求上下文數(shù)據(jù)區(qū)中的數(shù)據(jù);調(diào)用業(yè)務(wù)邏輯或者服務(wù)的返回值也可以設(shè)置到請求上下文的數(shù)據(jù)區(qū)中。訪問請求上下文數(shù)據(jù)區(qū)中的數(shù)據(jù)可以采用r:XPATH_EXPRESSION或者不帶前綴,直接使用XPATH_EXPRESSION訪問請求上下文數(shù)據(jù)區(qū)中的數(shù)據(jù)。(3) 頁面流上下文數(shù)據(jù)區(qū)頁面流上下文數(shù)據(jù)區(qū)存儲的是在頁面流里定義的變量或者對象,訪問頁面流上下文的表達式為f:XPATH_EXPRESSION。頁

51、面流上下文數(shù)據(jù)區(qū)的數(shù)據(jù)生命周期相當(dāng)于頁面流流程級別的變量,在一個頁面流實例中的不同的頁面,業(yè)務(wù)邏輯,賦值操作都可以使用頁面流上下文中的數(shù)據(jù)。2. 邏輯流數(shù)據(jù)處理邏輯流使用到的數(shù)據(jù)上下文為兩個數(shù)據(jù)區(qū),包括MUO上下文數(shù)據(jù)區(qū)和邏輯流上下文數(shù)據(jù)區(qū)。(1) MUO上下文數(shù)據(jù)區(qū)MUO上下文數(shù)據(jù)區(qū)中存放的是受管用戶數(shù)據(jù)對象,訪問的方式采用m:XPATH_EXPRESSION樣式的表達式來訪問和更新數(shù)據(jù)。在邏輯流中涉及用戶數(shù)據(jù)(HttpSession)傳遞的過程時,因只允許對用戶的部分?jǐn)?shù)據(jù)有存取權(quán)限,這時就需要根據(jù)session中的部分?jǐn)?shù)據(jù)構(gòu)造一個受控的用戶數(shù)據(jù)對象,用戶只能對該受管用戶數(shù)據(jù)對象做操作。(2

52、) 邏輯流上下文數(shù)據(jù)區(qū)邏輯流上下文數(shù)據(jù)區(qū)和頁面流的請求上下文數(shù)據(jù)區(qū)比較類似,如果把一個邏輯流比作是一個Java方法,那么邏輯流上下文數(shù)據(jù)區(qū)中的數(shù)據(jù)包含的是這個Java方法傳入的參數(shù),以及這個方法中定義的成員變量。訪問邏輯流請求上下文的數(shù)據(jù)直接采用XPATH_EXPRESSION訪問,不需要加任何前綴。7.2.4 事務(wù)控制中小系統(tǒng)使用USE平臺提供的事務(wù)控制機制,在邏輯構(gòu)件對應(yīng)的邏輯流作為事務(wù)控制的邊界。設(shè)計中事務(wù)控制的邊界限制在邏輯流內(nèi)部,即不存在跨多個邏輯流的事物控制。如果初始設(shè)計時存在事物邊界跨越多個邏輯流的情況,則多個邏輯流需要合并成單個邏輯流。7.2.5 操作日志USE平臺下對日志的邏輯劃分為三類:服務(wù)器日志、應(yīng)用日志和構(gòu)件包日志。其中應(yīng)用日志供開發(fā)人員定位調(diào)試系統(tǒng)使用,包含跟蹤日志、引擎日志和系統(tǒng)日志,通過平臺提供的USE Governor配置實現(xiàn);構(gòu)件包日志記錄用戶登錄和訪問系統(tǒng)功能模塊的業(yè)務(wù)日志,由系統(tǒng)開發(fā)人員根據(jù)用戶需求實現(xiàn)具體功能?!安僮魅罩尽笔怯脩羰褂弥行∠到y(tǒng)過程中,對各構(gòu)件包級功能操作的記錄。中小系統(tǒng)可以通過操作日志模塊對用戶登錄和功能操作記錄進行展現(xiàn)。系統(tǒng)提供統(tǒng)一的操作日志記錄方法,SCMSLogUtil類統(tǒng)一處理日志信息。在各個功能模塊中,只需要將用戶的操作信息放入HttpServletRequest中即可。8 系統(tǒng)重用設(shè)計8.1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論