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

下載本文檔

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

文檔簡(jiǎn)介

研發(fā)類(lèi)課題管理系統(tǒng)架構(gòu)設(shè)計(jì)說(shuō)明書(shū)文件版本:文件編號(hào):發(fā)布日期:編制:審核:批準(zhǔn):國(guó)家開(kāi)發(fā)銀行版權(quán)所有內(nèi)部資料注意保密

修訂記錄:版本號(hào)修訂人修訂日期修訂描述

目錄TOC\o"1-6"\h\z1簡(jiǎn)介 3目的 3文檔范圍 3預(yù)期的讀者和閱讀建議 3參考文檔 3包含文檔 3相關(guān)文檔 3縮略語(yǔ)和術(shù)語(yǔ) 32總體架構(gòu) 3系統(tǒng)范圍 3設(shè)計(jì)方法 3設(shè)計(jì)可選方案 3整體架構(gòu) 33總體約束 3遵循標(biāo)準(zhǔn) 3文件約定 3目錄約定 3對(duì)后續(xù)設(shè)計(jì)的約束 3其它 34系統(tǒng)邏輯結(jié)構(gòu) 3總體結(jié)構(gòu) 3子系統(tǒng)定義 3子系統(tǒng)一 3子系統(tǒng)二 3接口設(shè)計(jì) 3產(chǎn)品外部接口 3子系統(tǒng)間接口 3主要數(shù)據(jù)模型 35系統(tǒng)物理結(jié)構(gòu) 3總體結(jié)構(gòu) 3組件定義 3組件一 3組件接口設(shè)計(jì) 3組件與子系統(tǒng)對(duì)應(yīng)關(guān)系 36系統(tǒng)部署 3網(wǎng)絡(luò)結(jié)構(gòu)圖 3部署模式 37關(guān)鍵技術(shù)及公用機(jī)制 3關(guān)鍵技術(shù)設(shè)計(jì) 3公用機(jī)制說(shuō)明 38系統(tǒng)重用設(shè)計(jì) 3以往設(shè)計(jì)的重用 3可重用性考慮 39系統(tǒng)功能實(shí)現(xiàn) 310開(kāi)發(fā)平臺(tái)與技術(shù)架構(gòu)說(shuō)明 3開(kāi)發(fā)平臺(tái) 3技術(shù)架構(gòu) 3硬件設(shè)備說(shuō)明 3軟件說(shuō)明 311系統(tǒng)非功能特性設(shè)計(jì) 3可擴(kuò)展性 3可靠性 3性能 3可維護(hù)性 3安全 3審計(jì) 3容錯(cuò)性 3可移植性 3可部署性 311.10…… 312風(fēng)險(xiǎn) 313附錄 3

