侯斌,涂紅兵,王云福
(中廣核工程有限公司,廣東 深圳 518172)
基于CXF框架的可配置化企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)
侯斌,涂紅兵,王云福
(中廣核工程有限公司,廣東 深圳 518172)
在對(duì)企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)的主要業(yè)務(wù)以及實(shí)施技術(shù)方案進(jìn)行比較分析后,提出通過(guò)表接口與CXF框架結(jié)合來(lái)構(gòu)建企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)的方案,并在該方案的基礎(chǔ)上,設(shè)計(jì)了Web服務(wù)的配置化模塊來(lái)增強(qiáng)其可擴(kuò)展性。該方案兼顧了業(yè)務(wù)上對(duì)于Web服務(wù)時(shí)效性以及穩(wěn)定性的要求,同時(shí)減少了由于系統(tǒng)業(yè)務(wù)變化而導(dǎo)致的Web服務(wù)的頻繁變更。
CXF框架;企業(yè)內(nèi)容管理平臺(tái);Web服務(wù);可配置化
隨著企業(yè)信息化水平的不斷提升,在企業(yè)生產(chǎn)和管理過(guò)程中產(chǎn)生的結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)量也隨之顯著增長(zhǎng)。這些數(shù)據(jù)是企業(yè)最為重要的資產(chǎn)之一,對(duì)于企業(yè)的發(fā)展及創(chuàng)新有著重要的意義,因此企業(yè)通常都會(huì)將此類數(shù)據(jù)歸檔至企業(yè)內(nèi)容管理平臺(tái)中進(jìn)行統(tǒng)一的管理以及利用。作為企業(yè)的數(shù)據(jù)中心,企業(yè)內(nèi)容管理平臺(tái)會(huì)和眾多的企業(yè)生產(chǎn)管理信息系統(tǒng)進(jìn)行數(shù)據(jù)交互,如何為這些外部信息系統(tǒng)建立高通用性、高實(shí)時(shí)性、高擴(kuò)展性和高可靠性的接口服務(wù),成為企業(yè)內(nèi)容管理平臺(tái)所面臨的一大挑戰(zhàn)?;贏pache CXF開(kāi)源框架構(gòu)建的Web服務(wù)能夠方便地與其他如Spring這樣的輕量級(jí)框架結(jié)合使用,提供豐富的接口及方法,結(jié)合配置化Web服務(wù)設(shè)計(jì),就能夠成為企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)的廉價(jià)且高質(zhì)量的解決方案。
設(shè)計(jì)文檔管理系統(tǒng) (design document management system,DDMS)是中廣核工程有限公司設(shè)計(jì)院建立的企業(yè)內(nèi)容管理平臺(tái)。作為企業(yè)的數(shù)據(jù)中心,它與設(shè)計(jì)院的設(shè)計(jì)生產(chǎn)管理平臺(tái)、公司 OA(office automation)、UPM (unified process management),SAP(systems applications,and products in data processing)等眾多系統(tǒng)有數(shù)據(jù)交互。數(shù)據(jù)接口關(guān)系如圖1所示。
從圖1可以得知,最初的接口服務(wù)架構(gòu)方式至少存在以下幾點(diǎn)問(wèn)題:與各系統(tǒng)的服務(wù)分散,難以集中管控;大量每日定期同步服務(wù),數(shù)據(jù)實(shí)時(shí)性較低;無(wú)可配置化模塊,當(dāng)業(yè)務(wù)變更時(shí),開(kāi)發(fā)周期長(zhǎng);缺少審計(jì)模塊,錯(cuò)誤數(shù)據(jù)難以跟蹤,可靠性低。為此,本文提出基于CXF框架的企業(yè)內(nèi)容管理平臺(tái)統(tǒng)一Web服務(wù)構(gòu)建方案,結(jié)合以可配置化的模塊設(shè)計(jì),以實(shí)現(xiàn)平臺(tái)Web服務(wù)的高通用性、高實(shí)時(shí)性、高擴(kuò)展性和高可靠性。
考慮到企業(yè)內(nèi)容管理平臺(tái)的業(yè)務(wù)特點(diǎn),它所提供的Web服務(wù)通常要考慮并解決以下4個(gè)關(guān)鍵問(wèn)題。
·通用性問(wèn)題。企業(yè)內(nèi)容管理平臺(tái)作為企業(yè)的數(shù)據(jù)中心,一般會(huì)與很多外部系統(tǒng)存在數(shù)據(jù)接口。從系統(tǒng)開(kāi)發(fā)和運(yùn)維的角度出發(fā),很難為每個(gè)系統(tǒng)的業(yè)務(wù)都定制開(kāi)發(fā)單獨(dú)的接口,因此企業(yè)內(nèi)容管理平臺(tái)所提供的Web服務(wù)必須具有良好的通用性,要對(duì)具體的業(yè)務(wù)進(jìn)行抽象,并提供標(biāo)準(zhǔn)的接口給不同的外部系統(tǒng)使用。
· 實(shí)時(shí)性問(wèn)題。即數(shù)據(jù)傳送的實(shí)時(shí)性。作為數(shù)據(jù)交互的通用方式,企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)有著大量的電子文件傳遞的任務(wù),它必須能夠提供足夠大的服務(wù)吞吐量,更快地完成數(shù)據(jù)交互。
圖1 設(shè)計(jì)文檔平臺(tái)數(shù)據(jù)接口關(guān)系
·擴(kuò)展性問(wèn)題。企業(yè)管理的業(yè)務(wù)需求是不斷變化的,一個(gè)好的企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)必須能夠快速地支持需求的變化,但僅僅通過(guò)代碼變更來(lái)支持需求的變化,效率較低,且周期較長(zhǎng),無(wú)法滿足快速的業(yè)務(wù)需求變更。
·可靠性問(wèn)題。數(shù)據(jù)交互中最重要的就是保證其可靠性。各系統(tǒng)數(shù)據(jù)的差異,軟件、硬件或網(wǎng)絡(luò)環(huán)境問(wèn)題都有可能造成在外部系統(tǒng)與企業(yè)內(nèi)容管理平臺(tái)在進(jìn)行數(shù)據(jù)交互過(guò)程中產(chǎn)生錯(cuò)誤。只有能夠快速地發(fā)現(xiàn)并處理這些錯(cuò)誤,才能保證數(shù)據(jù)交互的可靠性。
本文基于CXF框架,結(jié)合設(shè)計(jì)文檔管理平臺(tái)標(biāo)準(zhǔn)(API-documentum foundation classe,DFC),首先提出通過(guò)配置化的方式構(gòu)建企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)。
企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)的重點(diǎn)業(yè)務(wù)一般包含取號(hào)、歸檔、數(shù)據(jù)回寫(xiě)、查詢、作廢、授權(quán)等,其中歸檔業(yè)務(wù)由于存在電子文件的傳遞,消耗時(shí)間長(zhǎng),消耗計(jì)算機(jī)資源多,如果直接采用Web服務(wù)進(jìn)行電子文件的數(shù)據(jù)傳遞,會(huì)存在大文件傳遞超時(shí)、程序內(nèi)存溢出等性能問(wèn)題。為保證服務(wù)的實(shí)時(shí)性和穩(wěn)定性,在Web服務(wù)設(shè)計(jì)中,針對(duì)歸檔業(yè)務(wù)采用異步的方式,即各業(yè)務(wù)系統(tǒng)上報(bào)的歸檔數(shù)據(jù)首先保存在企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)的表接口數(shù)據(jù)庫(kù)中,然后再由歸檔業(yè)務(wù)組件從表接口數(shù)據(jù)庫(kù)中取數(shù)據(jù)并歸檔到企業(yè)內(nèi)容管理平臺(tái)中;對(duì)于其他消耗資源少、響應(yīng)較快的業(yè)務(wù),采取同步的方式。設(shè)計(jì)文檔管理平臺(tái)Web服務(wù)的整體系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如圖2所示。
各模塊的功能說(shuō)明見(jiàn)表1。
圖2 設(shè)計(jì)文檔管理平臺(tái)Web服務(wù)的整體系統(tǒng)結(jié)構(gòu)
表1 設(shè)計(jì)文檔管理平臺(tái)Web服務(wù)功能模塊說(shuō)明
為保證Web服務(wù)的可擴(kuò)展性,企業(yè)內(nèi)容管理平臺(tái)適合使用輕量級(jí)的框架用于構(gòu)建其Web服務(wù)。同時(shí),考慮到系統(tǒng)的結(jié)構(gòu)清晰及可維護(hù)性,企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)采用MVC設(shè)計(jì)模式,層次劃分為:表現(xiàn)層、控制器層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)對(duì)象(data access object,DAO)層、領(lǐng)域?qū)ο?(domain object)層。采用 3個(gè)開(kāi)源框架:Apache CXF、Spring Framework、Hibernate。
系統(tǒng)整體技術(shù)架構(gòu)如圖3所示。
各功能層次的說(shuō)明及設(shè)計(jì)思路見(jiàn)表2。
根據(jù)設(shè)計(jì)文檔管理平臺(tái)Web服務(wù)業(yè)務(wù)梳理出以下可能通過(guò)配置化實(shí)現(xiàn)的業(yè)務(wù),包括授權(quán)業(yè)務(wù)、取號(hào)業(yè)務(wù)以及數(shù)據(jù)回寫(xiě)業(yè)務(wù)。配置化設(shè)計(jì)的基本思路是設(shè)計(jì)配置規(guī)則表,將數(shù)據(jù)的授權(quán)規(guī)則,取號(hào)規(guī)則和數(shù)據(jù)回寫(xiě)規(guī)則寫(xiě)入數(shù)據(jù)庫(kù)中。程序僅實(shí)現(xiàn)各業(yè)務(wù)邏輯的通用部分,具體某項(xiàng)目、某個(gè)類型的授權(quán)、取號(hào)或回寫(xiě)規(guī)則,都通過(guò)讀取數(shù)據(jù)庫(kù)的配置映射到具體規(guī)則,然后執(zhí)行對(duì)應(yīng)的邏輯代碼。以下通過(guò)授權(quán)業(yè)務(wù)和數(shù)據(jù)回寫(xiě)業(yè)務(wù)為例,說(shuō)明設(shè)計(jì)文檔管理平臺(tái)Web服務(wù)配置化設(shè)計(jì)方案。
授權(quán)業(yè)務(wù)就是按照所歸檔文檔的類型和數(shù)據(jù)條件,為其指定對(duì)應(yīng)的ACL_domain以及ACL_name的業(yè)務(wù),對(duì)于所有類型,都會(huì)給定默認(rèn)的ACL_name以及ACL_domain。對(duì)于有特殊權(quán)限要求的類型和數(shù)據(jù)條件的文檔,單獨(dú)配置ACL_name和ACL_domain進(jìn)行授權(quán)按業(yè)務(wù)的指定。
授權(quán)配置保存在數(shù)據(jù)庫(kù)中。授權(quán)配置包含兩個(gè)表,一個(gè)是權(quán)限規(guī)則主表(data_ACL_apply_rule),保存ACL名稱及域名規(guī)則和文件類型及項(xiàng)目條件,見(jiàn)表3。另一個(gè)是權(quán)限規(guī)則匹配條件表(data_ACL_apply_cond),保存規(guī)則的適用數(shù)據(jù)條件,見(jiàn)表4。
規(guī)則匹配過(guò)程如圖4所示。
數(shù)據(jù)回寫(xiě)業(yè)務(wù)就是依據(jù)數(shù)據(jù)源提供的關(guān)聯(lián)數(shù)據(jù)信息,找到文檔系統(tǒng)中已經(jīng)歸檔的數(shù)據(jù),將指定信息反寫(xiě)至目標(biāo)文檔的業(yè)務(wù)邏輯?,F(xiàn)設(shè)計(jì)文檔管理平臺(tái)數(shù)據(jù)回寫(xiě)業(yè)務(wù)如下:WorkReady工程函件回寫(xiě)WR渠道號(hào)以及WR日期字段至工程文件;DRCS工程函件回寫(xiě)DRCS渠道號(hào)至工程文件;交付函件回寫(xiě)對(duì)外交付渠道號(hào)至工程文件。
回寫(xiě)配置保存在數(shù)據(jù)庫(kù)的data_rewrite_rule表中,見(jiàn)表5。
圖3 設(shè)計(jì)文檔管理平臺(tái)Web服務(wù)技術(shù)架構(gòu)
表2 設(shè)計(jì)文檔管理平臺(tái)Web服務(wù)層次說(shuō)明
數(shù)組的各個(gè)值之間以分號(hào)“;”分隔,使用反寫(xiě)規(guī)則進(jìn)
行數(shù)據(jù)回寫(xiě)的業(yè)務(wù)邏輯如圖5所示。
表3 data ACL appIy ruIe權(quán)限規(guī)則主表
表4 data ACL appIy cond權(quán)限規(guī)則匹配條件表
表5 data rewrite ruIe數(shù)據(jù)回寫(xiě)規(guī)則
圖4 規(guī)則匹配過(guò)程
圖5 數(shù)據(jù)回寫(xiě)的業(yè)務(wù)邏輯
綜合上述基于CXF框架的可配置化企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)構(gòu)建方案的研究,設(shè)計(jì)出的設(shè)計(jì)文檔管理平臺(tái)統(tǒng)一 Web服務(wù) (design document unified data service,DUDS),已經(jīng)投產(chǎn)使用。目前平均每月處理各類型文檔服務(wù)請(qǐng)求超過(guò)5萬(wàn)次,其服務(wù)響應(yīng)時(shí)間較原來(lái)的服務(wù)有了極大的提高,耗時(shí)最長(zhǎng)文檔的歸檔請(qǐng)求,在2 min以內(nèi)亦可處理完畢,其他業(yè)務(wù)請(qǐng)求均為實(shí)時(shí)響應(yīng)。另外,服務(wù)的穩(wěn)定性得到了極大提升。加之配套的文檔監(jiān)控系統(tǒng),可以實(shí)時(shí)監(jiān)控并處理問(wèn)題數(shù)據(jù),使得設(shè)計(jì)文檔管理平臺(tái)接口服務(wù)水平極大地提升,同時(shí)降低了系統(tǒng)的運(yùn)維成本。
本文所研究的基于CXF框架的可配置化企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)構(gòu)建方案,從解決大型企業(yè)內(nèi)容管理平臺(tái)中大量的接口服務(wù)的難點(diǎn)出發(fā),提出通過(guò)CXF框架與其他輕量級(jí)應(yīng)用框架結(jié)合的方式,同時(shí)附加配置化模塊設(shè)計(jì)的技術(shù)方案,提高了Web服務(wù)的通用性、實(shí)時(shí)性、擴(kuò)展性和可靠性。目前系統(tǒng)已經(jīng)投產(chǎn),運(yùn)行效果良好。
隨著數(shù)據(jù)規(guī)模的增長(zhǎng)以及外部接口系統(tǒng)范圍的進(jìn)一步擴(kuò)大,企業(yè)內(nèi)容管理平臺(tái)Web服務(wù)后端硬件環(huán)境架構(gòu)可能成為新的系統(tǒng)瓶頸。通過(guò)負(fù)載均衡方案分散前端Web服務(wù)壓力和通過(guò)虛擬化或分布式部署等技術(shù)為Web服務(wù)后端提供更加穩(wěn)定可靠的架構(gòu)也將具有十分重要的意義?;诒疚默F(xiàn)在的工作,未來(lái)的研究方向?qū)?huì)是Web服務(wù)前端程序設(shè)計(jì)優(yōu)化和后端硬件架構(gòu)優(yōu)化的系統(tǒng)整體架構(gòu)方案。
[1]丁宇.Web Service高效安全數(shù)據(jù)傳輸技術(shù)研究及其企業(yè)級(jí)實(shí)現(xiàn)[D].北京: 北京工業(yè)大學(xué),2013:37-38.DING Y.WebService efficient and secure data transmission technology to achieve its enterprise-class [D].Beijing:Beijing University of Technology,2013:37-38.
[2]李軍懷,周明全,耿國(guó)華,等.XML在異構(gòu)數(shù)據(jù)集成中的應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用,2002,22(9):10-12.LI J H,ZHOU M Q,GENG G H,et al.Research and application of heterogeneous data integration based on XML[J].Computer Appilications,2002,22(9):10-12.
[3]吳旻.基于Web Services的可配置異構(gòu)數(shù)據(jù)整合系統(tǒng)開(kāi)發(fā)[D].上海: 復(fù)旦大學(xué),2011:26-28.WU M. Developmentofconfigurableheterogeneousdata integration system based on WebServices [D].Shanghai:Fudan University,2011:26-28.
[4]吳清烈,郭昱.面向大規(guī)模定制的非結(jié)構(gòu)個(gè)性化客戶需求結(jié)構(gòu)化處理研究[J].電信科學(xué),2013,29(12):9-15.WU Q L,GUO M.Study on the structured processing of unstructured personalized customer requirement for mass customization [J].Telecommunications Science,2013,29 (12):9-15.
Enterprise content management platform Web services based on CXF framework
HOU Bin,TU Hongbing,WANG Yunfu
China Nuclear Power Engineering Co.,Ltd.,Shenzhen 518172,China
After comparing and analyzing the main business and implementation plan for an enterprise content management platform web service,a technical scheme was put forward,which was using a table interface combined with the CXF framework,taking both responsiveness and stability requirements for web services into account,while also facilitating configuration adjustments due to the frequent change of business requirements.On the basis of that,a web service configuration module was developed to enhance the web service’s scalability.
CXF framework,enterprise content management platform,web service ,configurable
TP302
A
10.11959/j.issn.1000-0801.2016140
2015-09-20;
2016-05-09
侯斌(1986-),男,中廣核工程有限公司工程師,主要從事核電文檔管理,核電工程設(shè)計(jì)管理、協(xié)同設(shè)計(jì)管理等信息系統(tǒng)方面的研究工作。
涂紅兵(1979-),男,中廣核工程有限公司高級(jí)工程師,主要從事核電信息生產(chǎn)系統(tǒng)的架構(gòu)設(shè)計(jì)、核電地理信息系統(tǒng)方面的研究工作。
王云福(1973-),男,中廣核工程有限公司高級(jí)工程師,主要從事核電信息生產(chǎn)系統(tǒng)的設(shè)計(jì)、架構(gòu)以及運(yùn)營(yíng)等方面的研究工作。