基于CXF框架的可配置化企業(yè)內容管理平臺Web服務(通訊)
侯斌,涂紅兵,王云福
(中廣核工程有限公司,廣東深圳518172)
摘要:在對企業(yè)內容管理平臺Web服務的主要業(yè)務以及實施技術方案進行比較分析后,提出通過表接口與CXF框架結合來構建企業(yè)內容管理平臺Web服務的方案,并在該方案的基礎上,設計了Web服務的配置化模塊來增強其可擴展性。該方案兼顧了業(yè)務上對于Web服務時效性以及穩(wěn)定性的要求,同時減少了由于系統(tǒng)業(yè)務變化而導致的Web服務的頻繁變更。
關鍵詞:CXF框架;企業(yè)內容管理平臺;Web服務;可配置化
中圖分類號:TP302 doi: 10.11959/j.issn.1000-0801.2016140
1 引言
隨著企業(yè)信息化水平的不斷提升,在企業(yè)生產(chǎn)和管理過程中產(chǎn)生的結構化和非結構化數(shù)據(jù)量也隨之顯著增長。這些數(shù)據(jù)是企業(yè)最為重要的資產(chǎn)之一,對于企業(yè)的發(fā)展及創(chuàng)新有著重要的意義,因此企業(yè)通常都會將此類數(shù)據(jù)歸檔至企業(yè)內容管理平臺中進行統(tǒng)一的管理以及利用。作為企業(yè)的數(shù)據(jù)中心,企業(yè)內容管理平臺會和眾多的企業(yè)生產(chǎn)管理信息系統(tǒng)進行數(shù)據(jù)交互,如何為這些外部信息系統(tǒng)建立高通用性、高實時性、高擴展性和高可靠性的接口服務,成為企業(yè)內容管理平臺所面臨的一大挑戰(zhàn);Apache CXF開源框架構建的Web服務能夠方便地與其他如Spring這樣的輕量級框架結合使用,提供豐富的接口及方法,結合配置化Web服務設計,就能夠成為企業(yè)內容管理平臺Web服務的廉價且高質量的解決方案。
2研究背景及現(xiàn)狀
設計文檔管理系統(tǒng)(design document managementsystem,DDMS)是中廣核工程有限公司設計院建立的企業(yè)內容管理平臺。作為企業(yè)的數(shù)據(jù)中心,它與設計院的設計生產(chǎn)管理平臺、公司OA( office automation)、UPM (unifiedprocess management), SAP(systems applications, and productsin data processing)等眾多系統(tǒng)有數(shù)據(jù)交互。數(shù)據(jù)接口關系如圖1所示。
從圖1可以得知,最初的接口服務架構方式至少存在以下幾點問題:與各系統(tǒng)的服務分散,難以集中管控;大量每日定期同步服務,數(shù)據(jù)實時性較低:無可配置化模塊,當業(yè)務變更時,開發(fā)周期長:缺少審計模塊,錯誤數(shù)據(jù)難以跟蹤,可靠性低。為此,本文提出基于CXF框架的企業(yè)內容管理平臺統(tǒng)- Web服務構建方案,結合以可配置化的模塊設計,以實現(xiàn)平臺Web服務的高通用性、高實時性、高擴展性和高可靠性。
3 Web服務整體設計方案
考慮到企業(yè)內容管理平臺的業(yè)務特點,它所提供的Web服務通常要考慮并解決以下4個關鍵問題。
·通用性問題。企業(yè)內容管理平臺作為企業(yè)的數(shù)據(jù)中心,一般會與很多外部系統(tǒng)存在數(shù)據(jù)接口。從系統(tǒng)開發(fā)和運維的角度出發(fā),很難為每個系統(tǒng)的業(yè)務都定制開發(fā)單獨的接口,因此企業(yè)內容管理平臺所提供的Web服務必須具有良好的通用性,要對具體的業(yè)務進行抽象,并提供標準的接口給不同的外部系統(tǒng)使用。
·實時性問題。即數(shù)據(jù)傳送的實時性。作為數(shù)據(jù)交互的通用方式,企業(yè)內容管理平臺Web服務有著大量的電子文件傳遞的任務,它必須能夠提供足夠大的服務吞吐量,更快地完成數(shù)據(jù)交互。
·擴展性問題。企業(yè)管理的業(yè)務需求是不斷變化的,一個好的企業(yè)內容管理平臺Web服務必須能夠快速地支持需求的變化,但僅僅通過代碼變更來支持需求的變化,效率較低,且周期較長,無法滿足快速的業(yè)務需求變更。
·可靠性問題。數(shù)據(jù)交互中最重要的就是保證其可靠性。各系統(tǒng)數(shù)據(jù)的差異,軟件、硬件或網(wǎng)絡環(huán)境問題都有可能造成在外部系統(tǒng)與企業(yè)內容管理平臺在進行數(shù)據(jù)交互過程中產(chǎn)生錯誤。只有能夠快速地發(fā)現(xiàn)并處理這些錯誤,才能保證數(shù)據(jù)交互的可靠性。
本文基于CXF框架,結合設計文檔管理平臺標準(API-documentum foundation classe,DFC),首先提出通過配置化的方式構建企業(yè)內容管理平臺Web服務。
3.1 系統(tǒng)結構設計
企業(yè)內容管理平臺Web服務的重點業(yè)務一般包含取號、歸檔、數(shù)據(jù)回寫、查詢、作廢、授權等,其中歸檔業(yè)務由于存在電子文件的傳遞,消耗時間長,消耗計算機資源多,如果直接采用Web服務進行電子文件的數(shù)據(jù)傳遞,會存在大文件傳遞超時、程序內存溢出等性能問題。為保證服務的實時性和穩(wěn)定性,在Web服務設計中,針對歸檔業(yè)務采用異步的方式,即各業(yè)務系統(tǒng)上報的歸檔數(shù)據(jù)首先保存在企業(yè)內容管理平臺Web服務的表接口數(shù)據(jù)庫中,然后再由歸檔業(yè)務組件從表接口數(shù)據(jù)庫中取數(shù)據(jù)并歸檔到企業(yè)內容管理平臺中;對于其他消耗資源少、響應較快的業(yè)務,采取同步的方式。設計文檔管理平臺Web服務的整體系統(tǒng)結構設計如圖2所示。
各模塊的功能說明見表1。
3.2系統(tǒng)框架
為保證Web服務的可擴展性,企業(yè)內容管理平臺適合使用輕量級的框架用于構建其Web服務。同時,考慮到系統(tǒng)的結構清晰及可維護性,企業(yè)內容管理平臺Web服務采用MVC設計模式,層次劃分為:表現(xiàn)層、控制器層、業(yè)務邏輯層、數(shù)據(jù)訪問對象(data access object,DAO)層、領域對象(domain object)層。采用3個開源框架:ApacheCXF、Spring Framework、Hibemate.
系統(tǒng)整體技術架構如圖3所示。
各功能層次的說明及設計思路見表2。
4 Web服務配置化設計方案
根據(jù)設計文檔管理平臺Web服務業(yè)務梳理出以下可能通過配置化實現(xiàn)的業(yè)務,包括授權業(yè)務、取號業(yè)務以及數(shù)據(jù)回寫業(yè)務。配置化設計的基本思路是設計配置規(guī)則表,將數(shù)據(jù)的授權規(guī)則,取號規(guī)則和數(shù)據(jù)回寫規(guī)則寫入數(shù)據(jù)庫中。程序僅實現(xiàn)各業(yè)務邏輯的通用部分,具體某項目、某個類型的授權、取號或回寫規(guī)則,都通過讀取數(shù)據(jù)庫的配置映射到具體規(guī)則,然后執(zhí)行對應的邏輯代碼。以下通過授權業(yè)務和數(shù)據(jù)回寫業(yè)務為例,說明設計文檔管理平臺
Web服務配置化設計方案。
4.1 授權業(yè)務配置化
授權業(yè)務就是按照所歸檔文檔的類型和數(shù)據(jù)條件,為其指定對應的ACL_ domain以及ACL_ name的業(yè)務,對于所有類型,都會給定默認的ACL_ name以及ACL_ domain。對于有特殊權限要求的類型和數(shù)據(jù)條件的文檔,單獨配置ACL_ name和ACL_ domain進行授權按業(yè)務的指定。
授權配置保存在數(shù)據(jù)庫中。授權配置包含兩個表,一個是權限規(guī)則主表(data_ ACL_ apply_ rule),保存ACL名稱及域名規(guī)則和文件類型及項目條件,見表3。另一個是權限規(guī)則匹配條件表( data_ ACL_ apply_ cond),保存規(guī)則的適用數(shù)據(jù)條件,見表4。
規(guī)則匹配過程如圖4所示。
4.2數(shù)據(jù)回寫業(yè)務配置化
數(shù)據(jù)回寫業(yè)務就是依據(jù)數(shù)據(jù)源提供的關聯(lián)數(shù)據(jù)信息,找到文檔系統(tǒng)中已經(jīng)歸檔的數(shù)據(jù),將指定信息反寫至目標文檔的業(yè)務邏輯,F(xiàn)設計文檔管理平臺數(shù)據(jù)回寫業(yè)務如下:Work Ready工程函件回寫WR渠道號以及WR日期字段至工程文件:DRCS工程函件回寫DRCS渠道號至工程文件;交付函件回寫對外交付渠道號至工程文件。
回寫配置保存在數(shù)據(jù)庫的data_ rewrite_ rule表中,見表5。
數(shù)組的各個值之間以分號“;”分隔,使用反寫規(guī)則進行數(shù)據(jù)回寫的業(yè)務邏輯如圖5所示。
5解決方案的應用
綜合上述基于CXF框架的可配置化企業(yè)內容管理平臺Web服務構建方案的研究,設計出的設計文檔管理平臺統(tǒng)- Web服務(design document unified data service,DUDS).已經(jīng)投產(chǎn)使用。目前平均每月處理各類型文檔服務請求超過5萬次,其服務響應時間較原來的服務有了極大的提高,耗時最長文檔的歸檔請求,在2 min以內亦可處理完畢,其他業(yè)務請求均為實時響應。另外,服務的穩(wěn)定性得到了極大提升。加之配套的文檔監(jiān)控系統(tǒng),可以實時監(jiān)控并處理問題數(shù)據(jù),使得設計文檔管理平臺接口服務水平極大地提升,同時降低了系統(tǒng)的運維成本。
6結束語
本文所研究的基于CXF框架的可配置化企業(yè)內容管理平臺Web服務構建方案,從解決大型企業(yè)內容管理平臺中大量的接口服務的難點出發(fā),提出通過CXF框架與其他輕量級應用框架結合的方式,同時附加配置化模塊設計的技術方案,提高了Web服務的通用性、實時性、擴展性和可靠性。目前系統(tǒng)已經(jīng)投產(chǎn),運行效果良好。
隨著數(shù)據(jù)規(guī)模的增長以及外部接口系統(tǒng)范圍的進一步擴大,企業(yè)內容管理平臺Web服務后端硬件環(huán)境架構可能成為新的系統(tǒng)瓶頸。通過負載均衡方案分散前端Web服務壓力和通過虛擬化或分布式部署等技術為Web服務后端提供更加穩(wěn)定可靠的架構也將具有十分重要的意義;诒疚默F(xiàn)在的工作,未來的研究方向將會是Web服務前端程序設計優(yōu)化和后端硬件架構優(yōu)化的系統(tǒng)整體架構方案。