簡(jiǎn)介目的本設(shè)計(jì)文檔的目的是根據(jù)《研發(fā)類(lèi)課題管理系統(tǒng)用戶需求規(guī)格說(shuō)明書(shū)》對(duì)需求的描述,對(duì)研發(fā)類(lèi)課題管理系統(tǒng)的業(yè)務(wù)實(shí)現(xiàn)進(jìn)行了架構(gòu)設(shè)計(jì)。本文檔將指導(dǎo)后續(xù)的設(shè)計(jì)和開(kāi)發(fā)工作,并對(duì)功能測(cè)試和性能測(cè)試工作起到輔助、參考作用。文檔范圍本文檔主要描述研發(fā)類(lèi)課題管理系統(tǒng)的架構(gòu)設(shè)計(jì),覆蓋研發(fā)類(lèi)課題管理系統(tǒng)的需求。研發(fā)類(lèi)課題管理系統(tǒng)基于USE平臺(tái)的UAAP框架進(jìn)行構(gòu)建,UAAP中已經(jīng)實(shí)現(xiàn)的權(quán)限管理、菜單管理、人員及組織機(jī)構(gòu)管理、統(tǒng)一授權(quán)接口等已經(jīng)完成的功能不在本文檔范圍之內(nèi),以后系統(tǒng)實(shí)現(xiàn)的各種業(yè)務(wù)流程將會(huì)受到研發(fā)類(lèi)課題管理系統(tǒng)設(shè)計(jì)的影響。本文檔遵循自頂向下、逐層分解的原則,對(duì)研發(fā)類(lèi)課題管理系統(tǒng)進(jìn)行架構(gòu)設(shè)計(jì):首先,根據(jù)對(duì)開(kāi)行的系統(tǒng)范圍的理解,提出總體設(shè)計(jì)方法,結(jié)合行內(nèi)的平臺(tái)及架構(gòu)要求,給出了系統(tǒng)架構(gòu),從與外圍系統(tǒng)關(guān)系、主要子系統(tǒng)、技術(shù)實(shí)現(xiàn)框架角度分別闡述研發(fā)類(lèi)課題管理系統(tǒng)的構(gòu)成。其次,在系統(tǒng)邏輯結(jié)構(gòu)章節(jié),結(jié)合以上各個(gè)角度的剖析,從平臺(tái)實(shí)現(xiàn)、業(yè)務(wù)處理模式方面存在的差異,將研發(fā)類(lèi)課題管理系統(tǒng)進(jìn)行邏輯架構(gòu)分解,劃分為不同的子系統(tǒng)并分別闡述功能及設(shè)計(jì)思路。再次,在系統(tǒng)物理結(jié)構(gòu)章節(jié),對(duì)系統(tǒng)功能進(jìn)行構(gòu)件化的劃分。此外,該文檔對(duì)系統(tǒng)的部署、關(guān)鍵技術(shù)、系統(tǒng)重用設(shè)計(jì)、系統(tǒng)功能實(shí)現(xiàn)、開(kāi)發(fā)平臺(tái)與技術(shù)架構(gòu)、系統(tǒng)非功能性設(shè)計(jì)及風(fēng)險(xiǎn)進(jìn)行了說(shuō)明。預(yù)期的讀者和閱讀建議本文檔的讀者必須對(duì)USE平臺(tái)的體系結(jié)構(gòu)或者設(shè)計(jì)方法有所了解本文檔的閱讀者為研發(fā)類(lèi)課題管理系統(tǒng)開(kāi)發(fā)過(guò)程的各角色:產(chǎn)品角色、系統(tǒng)分析架構(gòu)角色、項(xiàng)目管理角色、代碼角色、測(cè)試角色、文檔角色,信息科技事務(wù)跟蹤系統(tǒng)系統(tǒng)系統(tǒng)的部署角色、培訓(xùn)角色、維護(hù)角色;本文檔組織方式:簡(jiǎn)介,描述文檔的目的;描述總體設(shè)計(jì)思路,包括設(shè)計(jì)方法及備選設(shè)計(jì)方案和方案的選擇;描述系統(tǒng)的邏輯結(jié)構(gòu)。從最高層次上描述系統(tǒng)的邏輯組成;描述系統(tǒng)的物理結(jié)構(gòu)。從最高層次上描述系統(tǒng)的物理組成;描述系統(tǒng)的部署情況;對(duì)系統(tǒng)架構(gòu)中的關(guān)鍵技術(shù)及公用設(shè)計(jì)機(jī)制進(jìn)行描述;如何重用以往設(shè)計(jì)產(chǎn)物及現(xiàn)有設(shè)計(jì)如何對(duì)將來(lái)重用產(chǎn)生影響進(jìn)行描述;對(duì)系統(tǒng)中重要的用例或者有技術(shù)難度的部分進(jìn)行功能實(shí)現(xiàn)的描述,以方便設(shè)計(jì)人員在進(jìn)行設(shè)計(jì)、開(kāi)發(fā)時(shí)進(jìn)行參考;對(duì)系統(tǒng)依賴的第三方軟硬件進(jìn)行描述;對(duì)系統(tǒng)的非功能特性設(shè)計(jì)進(jìn)行描述;產(chǎn)品經(jīng)理應(yīng)當(dāng)關(guān)注該部分的描述是否與產(chǎn)品需求中產(chǎn)品的非功能性需求一致;開(kāi)發(fā)人員應(yīng)當(dāng)在后續(xù)設(shè)計(jì)過(guò)程中對(duì)這部分設(shè)計(jì)進(jìn)行關(guān)注,避免遺漏;測(cè)試人員應(yīng)當(dāng)根據(jù)這部分的描述制定測(cè)試案例,驗(yàn)證是否可以達(dá)到產(chǎn)品需求的要求。描述架構(gòu)設(shè)計(jì)中識(shí)別的風(fēng)險(xiǎn),產(chǎn)品經(jīng)理、設(shè)計(jì)人員、開(kāi)發(fā)人員和測(cè)試人員都應(yīng)當(dāng)隨時(shí)關(guān)注這些風(fēng)險(xiǎn),避免風(fēng)險(xiǎn)發(fā)生并及時(shí)采取規(guī)避、減輕措施。附錄參考文檔包含文檔無(wú)相關(guān)文檔作者文檔名稱文檔版本出版日期出版單位或歸屬單位研發(fā)類(lèi)課題管理系統(tǒng)項(xiàng)目組《研發(fā)類(lèi)課題管理系統(tǒng)用戶需求說(shuō)明書(shū)》二〇一二年四月國(guó)家開(kāi)發(fā)銀行信息科技局縮略語(yǔ)和術(shù)語(yǔ)縮略語(yǔ)/術(shù)語(yǔ)全稱說(shuō)明CDB國(guó)家開(kāi)發(fā)銀行USE國(guó)家開(kāi)發(fā)銀行統(tǒng)一軟件環(huán)境基于EOSStudio實(shí)現(xiàn)UAAPFRAMEUnifiedAuthorizationandAuthauthenticationPlatformFrameUSE平臺(tái)對(duì)統(tǒng)一授權(quán)平臺(tái)框架BPM國(guó)家開(kāi)發(fā)銀行工作流平臺(tái)基于FileNetProcessEngineECM國(guó)家開(kāi)發(fā)銀行內(nèi)容管理平臺(tái)基于FileNetContentEngineEII國(guó)家開(kāi)發(fā)銀行信息交換平臺(tái)ESB國(guó)家開(kāi)發(fā)銀行企業(yè)服務(wù)總線基于TIBCO實(shí)現(xiàn)SOA面向服務(wù)架構(gòu)EP國(guó)家開(kāi)發(fā)銀行企業(yè)門(mén)戶系統(tǒng)基于TAM實(shí)現(xiàn)RDPM國(guó)家開(kāi)發(fā)銀行研發(fā)類(lèi)課題管理系統(tǒng)接口接口研發(fā)類(lèi)課題管理系統(tǒng)對(duì)外系統(tǒng)的訪問(wèn),統(tǒng)稱接口服務(wù)服務(wù)研發(fā)類(lèi)課題管理系統(tǒng)內(nèi)部調(diào)用,統(tǒng)稱服務(wù)總體架構(gòu)系統(tǒng)范圍研發(fā)類(lèi)課題管理系統(tǒng)面向全行研發(fā)類(lèi)課題申報(bào)、管理和查看等部門(mén),系統(tǒng)覆蓋研發(fā)類(lèi)課題管理全流程,包括:立項(xiàng)受理、付款受理、信息發(fā)布、成果共享等模塊。研發(fā)類(lèi)課題管理系統(tǒng)在開(kāi)行2011版整體IT規(guī)劃中,屬于支持平臺(tái)域,其所處的位置如下所示(紅色方框部分)。主要用戶包括:1.研發(fā)類(lèi)課題主管部門(mén)目前是國(guó)家開(kāi)發(fā)銀行研究院,作為研發(fā)類(lèi)課題管理系統(tǒng)的管理歸口部門(mén),通過(guò)系統(tǒng)對(duì)全行研發(fā)類(lèi)課題全流程電子化管理。2.研發(fā)類(lèi)課題主辦部門(mén)總行各業(yè)務(wù)廳局均可申請(qǐng)課題,通過(guò)研發(fā)類(lèi)課題管理系統(tǒng)進(jìn)行課題申請(qǐng)、付款申請(qǐng)等操作。3.普通員工全行所有員工,通過(guò)研發(fā)類(lèi)課題管理系統(tǒng)查看權(quán)限內(nèi)的共享課題成果。設(shè)計(jì)方案研發(fā)類(lèi)課題管理系統(tǒng)的設(shè)計(jì)方法是在國(guó)家開(kāi)發(fā)銀行USE平臺(tái)架構(gòu)的基礎(chǔ)上,采用符合SOA體系結(jié)構(gòu)和對(duì)其進(jìn)行SCA和SDO的落地規(guī)范進(jìn)行設(shè)計(jì)。同時(shí)對(duì)系統(tǒng)內(nèi)的公共功能進(jìn)行參數(shù)化及靈活化的設(shè)計(jì),來(lái)提高系統(tǒng)的重用性和擴(kuò)展性。在業(yè)務(wù)方面,采用以課題從立項(xiàng)到成果發(fā)布的流程為主線,支持管理功能相對(duì)獨(dú)立的設(shè)計(jì)方法,模塊內(nèi)部構(gòu)件化和接口化來(lái)降低系統(tǒng)的耦合度,便于系統(tǒng)的實(shí)施及升級(jí)維護(hù)。1.采用基于SOA體系結(jié)構(gòu)設(shè)計(jì)方法采用基于SOA體系結(jié)構(gòu)的“高內(nèi)聚,低耦合”的基本原則。遵照國(guó)家開(kāi)發(fā)銀行USE平臺(tái)架構(gòu)系統(tǒng)將采用面向服務(wù)的設(shè)計(jì)方法,把整個(gè)系統(tǒng)的不同功能單元(稱為服務(wù))劃分出來(lái),通過(guò)這些服務(wù)之間定義的接口和契約聯(lián)系起來(lái),接口是采用中立的方式進(jìn)行定義的,它獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。這使得構(gòu)建在各種系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。2.采用SCA和SDO的落地規(guī)范進(jìn)行設(shè)計(jì)SOA只是一種框架性的體系結(jié)構(gòu),研發(fā)類(lèi)課題管理系統(tǒng)采用USE平臺(tái)進(jìn)行建設(shè),USE平臺(tái)整合了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)有的開(kāi)發(fā)語(yǔ)言和技術(shù)框架都可以實(shí)現(xiàn)。服務(wù)構(gòu)件架構(gòu)(SCA)的基本思想是將業(yè)務(wù)功能作為一系列服務(wù)來(lái)提供,這些服務(wù)組合到一起,以創(chuàng)建滿足特定業(yè)務(wù)需要的解決方案。服務(wù)數(shù)據(jù)對(duì)象(SDO)的設(shè)計(jì)是為了簡(jiǎn)化和統(tǒng)一應(yīng)用程序處理數(shù)據(jù)的方式。利用SDO,應(yīng)用程序編程人員可以一致地訪問(wèn)和操縱來(lái)自異構(gòu)數(shù)據(jù)源的數(shù)據(jù),包括關(guān)系數(shù)據(jù)庫(kù)、XML數(shù)據(jù)源、Web服務(wù)和其他信息系統(tǒng)。SCA和SDO獲得更高的靈活性和更高的開(kāi)發(fā)效率。可以在不改變應(yīng)用程序情況下,使用不同的技術(shù)作為構(gòu)件的實(shí)現(xiàn),或者改變通信協(xié)議等,同時(shí)模塊也可以容易的被重用和組裝,易于修改和變更。3.參數(shù)化和靈活性設(shè)計(jì):考慮到國(guó)家開(kāi)發(fā)銀行研發(fā)類(lèi)課題管理系統(tǒng)業(yè)務(wù)不斷增長(zhǎng)和變化帶來(lái)的種種影響?;谟美募?xì)粒度設(shè)計(jì)使得業(yè)務(wù)流程自身是可被組裝的。流程可被拆分為多個(gè)單元。比如,針對(duì)不同的種類(lèi)的課題在申報(bào)時(shí)需要提交的材料是不一樣的,而且在最終評(píng)審和結(jié)題的流程中也是不一樣的,同時(shí)不同種類(lèi)的課題劃分依據(jù)也會(huì)隨著業(yè)務(wù)的變化而變化。這樣在系統(tǒng)設(shè)計(jì)時(shí)就需要采用參數(shù)化的設(shè)計(jì)思想,定義和管理系統(tǒng)的參數(shù)及配置,調(diào)整參數(shù)以適應(yīng)外部變化。系統(tǒng)的具體設(shè)計(jì)如下:建立研發(fā)類(lèi)課題業(yè)務(wù)辦理的主體流程,建立以業(yè)務(wù)流程為主線的系統(tǒng),體現(xiàn)信貸業(yè)務(wù)全生命周期的特點(diǎn),即一條主線:課題立項(xiàng)備案、費(fèi)用預(yù)算執(zhí)行、合同簽訂支付、研發(fā)成果評(píng)審、研發(fā)成果發(fā)布。建立相對(duì)獨(dú)立的業(yè)務(wù)支持管理功能,如:立項(xiàng)管理、合同管理、成果管理、機(jī)構(gòu)管理、專家管理等。系統(tǒng)內(nèi)部模塊化、構(gòu)件化的設(shè)計(jì)原則,采用統(tǒng)一接口規(guī)范,降低各個(gè)功能單元之間的耦合度。整體架構(gòu)方案,進(jìn)行系統(tǒng)架構(gòu)的設(shè)計(jì),包括研發(fā)類(lèi)課題管理系統(tǒng)與外圍系統(tǒng)的關(guān)系,研發(fā)類(lèi)課題管理系統(tǒng)主要功能模塊和用戶訪問(wèn)方式。研發(fā)類(lèi)課題管理系統(tǒng)其與各其他系統(tǒng)關(guān)系描述如下:通過(guò)企業(yè)信息交換平臺(tái)(EII)平臺(tái)獲取全行用戶、機(jī)構(gòu)信息等基礎(chǔ)數(shù)據(jù)。通過(guò)統(tǒng)一授權(quán)系統(tǒng)拿到用戶授權(quán)信息,與統(tǒng)一授權(quán)系統(tǒng)同步角色資源等授權(quán)信息。與企業(yè)門(mén)戶進(jìn)行單點(diǎn)集成,用戶可以通過(guò)直接訪問(wèn)和企業(yè)門(mén)戶單點(diǎn)分別訪問(wèn)系統(tǒng)。系統(tǒng)根據(jù)內(nèi)部業(yè)務(wù)流程的需要,封裝內(nèi)部業(yè)務(wù)流程構(gòu)件,使用BPM平臺(tái)實(shí)現(xiàn)流程的調(diào)度、監(jiān)控和管理。通過(guò)與ECM集成對(duì)文檔管理,進(jìn)行文檔的上傳、下載、檢索等功能。通過(guò)AD進(jìn)行用戶登錄認(rèn)證管理??傮w約束軟硬件環(huán)境約束1、軟件約束:本系統(tǒng)的開(kāi)發(fā)基于國(guó)家開(kāi)發(fā)銀行USE開(kāi)發(fā)平臺(tái);本系統(tǒng)的數(shù)據(jù)庫(kù)基于Oracle10g;2、平臺(tái)約束:本系統(tǒng)工作流調(diào)度實(shí)現(xiàn)基于國(guó)家開(kāi)發(fā)銀行BPM平臺(tái);本系統(tǒng)授權(quán)實(shí)現(xiàn)基于國(guó)家開(kāi)發(fā)銀行UAAP系統(tǒng);本系統(tǒng)內(nèi)容存儲(chǔ)實(shí)現(xiàn)基于國(guó)家開(kāi)發(fā)銀行ECM平臺(tái);本系統(tǒng)單點(diǎn)登錄實(shí)現(xiàn)基于國(guó)家開(kāi)發(fā)銀行企業(yè)門(mén)戶;本系統(tǒng)登錄認(rèn)證實(shí)現(xiàn)基于國(guó)家開(kāi)發(fā)銀行AD系統(tǒng)。3、環(huán)境約束:開(kāi)發(fā)環(huán)境應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器操作系統(tǒng)基于WindowsServer2008;UAT測(cè)試環(huán)境應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器操作系統(tǒng)基于WindowsServer2008;生產(chǎn)環(huán)境應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器操作系統(tǒng)基于WindowsServer2008;4、規(guī)范約束:《BPM平臺(tái)業(yè)務(wù)系統(tǒng)集成命名規(guī)范》《USE平臺(tái)-應(yīng)用項(xiàng)目開(kāi)發(fā)規(guī)范》《CDB-SOA_系統(tǒng)集成指導(dǎo)說(shuō)明書(shū)》《BPM平臺(tái)USE構(gòu)件接口說(shuō)明》《USE平臺(tái)-軟件開(kāi)發(fā)編碼規(guī)范》遵循標(biāo)準(zhǔn)本系統(tǒng)遵循JavaEE標(biāo)準(zhǔn),主要包括:WebService、JMS、Servlet、JSP、JDBC、XML等。本系統(tǒng)遵循SOA架構(gòu)下SCA1.0和SDO2.1標(biāo)準(zhǔn)。本系統(tǒng)Java部分遵循面向?qū)ο笤O(shè)計(jì)并在設(shè)計(jì)中遵循UML工業(yè)標(biāo)準(zhǔn)。本系統(tǒng)遵循JavaSE5.0的技術(shù)規(guī)范及注解標(biāo)準(zhǔn)。本系統(tǒng)

Java依賴注入標(biāo)準(zhǔn)規(guī)范遵循JSR-330。.本系統(tǒng)遵循《ISMS-03-08-01-國(guó)家開(kāi)發(fā)銀行軟件開(kāi)發(fā)安全管理規(guī)范》文件和目錄約定1、設(shè)計(jì)文檔研發(fā)類(lèi)課題管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)2、開(kāi)發(fā)文檔:USE開(kāi)發(fā)平臺(tái)下構(gòu)件包配置信息采用properties、xml、eosinf、aegis文件擴(kuò)展名。日志文件為文本文件格式,文件命名:標(biāo)準(zhǔn)模塊信息輸出,系統(tǒng)名稱_模塊名稱;標(biāo)準(zhǔn)模塊錯(cuò)誤信息輸出,系統(tǒng)名稱_模塊名稱_Error。3、目錄約定RDPM/src:源文件目錄。RDPM/conf:放置應(yīng)用系統(tǒng)配置文件。RDPM/build:放置編譯代碼。RDPM/WEB:放置頁(yè)面、樣式、腳本。RDPM/lib:放置所需第三方Jar包。對(duì)后續(xù)設(shè)計(jì)的約束國(guó)家開(kāi)發(fā)銀行研發(fā)類(lèi)課題管理系統(tǒng)的后續(xù)建設(shè)及維護(hù)開(kāi)發(fā),應(yīng)遵循本文檔中列出的遵循標(biāo)準(zhǔn)、文件約定、目錄約定中的要求。系統(tǒng)邏輯結(jié)構(gòu)根據(jù)系統(tǒng)功能實(shí)現(xiàn)的技術(shù)方式、數(shù)據(jù)處理模式及平臺(tái)實(shí)現(xiàn)的異同,對(duì)研發(fā)類(lèi)課題管理系統(tǒng)進(jìn)行邏輯結(jié)構(gòu)的分解。本系統(tǒng)由于功能模塊關(guān)系較為緊密且系統(tǒng)業(yè)務(wù)邏輯相對(duì)簡(jiǎn)單清晰,因此不劃分子系統(tǒng),以下僅從總體結(jié)構(gòu)進(jìn)行闡述??傮w結(jié)構(gòu)結(jié)合對(duì)業(yè)務(wù)需求的理解和以業(yè)務(wù)流程為主線的基礎(chǔ)上,對(duì)系統(tǒng)功能根據(jù)業(yè)務(wù)關(guān)聯(lián)性進(jìn)行劃分,研發(fā)類(lèi)課題管理系統(tǒng)的邏輯架構(gòu)如下圖所示。研發(fā)類(lèi)課題管理系統(tǒng)的邏輯架構(gòu)設(shè)計(jì),遵循系統(tǒng)內(nèi)各個(gè)模塊相對(duì)獨(dú)立的松耦合原則。根據(jù)系統(tǒng)內(nèi)實(shí)現(xiàn)功能的主體對(duì)象及業(yè)務(wù)關(guān)聯(lián)度,將系統(tǒng)劃分為四大單元11個(gè)功能模塊,分別是1、立項(xiàng)管理;2、合同管理;3、付款管理;4、成果管理;5、檢索統(tǒng)計(jì);6、業(yè)務(wù)參數(shù)管理;7、機(jī)構(gòu)管理;8、專家管理;9、信息發(fā)布;10、系統(tǒng)管理;11、系統(tǒng)維護(hù)。功能模塊定義功能模塊概述模塊名稱主要功能立項(xiàng)管理完成課題立項(xiàng)、課題備案相關(guān)業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。合同管理完成合同備案業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。付款管理完成付款申請(qǐng)業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。成果管理完成成果發(fā)布業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn);實(shí)現(xiàn)研究成果根據(jù)查看范圍展示。檢索統(tǒng)計(jì)根據(jù)用戶需要對(duì)系統(tǒng)中數(shù)據(jù)進(jìn)行分類(lèi)匯總,并打印輸出報(bào)表。業(yè)務(wù)參數(shù)管理將業(yè)務(wù)參數(shù)及業(yè)務(wù)規(guī)則作為系統(tǒng)參數(shù)進(jìn)行管理,以使系統(tǒng)靈活響應(yīng)業(yè)務(wù)規(guī)則調(diào)整。合作機(jī)構(gòu)注冊(cè)完成合作機(jī)構(gòu)注冊(cè)業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。專家管理完成專家注冊(cè)業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。信息發(fā)布完成信息發(fā)布業(yè)務(wù)流程的發(fā)起、流轉(zhuǎn)。系統(tǒng)管理完成用戶相關(guān)的權(quán)限、所屬機(jī)構(gòu)管理,菜單項(xiàng)管理,角色管理等功能。系統(tǒng)維護(hù)通過(guò)系統(tǒng)界面完成系統(tǒng)相關(guān)維護(hù)功能,目前主要是數(shù)據(jù)庫(kù)導(dǎo)入、導(dǎo)出。設(shè)計(jì)思路根據(jù)用戶需求進(jìn)行分析,并進(jìn)行功能點(diǎn)的適當(dāng)歸納總結(jié)后,可對(duì)系統(tǒng)功能進(jìn)行以下分解設(shè)計(jì):業(yè)務(wù)流程功能單元包含立項(xiàng)管理、合同管理、付款管理3個(gè)邏輯功能模塊,此功能組涵蓋了課題從立項(xiàng)、商務(wù)直至驗(yàn)收后付款的主要業(yè)務(wù)環(huán)節(jié),是課題管理的主要業(yè)務(wù)功能。業(yè)務(wù)管理功能單元包含成果管理、檢索統(tǒng)計(jì)、信息發(fā)布3個(gè)邏輯功能模塊,主要是課題主管部門(mén)對(duì)課題管理業(yè)務(wù)過(guò)程進(jìn)行歸納總結(jié),并發(fā)布各項(xiàng)管理信息。業(yè)務(wù)支持功能單元包含業(yè)務(wù)參數(shù)管理、機(jī)構(gòu)管理、專家管理3個(gè)邏輯功能模塊,此功能組為完成課題管理主要業(yè)務(wù)功能運(yùn)行的基礎(chǔ)。系統(tǒng)管理功能單元由于機(jī)構(gòu)管理、權(quán)限管理、用戶管理、菜單管理、角色管理等功能從定位上具有同一性,因此考慮在此功能組內(nèi)使用一個(gè)系統(tǒng)管理模塊統(tǒng)一完成以上功能。此外,根據(jù)非功能需求,需要通過(guò)系統(tǒng)界面實(shí)現(xiàn)系統(tǒng)主要維護(hù)功能,因此在此功能單元內(nèi)使用系統(tǒng)維護(hù)模塊完成系統(tǒng)維護(hù)功能。接口設(shè)計(jì)系統(tǒng)僅有外部接口。外部接口遵循開(kāi)行各平臺(tái)、系統(tǒng)接口規(guī)范。產(chǎn)品外部接口外部接口主要包括:EII、統(tǒng)一授權(quán)、AD、BPM、ECM接口。具體接口說(shuō)明和交互方式如下:序號(hào)外圍系統(tǒng)說(shuō)明接口交互方式1業(yè)務(wù)流程管理(BPM)平臺(tái)實(shí)現(xiàn)流程設(shè)計(jì)、步驟定義、節(jié)點(diǎn)設(shè)定并提供接口支持實(shí)時(shí)2企業(yè)內(nèi)容管理(ECM)平臺(tái)統(tǒng)一存儲(chǔ)系統(tǒng)需管理的附件文檔,并通過(guò)接口進(jìn)行文檔的上傳、下載和查詢。實(shí)時(shí)3企業(yè)信息交換(EII)平臺(tái)在用戶、機(jī)構(gòu)信息發(fā)生變化時(shí),EII將變化信息主動(dòng)實(shí)時(shí)推送至本系統(tǒng)。實(shí)時(shí)4統(tǒng)一用戶認(rèn)證系統(tǒng)(AD)對(duì)用戶進(jìn)行身份認(rèn)證檢查實(shí)時(shí)5統(tǒng)一授權(quán)管理系統(tǒng)(UAAP)本系統(tǒng)與UAAP間雙向同步用戶、角色、權(quán)限的對(duì)應(yīng)關(guān)系。實(shí)時(shí)6企業(yè)門(mén)戶(EP)通過(guò)EP實(shí)現(xiàn)單點(diǎn)登錄實(shí)時(shí)系統(tǒng)物理結(jié)構(gòu)總體結(jié)構(gòu)本系統(tǒng)物理架構(gòu)設(shè)計(jì)采用縱向分層、層內(nèi)模塊之間松耦合的原則,保證各組件的物理獨(dú)立性,增強(qiáng)系統(tǒng)可擴(kuò)展性,有利于系統(tǒng)分模塊開(kāi)發(fā)部署。研發(fā)類(lèi)課題管理系統(tǒng)自身的物理組件主要分為五類(lèi):1、業(yè)務(wù)流程類(lèi);2、業(yè)務(wù)支持類(lèi);3、業(yè)務(wù)管理類(lèi);4、基礎(chǔ)支持類(lèi);5、UAAPFRAME類(lèi)。共10個(gè)組件包。業(yè)務(wù)流程類(lèi)組件是課題管理業(yè)務(wù)的主線,完成從課題立項(xiàng)、合同備案到付款申請(qǐng)的課題管理主體業(yè)務(wù)流程;包括課題過(guò)程管理組件包。業(yè)務(wù)支持類(lèi)組件對(duì)業(yè)務(wù)流程類(lèi)構(gòu)件提供業(yè)務(wù)的支持,保證業(yè)務(wù)的順利開(kāi)展;包括業(yè)務(wù)支持組件包、合作資源組件包。業(yè)務(wù)管理類(lèi)組件實(shí)現(xiàn)對(duì)業(yè)務(wù)的管理統(tǒng)計(jì),包括對(duì)成果的發(fā)布和查詢統(tǒng)計(jì);包括業(yè)務(wù)管理組件包。基礎(chǔ)支撐類(lèi)組件是業(yè)務(wù)實(shí)現(xiàn)的根基,在此基礎(chǔ)上對(duì)業(yè)務(wù)流程類(lèi)、業(yè)務(wù)支持類(lèi)和業(yè)務(wù)管理類(lèi)構(gòu)件提供技術(shù)的支撐;包括通用工具組件包和流程管理組件包。UAAPFRAME類(lèi)組件提供了通用的和統(tǒng)一授權(quán)平臺(tái)和企業(yè)門(mén)戶集成,以及角色權(quán)限管理的功能;包括認(rèn)證管理組件包,機(jī)構(gòu)管理組件包,權(quán)限管理組件包及集成管理組件包。系統(tǒng)縱向分為四層,分別是展現(xiàn)層、業(yè)務(wù)邏輯處理層、數(shù)據(jù)持久層以及數(shù)據(jù)存儲(chǔ)層。展現(xiàn)層主要負(fù)責(zé)向用戶展示系統(tǒng)界面,響應(yīng)用戶在界面上的操作,并轉(zhuǎn)化為系統(tǒng)請(qǐng)求傳輸至業(yè)務(wù)邏輯處理層調(diào)用對(duì)應(yīng)的業(yè)務(wù)功能組件。業(yè)務(wù)邏輯處理層在實(shí)現(xiàn)業(yè)務(wù)功能時(shí)使用數(shù)據(jù)持久層中的持久化數(shù)據(jù)對(duì)象,由數(shù)據(jù)持久層將對(duì)持久化數(shù)據(jù)對(duì)象轉(zhuǎn)化為對(duì)數(shù)據(jù)存儲(chǔ)層物理數(shù)據(jù)實(shí)體的訪問(wèn)。組件定義課題管理課題管理組件包內(nèi)部的4個(gè)組件屬于業(yè)務(wù)功能組件,實(shí)現(xiàn)與課題申報(bào)、備案以及付款這一生命周期的業(yè)務(wù)流程相關(guān)的功能。這些業(yè)務(wù)功能屬于業(yè)務(wù)需求方最關(guān)心的主體業(yè)務(wù)功能,是本系統(tǒng)的核心功能組件。課題管理組件包從展現(xiàn)層接收用戶請(qǐng)求,經(jīng)過(guò)處理后調(diào)用基礎(chǔ)支持類(lèi)組件,完成業(yè)務(wù)流程流轉(zhuǎn)及流程附件管理;調(diào)用數(shù)據(jù)映射組件完成流程及業(yè)務(wù)實(shí)體數(shù)據(jù)增刪改查;調(diào)用UAAPFRAME組件獲取操作用戶的所屬機(jī)構(gòu)、角色及權(quán)限。業(yè)務(wù)管理業(yè)務(wù)管理組件包內(nèi)部的3個(gè)組件屬于業(yè)務(wù)功能組件,實(shí)現(xiàn)主管部門(mén)對(duì)課題管理業(yè)務(wù)進(jìn)行高階管理統(tǒng)計(jì)分析的業(yè)務(wù)功能。這些業(yè)務(wù)功能能夠幫助主管部門(mén)更好地對(duì)課題管理業(yè)務(wù)進(jìn)行總結(jié)、分析,屬于本系統(tǒng)的額外增值功能,并不影響主體業(yè)務(wù)功能。業(yè)務(wù)管理組件包從展現(xiàn)層接收用戶請(qǐng)求,經(jīng)過(guò)處理后調(diào)用基礎(chǔ)支持類(lèi)組件,完成業(yè)務(wù)流程流轉(zhuǎn)及流程附件管理;調(diào)用數(shù)據(jù)映射組件完成流程及業(yè)務(wù)實(shí)體數(shù)據(jù)增刪改查;調(diào)用UAAPFRAME組件獲取操作用戶的所屬機(jī)構(gòu)、角色及權(quán)限。業(yè)務(wù)支持業(yè)務(wù)支持組件包內(nèi)部的1個(gè)組件屬于業(yè)務(wù)功能組件,是課題管理類(lèi)組件正常運(yùn)行的前提,為課題管理類(lèi)組件運(yùn)行提供前置條件。主要實(shí)現(xiàn)業(yè)務(wù)參數(shù)配置。業(yè)務(wù)支持組件包從展現(xiàn)層接收用戶請(qǐng)求,調(diào)用數(shù)據(jù)映射組件完成系統(tǒng)業(yè)務(wù)參數(shù)增刪改查;調(diào)用UAAPFRAME組件獲取操作用戶的所屬機(jī)構(gòu)、角色及權(quán)限。合作資源合作資源組件包內(nèi)部的2個(gè)組件屬于業(yè)務(wù)功能組件,是課題管理類(lèi)組件正常運(yùn)行的前提,為課題管理類(lèi)組件運(yùn)行提供前置條件。主要實(shí)現(xiàn)課題管理組件包中課題相關(guān)的合作機(jī)構(gòu)、專家資源的管理。合作資源組件包從展現(xiàn)層接收用戶請(qǐng)求,經(jīng)過(guò)處理后調(diào)用基礎(chǔ)支持類(lèi)組件,完成業(yè)務(wù)流程流轉(zhuǎn)及流程附件管理;調(diào)用數(shù)據(jù)映射組件完成流程及業(yè)務(wù)實(shí)體數(shù)據(jù)增刪改查;調(diào)用UAAPFRAME組件獲取操作用戶的所屬機(jī)構(gòu)、角色及權(quán)限。通用工具通用工具組件包內(nèi)部的2個(gè)組件屬于系統(tǒng)管理組件,是確保系統(tǒng)正常平穩(wěn)運(yùn)行的工具組件。系統(tǒng)各業(yè)務(wù)功能組件均需調(diào)用通用工具組件包的組件實(shí)現(xiàn)日志記錄查詢分析、異常捕獲及處理。集成平臺(tái)調(diào)用集成平臺(tái)調(diào)用組件包內(nèi)部的2個(gè)組件屬于接口類(lèi)組件,調(diào)用應(yīng)用集成平臺(tái)業(yè)務(wù)流程管理平臺(tái)(BPM)、內(nèi)容管理平臺(tái)(ECM)提供的流程管理、文件管理服務(wù)。系統(tǒng)各業(yè)務(wù)功能組件均需調(diào)用集成平臺(tái)調(diào)用組件包的組件實(shí)現(xiàn)業(yè)務(wù)流程發(fā)起、流轉(zhuǎn)及終止,文件上傳下載刪除等功能。UAAPFRAMEUAAPFRAME組件包內(nèi)部的4個(gè)組件屬于系統(tǒng)管理組件及接口組件,實(shí)現(xiàn)系統(tǒng)登錄認(rèn)證、用戶管理、組織機(jī)構(gòu)管理、權(quán)限管理、業(yè)務(wù)數(shù)據(jù)字典項(xiàng)管理、集成管理等功能。UAAPFRAME組件從EII接收用戶機(jī)構(gòu)同步信息,與統(tǒng)一授權(quán)系統(tǒng)雙向同步用戶角色權(quán)限信息,與AD集成進(jìn)行用戶登錄認(rèn)證。系統(tǒng)維護(hù)組件包系統(tǒng)維護(hù)組件包內(nèi)部的數(shù)據(jù)庫(kù)維護(hù)組件屬于系統(tǒng)管理組件,實(shí)現(xiàn)數(shù)據(jù)庫(kù)備份、恢復(fù)功能。數(shù)據(jù)庫(kù)維護(hù)組件主要調(diào)用數(shù)據(jù)庫(kù)備份、恢復(fù)的。組件接口設(shè)計(jì)設(shè)計(jì)編號(hào)接口名稱接口描述接口提供組件目標(biāo)組件接口調(diào)用方式1文件管理接口文件上傳、下載、查詢文檔管理組件課題過(guò)程管理組件包、業(yè)務(wù)管理組件包、合作資源組件包方法調(diào)用2、流程管理接口流程創(chuàng)建、流轉(zhuǎn)、終止、查詢流程、查詢工作項(xiàng)等工作流組件課題過(guò)程管理組件包、成果管理、信息發(fā)布組件方法調(diào)用3異常處理接口捕獲程序運(yùn)行過(guò)程中出現(xiàn)的系統(tǒng)異常、業(yè)務(wù)異常,并記錄系統(tǒng)異常時(shí)間、描述、所屬模塊、線程等信息。對(duì)于業(yè)務(wù)異常則統(tǒng)一處理用戶反饋?lái)?yè)面。異常處理組件所有組件方法調(diào)用4日志管理接口將程序運(yùn)行過(guò)程中的信息按照DEBUG,INFO,WARN,ERROR,FATAL五個(gè)級(jí)別記錄到日志文件中日志管理組件所有組件方法調(diào)用5合作機(jī)構(gòu)查詢接口使用統(tǒng)一的方法對(duì)合作機(jī)構(gòu)數(shù)據(jù)實(shí)體進(jìn)行查詢,并返回查詢結(jié)果。機(jī)構(gòu)組件課題過(guò)程管理組件包方法調(diào)用6專家查詢接口使用統(tǒng)一的方法對(duì)合作專家數(shù)據(jù)實(shí)體進(jìn)行查詢,并返回查詢結(jié)果。專家組件立項(xiàng)課題組件、備案課題組件。方法調(diào)用系統(tǒng)部署網(wǎng)絡(luò)結(jié)構(gòu)圖研發(fā)類(lèi)課題管理系統(tǒng)部署于開(kāi)發(fā)銀行內(nèi)部生產(chǎn)網(wǎng)段,與外聯(lián)網(wǎng)之間使用防火墻邏輯隔離,內(nèi)外網(wǎng)之間沒(méi)有數(shù)據(jù)訪問(wèn)需求。系統(tǒng)用戶(包括總分行用戶)均需要使用內(nèi)網(wǎng)終端訪問(wèn)本系統(tǒng)。與研發(fā)類(lèi)課題管理系統(tǒng)需要進(jìn)行集成的外部系統(tǒng),如BPM、ECM、ESB、AD系統(tǒng)也均部署于開(kāi)發(fā)銀行內(nèi)部生產(chǎn)網(wǎng)段,從網(wǎng)絡(luò)策略上確??梢曰ハ嘣L問(wèn)。部署模式依據(jù)現(xiàn)有服務(wù)器資源,設(shè)計(jì)了2套部署模式,其中模式一為單機(jī)運(yùn)行,只使用1個(gè)服務(wù)器分區(qū),部署數(shù)據(jù)庫(kù)服務(wù)器、web應(yīng)用服務(wù)器(WAS)、USE運(yùn)行環(huán)境以及研發(fā)類(lèi)課題管理系統(tǒng)應(yīng)用軟件包;模式二為雙機(jī)運(yùn)行,設(shè)計(jì)思路為服務(wù)器1和服務(wù)器2互備運(yùn)行,2臺(tái)服務(wù)器均部署數(shù)據(jù)庫(kù)服務(wù)器、web應(yīng)用服務(wù)器(WAS)、USE運(yùn)行環(huán)境以及研發(fā)類(lèi)課題管理系統(tǒng)應(yīng)用軟件包,其中服務(wù)器1上的web應(yīng)用服務(wù)器(WAS)、USE運(yùn)行環(huán)境以及研發(fā)類(lèi)課題管理系統(tǒng)應(yīng)用軟件包為運(yùn)行狀態(tài),數(shù)據(jù)庫(kù)服務(wù)器為待機(jī)狀態(tài),服務(wù)器2上的web應(yīng)用服務(wù)器(WAS)、USE運(yùn)行環(huán)境以及研發(fā)類(lèi)課題管理系統(tǒng)應(yīng)用軟件包為待機(jī)狀態(tài),數(shù)據(jù)庫(kù)服務(wù)器為運(yùn)行狀態(tài)。具體如下圖所示。模式一的優(yōu)點(diǎn)為節(jié)省服務(wù)器資源,缺點(diǎn)為系統(tǒng)可用性較低,一旦發(fā)生服務(wù)器故障,系統(tǒng)將無(wú)法對(duì)外提供服務(wù)。模式二的優(yōu)點(diǎn)為系統(tǒng)可用性較高,一旦發(fā)生服務(wù)器故障,可利用事先準(zhǔn)備的腳本,快速完成服務(wù)器切換,確保系統(tǒng)服務(wù)正常??紤]到本系統(tǒng)應(yīng)用場(chǎng)景、重要性以及服務(wù)器資源情況,目前采用模式一進(jìn)行部署。在服務(wù)器資源能夠滿足的情況下,優(yōu)先考慮采用方案2進(jìn)行部署。關(guān)鍵技術(shù)及公用機(jī)制關(guān)鍵技術(shù)設(shè)計(jì)SCA服務(wù)面向服務(wù)架構(gòu)(SOA)要求我們將業(yè)務(wù)需求分解為若干個(gè)功能相對(duì)獨(dú)立、可被復(fù)用的服務(wù)單元,通過(guò)服務(wù)之間的相互調(diào)用完成一定的業(yè)務(wù)功能。這種架構(gòu)有利于業(yè)務(wù)重組,它通過(guò)服務(wù)的復(fù)用加速企業(yè)的信息系統(tǒng)開(kāi)發(fā),達(dá)到快速響應(yīng)企業(yè)業(yè)務(wù)變化的要求。OASIS組織發(fā)布的服務(wù)組件架構(gòu)(SCA)是一組SOA編程模型規(guī)范,它描述了利用面向服務(wù)架構(gòu)(SOA)來(lái)構(gòu)建應(yīng)用程序和系統(tǒng)的模型;SCA裝配模型定義了構(gòu)成一個(gè)SCA系統(tǒng)的各種構(gòu)件和他們之間的關(guān)系,包括:組合構(gòu)件(Composite)、構(gòu)件(Component)、服務(wù)(Service)、引用(Reference)、實(shí)現(xiàn)(Implementation)等。系統(tǒng)構(gòu)件裝配是SCA裝配模型的實(shí)現(xiàn)。通過(guò)可視化的方式定義組合構(gòu)件(Composite)中的構(gòu)件(Component)組成,定義構(gòu)件中包含的服務(wù)(Service)、引用(Reference),構(gòu)件引用所指向的構(gòu)件服務(wù)等。下圖是構(gòu)件裝配的概念結(jié)構(gòu)圖,從圖中可以看出,一個(gè)構(gòu)件由服務(wù)(Service)、引用(Reference)、實(shí)現(xiàn)(Implementation)和屬性(Property)四部分組成。一個(gè)構(gòu)件可以有一個(gè)或多個(gè)服務(wù)、引用和屬性,但只能有一個(gè)實(shí)現(xiàn)。服務(wù)和引用的接口(Interface)描述了其操作的范圍;通過(guò)服務(wù)綁定(ServiceBinding)來(lái)對(duì)外暴露服務(wù)的訪問(wèn);通過(guò)引用綁定(ReferenceBinding)來(lái)消費(fèi)服務(wù)。組合構(gòu)件(Composite)作為構(gòu)件的容器對(duì)構(gòu)件進(jìn)行包裝和組織,并作為可發(fā)布的單元進(jìn)行部署。圖7.1SCA服務(wù)構(gòu)件裝配圖對(duì)上圖術(shù)語(yǔ)的詳細(xì)解釋如下表所示:術(shù)語(yǔ)解釋服務(wù)(Service)Service是一系列業(yè)務(wù)功能的集合,將某一個(gè)業(yè)務(wù)功能通過(guò)服務(wù)的方式暴露出來(lái),供外部應(yīng)用訪問(wèn)。服務(wù)可以用多種形式的訪問(wèn)協(xié)議進(jìn)行訪問(wèn),比如WebService,JMS,StatelessSessionBean等。引用(Reference)構(gòu)件的功能由其它構(gòu)件的服務(wù)提供,在構(gòu)件環(huán)境中通過(guò)引用來(lái)進(jìn)行指定。在運(yùn)行時(shí),根據(jù)配置找到引用對(duì)應(yīng)的服務(wù),并注入到構(gòu)件實(shí)現(xiàn)當(dāng)中,類(lèi)似依賴注入。屬性(Property)對(duì)構(gòu)件實(shí)現(xiàn)的字段設(shè)置默認(rèn)值,在構(gòu)件環(huán)境運(yùn)行時(shí),會(huì)把值注入到相應(yīng)的字段中。接口(Interface)接口定義了服務(wù)對(duì)外提供的功能范圍,描述了服務(wù)所包含的操作以及操作的參數(shù)。USE中支持兩種接口的描述形式:JavaInterfaces和WSDLPortType。綁定(Binding)綁定定義了服務(wù)的生產(chǎn)和消費(fèi)的方式,以及訪問(wèn)服務(wù)所采用的協(xié)議。綁定可以分為服務(wù)綁定和引用綁定。服務(wù)綁定,描述了客戶端可以使用什么樣的機(jī)制來(lái)調(diào)用服務(wù)。引用綁定描述了采用什么機(jī)制來(lái)調(diào)用外部的服務(wù)。實(shí)現(xiàn)(Implementation)構(gòu)件的實(shí)現(xiàn)是構(gòu)件服務(wù)功能的具體實(shí)現(xiàn),SCA規(guī)范支持各種各樣的構(gòu)件實(shí)現(xiàn)方式,如:Java實(shí)現(xiàn),C#實(shí)現(xiàn),Python實(shí)現(xiàn)等等。USE目前只支持Java實(shí)現(xiàn),以及USE特有的邏輯構(gòu)件實(shí)現(xiàn)。構(gòu)件(Component)對(duì)外提供服務(wù)功能的單元,定義了構(gòu)件的實(shí)現(xiàn)方式,以及構(gòu)件提供了哪些服務(wù),引用和屬性。組合構(gòu)件(Composite)由一組具有業(yè)務(wù)上相互聯(lián)系的構(gòu)件組成,本身也可以定義對(duì)外的服務(wù)和引用,其實(shí)質(zhì)是一種更大粒度的構(gòu)件。裝配(Assembly)將一組具有業(yè)務(wù)上相互聯(lián)系的構(gòu)件組織到一個(gè)組合構(gòu)件(Composite)中,在這個(gè)組合構(gòu)件中定義構(gòu)件的服務(wù),引用關(guān)系,構(gòu)件的實(shí)現(xiàn)等,這個(gè)過(guò)程稱為裝配。構(gòu)件包(Contribution)在USE中構(gòu)件包(Contribution)作為一個(gè)部署單元,在其中包含了構(gòu)件,構(gòu)件實(shí)現(xiàn)以及一些額外需要的資源,比如:頁(yè)面流、邏輯流、運(yùn)算邏輯、數(shù)據(jù)集、jsp文件等。提升(Promote)組合構(gòu)件中可以把構(gòu)件中的服務(wù)通過(guò)promote的方式對(duì)服務(wù)進(jìn)行重新包裝,添加外部用戶的訪問(wèn)方式。同時(shí)組合構(gòu)件引用是對(duì)一個(gè)或多個(gè)構(gòu)件的一個(gè)或多個(gè)引用的提升,所有的構(gòu)件引用共享相同的配置。連線(wire)定義源構(gòu)件引用連接到目標(biāo)構(gòu)件的服務(wù)上,給引用進(jìn)行賦值。構(gòu)件裝配下圖是構(gòu)件裝配的概念圖:圖7.2SCA服務(wù)構(gòu)件裝配概念圖由上圖可知:一個(gè)組合構(gòu)件可以包含多個(gè)構(gòu)件。每個(gè)構(gòu)件可以定義多個(gè)服務(wù)和引用;服務(wù)和引用通過(guò)"接口描述"來(lái)描述其業(yè)務(wù)功能。

USE中包含了兩種類(lèi)型的接口描述:Java接口和WSDLPortType??梢詾槊總€(gè)構(gòu)件指定至多一個(gè)構(gòu)件實(shí)現(xiàn)。構(gòu)件實(shí)現(xiàn)是構(gòu)件服務(wù)功能的具體實(shí)現(xiàn)??梢詾橐粋€(gè)構(gòu)件定義多個(gè)構(gòu)件屬性??梢詾榉?wù)和引用定義一個(gè)或多個(gè)綁定信息。服務(wù)和引用的默認(rèn)綁定是SCA綁定。SDO數(shù)據(jù)對(duì)象ServiceDataObject,服務(wù)數(shù)據(jù)對(duì)象。為服務(wù)和應(yīng)用提供一個(gè)簡(jiǎn)單統(tǒng)一的數(shù)據(jù)模型。USE支持SDO2.0規(guī)范,在數(shù)據(jù)傳輸過(guò)程缺省的對(duì)象類(lèi)型是SDO對(duì)象。SDO對(duì)象可以根據(jù)實(shí)際的數(shù)據(jù)源決定它的實(shí)際表現(xiàn),在使用過(guò)程中可以不必考慮其后端的實(shí)際數(shù)據(jù)類(lèi)型和構(gòu)建方法。公用機(jī)制說(shuō)明USE平臺(tái)應(yīng)用技術(shù)架構(gòu)模型的三個(gè)維度軟件技術(shù)架構(gòu)用來(lái)處理軟件高層次結(jié)構(gòu)的設(shè)計(jì)和實(shí)施。它以精心選擇的形式將若干結(jié)構(gòu)元素進(jìn)行裝配,從而滿足系統(tǒng)主要功能需求,并滿足其他非功能性需求,如可靠性、可伸縮性、可移植性和可用性。我們用多個(gè)視圖或視角組成的模型來(lái)描述它,該模型包括下列視角:邏輯結(jié)構(gòu)視圖邏輯結(jié)構(gòu)主要支持功能性需求,即在為用戶提供功能方面系統(tǒng)所應(yīng)該提供的能力。一般基于流程的方式進(jìn)行系統(tǒng)功能的分解,將系統(tǒng)分解為一系列的關(guān)鍵抽象,這些抽象大多數(shù)來(lái)自于面向功能的問(wèn)題域,可以劃分為業(yè)務(wù)流程問(wèn)題域、業(yè)務(wù)問(wèn)題域、技術(shù)問(wèn)題域,采用組件的方式表現(xiàn)為業(yè)務(wù)流程、領(lǐng)域框架、應(yīng)用基礎(chǔ)框架、技術(shù)組件。技術(shù)實(shí)現(xiàn)視圖技術(shù)實(shí)現(xiàn)視圖從具體實(shí)現(xiàn)技術(shù)視角描述了系統(tǒng)的分層結(jié)構(gòu),每層均具有良好定義的職責(zé),某層子系統(tǒng)依賴同一層或低一層的子系統(tǒng),從而最大程度地減少了具有復(fù)雜模塊依賴關(guān)系,得到層次式的簡(jiǎn)單策略,提高系統(tǒng)的穩(wěn)定度,減少開(kāi)發(fā)量。基于USE平臺(tái)的JavaEE系統(tǒng)的技術(shù)分層結(jié)構(gòu)自底向上包括資源層、邏輯層、服務(wù)層、流程層和協(xié)同層。非功能需求視圖非功能需求包括系統(tǒng)的安全性、可管理性、可靠性、可用性和擴(kuò)展性,定義了系統(tǒng)如何滿足功能需求之外的其他隱式需求。這些需求可以通過(guò)一個(gè)監(jiān)控管理框架來(lái)提供,該框架包含系統(tǒng)共性能監(jiān)控、應(yīng)用與平臺(tái)配置、管理儀表盤(pán)、服務(wù)水平與質(zhì)量、仿真與虛擬化等。圖STYLEREF1\s2SEQ圖\*ARABIC\s13USE平臺(tái)的應(yīng)用技術(shù)架構(gòu)模型在面向服務(wù)的體系架構(gòu)中,針對(duì)上述的架構(gòu)模型,規(guī)劃了支撐上述3個(gè)視角的技術(shù)框架和規(guī)范:組件模型系統(tǒng)的邏輯結(jié)構(gòu)由一系列組件組成,每個(gè)組件分別負(fù)責(zé)一組功能,提供本地調(diào)用接口、對(duì)外服務(wù)、用戶操作界面等?!督M件規(guī)范》定義了組件自身的特性,設(shè)計(jì)系統(tǒng)邏輯結(jié)構(gòu)的過(guò)程,實(shí)際上就是將系統(tǒng)拆分為組件的過(guò)程(系統(tǒng)分解過(guò)程參看《USE平臺(tái)項(xiàng)目實(shí)施方法論》)。在一個(gè)基于組件的應(yīng)用系統(tǒng)中,組件包是可部署的單元,因此系統(tǒng)的物理結(jié)構(gòu)是以組件包為基本單位的。基于組件的技術(shù)架構(gòu)基于組件包的技術(shù)架構(gòu)是針對(duì)JavaEE系統(tǒng)技術(shù)分層結(jié)構(gòu)的具體規(guī)劃,系統(tǒng)將根據(jù)業(yè)務(wù)和技術(shù)的需要分解為多個(gè)組件包,在組件包內(nèi)根據(jù)邏輯功能特性劃分為協(xié)同層、流程層、服務(wù)層、邏輯層和資源層。在實(shí)現(xiàn)組件包的過(guò)程中,允許對(duì)上述層次進(jìn)行裁減,例如很多組件包就只有服務(wù)層和邏輯層代碼即可。管理監(jiān)控架構(gòu)為了滿足對(duì)應(yīng)用系統(tǒng)的非功能性需求,在JavaEE應(yīng)用系統(tǒng)中需要一個(gè)面向管理監(jiān)控的框架,這個(gè)框架采用微內(nèi)核結(jié)合擴(kuò)展點(diǎn)的架構(gòu)模式,能夠靈活的擴(kuò)展管理監(jiān)控內(nèi)容,以便于非功能需求的實(shí)現(xiàn)與具體業(yè)務(wù)的實(shí)現(xiàn)相分離。USEServerUSEServer(USE運(yùn)行環(huán)境)是支撐SOA應(yīng)用和服務(wù)的運(yùn)行環(huán)境,USEServer由SCA(ServiceComponentArchitecture)容器、構(gòu)件運(yùn)行環(huán)境、頁(yè)面流引擎、邏輯流引擎、系統(tǒng)服務(wù)、基礎(chǔ)服務(wù)等核心模塊組成。USEServer是一個(gè)面向SOA的基礎(chǔ)設(shè)施,實(shí)現(xiàn)了SOA的核心編程模型SCA1.0、SDO2.1的標(biāo)準(zhǔn)規(guī)范。根據(jù)USE平臺(tái)的建設(shè)目標(biāo),USEServer保障了SOA應(yīng)用或服務(wù)穩(wěn)定、安全、可靠、高效、可擴(kuò)展地運(yùn)行。USEServer運(yùn)行在標(biāo)準(zhǔn)的J2EE應(yīng)用服務(wù)器之上,支持主流的應(yīng)用服務(wù)器(如:WebSphere、WebLogic、JBoss、Tomcat等)和主流的數(shù)據(jù)庫(kù)(Oracle、DB2、MSSQLServer、Informix、Sybase等)。USE數(shù)據(jù)處理USE采用的編程模型是:流程+數(shù)據(jù)+人機(jī)交互。其中流程包括:頁(yè)面流和邏輯流;數(shù)據(jù)包括持久化實(shí)體和非持久化實(shí)體,并采用SDO標(biāo)準(zhǔn)來(lái)描述這些數(shù)據(jù)的格式;人機(jī)交互采用富客戶端控件來(lái)實(shí)現(xiàn)。以下內(nèi)容闡述在USE的技術(shù)架構(gòu)下,數(shù)據(jù)是如何存儲(chǔ),如何被獲取以及如何在流程和客戶端之間傳遞。數(shù)據(jù)上下文USE中所有的數(shù)據(jù)都是通過(guò)數(shù)據(jù)上下文來(lái)存儲(chǔ)的。數(shù)據(jù)上下文是一個(gè)有固定分區(qū)的數(shù)據(jù)容器,它采用統(tǒng)一的Xpath語(yǔ)法對(duì)對(duì)象樹(shù)進(jìn)行取值和設(shè)值操作。在使用數(shù)據(jù)上下文時(shí),只需要使用Xpath定位數(shù)據(jù)即可,不需要知道內(nèi)部的具體數(shù)據(jù)類(lèi)型。數(shù)據(jù)上下文分為多種數(shù)據(jù)區(qū),其中包括請(qǐng)求上下文數(shù)據(jù)區(qū)、會(huì)話上下文數(shù)據(jù)區(qū)、頁(yè)面流上下文數(shù)據(jù)區(qū)、邏輯流上下文數(shù)據(jù)區(qū)、MUO上下文數(shù)據(jù)區(qū)、流程上下文數(shù)據(jù)區(qū)。如下圖所示。圖7.3USE數(shù)據(jù)上下文每一種數(shù)據(jù)區(qū)的生命周期是不同的,由USEServer統(tǒng)一管理。詳細(xì)描述參下表所示。數(shù)據(jù)區(qū)名稱使用模塊描述請(qǐng)求上下文頁(yè)面流請(qǐng)求上下文數(shù)據(jù)區(qū)中放置的是一個(gè)完整的HttpRequest/Response過(guò)程中頁(yè)面流產(chǎn)生的數(shù)據(jù)。當(dāng)一個(gè)頁(yè)面流實(shí)例接受到一個(gè)HTTP請(qǐng)求后,引擎創(chuàng)建一個(gè)請(qǐng)求上下文數(shù)據(jù)區(qū),當(dāng)引擎響應(yīng)這個(gè)HTTPRequest后,引擎銷(xiāo)毀這個(gè)請(qǐng)求上下文數(shù)據(jù)區(qū)。頁(yè)面流上下文頁(yè)面流上下文數(shù)據(jù)區(qū)和一個(gè)頁(yè)面流實(shí)例的生命周期是一致的。會(huì)話上下文會(huì)話上下文的生命周期與HTTPSession的生命周期是一致的,會(huì)話上下文數(shù)據(jù)區(qū)的數(shù)據(jù)來(lái)自與HTTPSession中的數(shù)據(jù)。邏輯流上下文邏輯流邏輯流上下文數(shù)據(jù)區(qū)的生命周期與邏輯流的生命周期是一致的。當(dāng)一個(gè)邏輯流實(shí)例結(jié)束時(shí),引擎會(huì)銷(xiāo)毀這個(gè)邏輯流對(duì)應(yīng)的邏輯流上下文數(shù)據(jù)區(qū)。MUO上下文MUO上下文是受管用戶對(duì)象上下文,是為了在邏輯流、運(yùn)算邏輯中防止用戶隨意使用Http會(huì)話中的數(shù)據(jù),而構(gòu)造的一個(gè)受管數(shù)據(jù)上下文區(qū)。用戶需要在USEGovernor中配置MUO中需要存放的數(shù)據(jù)對(duì)象,這些對(duì)象才能在邏輯流和運(yùn)算邏輯中使用。數(shù)據(jù)流轉(zhuǎn)過(guò)程圖7.4USE數(shù)據(jù)流轉(zhuǎn)過(guò)程示例如上圖所示,USE的核心數(shù)據(jù)流程是:客戶端瀏覽器發(fā)起HTTP請(qǐng)求,通過(guò)Key/Value對(duì)的形式將數(shù)據(jù)傳輸?shù)椒?wù)器端;頁(yè)面流引擎接到HTTP請(qǐng)求后將Key/Value對(duì)象轉(zhuǎn)換為SDO對(duì)象,傳遞給頁(yè)面流實(shí)例;頁(yè)面流調(diào)用邏輯流時(shí),將SDO對(duì)象傳遞給邏輯流引擎;邏輯流引擎又會(huì)將SDO對(duì)象傳遞給邏輯流實(shí)例;邏輯流調(diào)用運(yùn)算構(gòu)件時(shí),傳入SDO對(duì)象。運(yùn)算構(gòu)件訪問(wèn)數(shù)據(jù)服務(wù)完成業(yè)務(wù)操作后產(chǎn)生SDO類(lèi)型的返回結(jié)果;邏輯流引擎將返回結(jié)果傳遞給頁(yè)面流引擎;頁(yè)面流引擎又將返回結(jié)果轉(zhuǎn)發(fā)給JSP頁(yè)面;JSP頁(yè)面響應(yīng)這個(gè)HTTP請(qǐng)求,返回到客戶端瀏覽器,顯示返回結(jié)果。完成一次數(shù)據(jù)流轉(zhuǎn)。USE數(shù)據(jù)傳輸過(guò)程,缺省的對(duì)象類(lèi)型是SDO對(duì)象,但是用戶也可以采用自定義類(lèi)型,比如POJO、W3CDOM等等。數(shù)據(jù)處理過(guò)程在介紹了數(shù)據(jù)上下文的分類(lèi)和數(shù)據(jù)流轉(zhuǎn)的原理后,再分析一下頁(yè)面流、邏輯流各自的數(shù)據(jù)處理過(guò)程。頁(yè)面流數(shù)據(jù)處理頁(yè)面流使用到的數(shù)據(jù)上下文分為三個(gè)數(shù)據(jù)區(qū),包括會(huì)話上下文數(shù)據(jù)區(qū),請(qǐng)求上下文數(shù)據(jù)區(qū),頁(yè)面流上下文數(shù)據(jù)區(qū)。如下圖所示。圖7.5頁(yè)面流數(shù)據(jù)處理示意圖會(huì)話上下文數(shù)據(jù)區(qū)會(huì)話上下文數(shù)據(jù)區(qū)存儲(chǔ)的數(shù)據(jù)是當(dāng)前用戶所在的HTTP會(huì)話數(shù)據(jù)的一個(gè)映射。開(kāi)發(fā)頁(yè)面流的時(shí)候可以使用s:XPATH_EXPRESSION來(lái)訪問(wèn)會(huì)話數(shù)據(jù)區(qū)中的數(shù)據(jù),訪問(wèn)會(huì)話數(shù)據(jù)區(qū)中表達(dá)式的前綴為s:。請(qǐng)求上下文數(shù)據(jù)區(qū)請(qǐng)求上下文數(shù)據(jù)區(qū)中放置的是一個(gè)完整的HttpRequest/Response過(guò)程中產(chǎn)生的數(shù)據(jù),當(dāng)USE的頁(yè)面引擎接受到一個(gè)HTTPRequest的請(qǐng)求后,它會(huì)將這個(gè)請(qǐng)求的Key/Value參數(shù)按照規(guī)則,轉(zhuǎn)換成一個(gè)或者多個(gè)Java對(duì)象放入到請(qǐng)求上下文數(shù)據(jù)區(qū)中;也可以使用復(fù)制圖元訪問(wèn)或創(chuàng)建請(qǐng)求上下文數(shù)據(jù)區(qū)中的數(shù)據(jù);調(diào)用業(yè)務(wù)邏輯或者服務(wù)的返回值也可以設(shè)置到請(qǐng)求上下文的數(shù)據(jù)區(qū)中。訪問(wèn)請(qǐng)求上下文數(shù)據(jù)區(qū)中的數(shù)據(jù)可以采用r:XPATH_EXPRESSION或者不帶前綴,直接使用XPATH_EXPRESSION訪問(wèn)請(qǐng)求上下文數(shù)據(jù)區(qū)中的數(shù)據(jù)。頁(yè)面流上下文數(shù)據(jù)區(qū)頁(yè)面流上下文數(shù)據(jù)區(qū)存儲(chǔ)的是在頁(yè)面流里定義的變量或者對(duì)象,訪問(wèn)頁(yè)面流上下文的表達(dá)式為f:XPATH_EXPRESSION。頁(yè)面流上下文數(shù)據(jù)區(qū)的數(shù)據(jù)生命周期相當(dāng)于頁(yè)面流流程級(jí)別的變量,在一個(gè)頁(yè)面流實(shí)例中的不同的頁(yè)面,業(yè)務(wù)邏輯,賦值操作都可以使用頁(yè)面流上下文中的數(shù)據(jù)。邏輯流數(shù)據(jù)處理邏輯流使用到的數(shù)據(jù)上下文為兩個(gè)數(shù)據(jù)區(qū),包括MUO上下文數(shù)據(jù)區(qū)和邏輯流上下文數(shù)據(jù)區(qū)。MUO上下文數(shù)據(jù)區(qū)MUO上下文數(shù)據(jù)區(qū)中存放的是受管用戶數(shù)據(jù)對(duì)象,訪問(wèn)的方式采用m:XPATH_EXPRESSION樣式的表達(dá)式來(lái)訪問(wèn)和更新數(shù)據(jù)。在邏輯流中涉及用戶數(shù)據(jù)(HttpSession)傳遞的過(guò)程時(shí),因只允許對(duì)用戶的部分?jǐn)?shù)據(jù)有存取權(quán)限,這時(shí)就需要根據(jù)session中的部分?jǐn)?shù)據(jù)構(gòu)造一個(gè)受控的用戶數(shù)據(jù)對(duì)象,用戶只能對(duì)該受管用戶數(shù)據(jù)對(duì)象做操作。邏輯流上下文數(shù)據(jù)區(qū)邏輯流上下文數(shù)據(jù)區(qū)和頁(yè)面流的請(qǐng)求上下文數(shù)據(jù)區(qū)比較類(lèi)似,如果把一個(gè)邏輯流比作是一個(gè)Java方法,那么邏輯流上下文數(shù)據(jù)區(qū)中的數(shù)據(jù)包含的是這個(gè)Jav

溫馨提示

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

評(píng)論

0/150

提交評(píng)論