胡容波,曾建鷹,周 桅,李海明
(1.國土資源部信息中心,北京 100812;2.萬達信息股份有限公司,上海 201112)
基于ESB的礦政業務數據服務系統的設計與實現
胡容波1,曾建鷹1,周 桅1,李海明2
(1.國土資源部信息中心,北京 100812;2.萬達信息股份有限公司,上海 201112)
針對需要將國土資源部掌握的礦政業務數據按所在政區提供給省級部門的業務需求,基于ESB和SOA設計并實現了礦政業務數據服務系統。在系統設計部分,說明了該系統的需求分析、基本方案設計、總體架構設計以及系統功能設計。在系統實現部分,論述了基于SOA和數據映射模版的服務開發、基于ESB的服務注冊以及基于代理的服務調用等核心流程。之后介紹了已經上線的非油氣礦業權、油氣勘查開采礦業權等6類礦政業務數據服務實例的實際運行情況。該系統的建立為部省數據共享提供了一個新的通道,探索了一種實用的數據共享模式。
數據共享;ESB;信息系統;國土資源;礦政
近年來,國土資源部通過開展“一張圖”核心數據庫建設和綜合監管平臺建設,實時采集匯總了大量地政、礦政業務數據。在國土資源部層面,這些數據已成為日常管理、業務審批、綜合統計、形勢分析、監測預警、調控決策的依據[1]。為了避免重復建設,對于部級通過統一渠道直接從各級監測和采集的數據,需要按行政區劃提供給省級國土資源行政主管部門,以協助各省級部門建立覆蓋本轄區的“一張圖”核心數據庫,進而提升全國國土資源管理與服務水平[2]。
最簡單的方式是各省級國土資源行政主管部門定期到國土資源部拷貝所需業務數據,但這種方式顯然效率不高,而且難以保證數據的時效性。如果直接由采集系統導出數據也面臨一些困難:①部分采集系統雖然依托互聯網運行,但是所采集的數據都交換進了內部局域網,不能直接從采集系統導出完整數據;②部分采集系統僅在部級應用,如油氣勘查開采登記系統,省級并沒有對應的采集系統;③采集系統較為分散,需要分別登錄和授權才能獲取數據,且經常大批量導出數據也影響系統正常應用性能。
為了探索比較簡便和實用的部省之間業務數據共享模式,本文以礦政業務數據為例,論述基于企業服務總線(enterprise service bus,ESB)的礦政業務數據服務系統(以下簡稱服務系統)的設計與實現。
服務系統的建設目標是將國土資源部所掌握的主要礦政業務數據,以行政區劃為單元提供給省級國土資源行政主管部門,實現信息共享,形成常態化機制。基本需求如下所述。
1)部級管理員通過服務系統發布礦政業務數據,按需授權給省級管理員或省級應用系統開發人員使用。
2)省級管理員通過服務系統查詢已經上線發布的礦政業務數據,根據授權獲取數據。
3)省級應用系統開發人員通過服務系統查詢已經開放的數據接口,根據授權在省級應用系統中直接調用接口,實時獲取業務信息。
此外,服務系統要求易擴展、易部署、易維護。易擴展包括兩個方面:一是便于擴展業務數據內容,可方便地增加礦政其他業務數據,乃至全部國土資源業務數據;二是便于擴展應用節點,可從省級國土資源行政主管部門方便地擴展到市、縣級部門。為便于部署和維護,要求服務系統只在部級節點部署。
2.1 基本方案設計
結合需求分析以及已有軟硬件環境,采用基于ESB和面向服務的架構(service-oriented architecture,SOA)建立服務系統。
SOA的核心是服務,它使用自治的、平臺獨立的、松散耦合且可重用的服務作為基本元素來快速低成本地構建可互操作的、可進化的分布式軟件應用,能夠靈活快速地應對業務的頻繁變化[3]。服務系統的核心是業務數據,可以分別將各業務數據封裝為標準數據服務,進而構建SOA模式的應用系統,充分發揮SOA中建立和使用服務的優勢。
采用ESB主要是為了實現對服務的統一注冊、監控與管理,簡化系統開發,便于系統擴展。ESB可廣泛應用于系統應用集成和數據共享交換平臺[4-7]。ESB作為服務間的連接框架,其核心功能包括消息轉換、消息機制、基于內容的路由和服務容器四部分[8]。ESB消除了服務消費者與服務提供者之間的直接連接,使得服務消費者與服務提供者之間進一步解耦,實現了服務地址和傳輸協議的透明化,便于增加新服務或改變已有服務,使開發人員從底層技術中解脫出來,更加關注于核心業務[4,9]。ESB也可以將數據資源直接發布為標準服務供服務請求者訪問[10],不過為了實現較復雜的業務數據服務功能,還是需要進行服務開發。
2.2 總體架構設計
服務系統總體架構分為5層,見圖1。其中,IT基礎設施層提供服務系統運行所需的軟硬件及網絡環境;數據層提供各業務數據服務的數據來源(中間庫);服務層實現各業務數據服務,接入ESB;應用層在服務層的基礎上,為用戶提供各類應用功能,包括用于人工操作的功能和供第三方系統調用服務的功能;表現層為面向各類用戶的服務系統操作界面。
2.3 系統功能設計
服務系統主要功能模塊見圖2。
1)服務導航模塊。部級管理員在服務導航模塊進行服務注冊、授權、配置、測試等。省級管理員和省級應用系統開發人員在服務導航模塊查詢部已經上線的數據服務,對需要的數據服務提出應用申請,經審核通過后按需使用服務。
2)數據中心模塊。主要用于人工操作模式下省級管理員下載數據服務生成的數據,列表顯示服務名稱、提交人、提交時間、完成時間等。數據中心也可為省級管理員向部發送數據提供上傳通道。
3)用戶管理模塊。對用戶、角色以及第三方應用系統進行管理,包括審核用戶、審核第三方應用系統、服務授權等。角色分為系統管理員、部級管理員、省級管理員,根據需要可擴展到市級管理員、縣級管理員,以及按業務進行細分。
4)服務監控模塊。對服務運行進行監控,查看服務名稱、在線情況、運行狀態、調用者、調用時間以及更詳細的日志信息。
5)統計分析模塊。分類統計服務名稱、調用次數、成功次數、失敗次數、執行頻度、累計執行時間、累計提供數據量等。
6)應用交流模塊。用于提示操作,發布和查看系統通知,查詢常見問題解答和進行在線交流。
7)系統管理模塊。系統管理員進行各類參數設置,對數據庫映射文件模板進行編輯管理等。

圖1 服務系統總體架構

圖2 服務系統主要功能模塊
服務系統基于國產ESB產品,采用Java語言開發。前臺頁面的實現使用了jQuery庫、AJAX技術和DWZ富客戶端框架。后臺基于Spring框架和Nutz框架開發,采用ActiveMQ作為消息總線,通過FTP實現文件上傳下載。為了不影響生產數據庫,建立了中間庫作為數據服務的數據源,通過內外網人工擺渡和基于Kettle的數據庫同步工具進行數據同步。
3.1 服務開發
各業務數據服務均采用Web Service實現。具體技術可選擇基于SOAP消息模式或REST模式進行開發[11]。業務數據服務處理流程見圖4。
為了解決存儲業務數據的數據庫系統(Oracle、SQL Server等)與業務數據交換文件格式(MDB、XML、XLS)不一致問題,引入數據模板作為生成交換數據的媒介,在數據模板中指定需要交換的數據項及映射關系。數據模板可以在服務系統中進行配置管理,以靈活應對業務數據庫結構變化或交換文件需求變化。
3.2 服務注冊
業務數據服務可由不同開發單位按照服務規范開發實現,通過服務系統注冊在ESB上進行統一管理。ESB通過服務代理為服務請求者提供服務,實現服務請求者與服務提供者的解耦[12]。業務數據服務注冊流程見圖4。

圖4 業務數據服務注冊流程
3.3 服務調用
提供兩類服務調用場景:一是用戶登錄服務系統進行人工操作,由服務系統調用對應的數據服務,調用結束后用戶在數據中心下載數據結果;二是第三方應用系統調用服務接口自動獲取數據。第一種方式支持異步調用,可以解決獲取大量數據的等待時長問題,但頻繁操作會使服務器端的性能成為瓶頸。第二種方式支持同步調用,可以實現少量數據的即時獲取,但受到網絡連接狀況的限制。業務數據服務調用流程見圖5。

圖3 業務數據服務處理流程
為了確保數據準確與安全,在服務調用前需要進行權限驗證,服務調用結束后再次進行數據驗證。礦政業務數據存儲了項目的所在政區信息,因而比較容易進行權限控制,即項目所在政區應與管理機關對應的行政區劃相匹配。如果服務系統應用節點擴展至市、縣級,可通過建立對照表解決部分新舊行政區劃代碼共存的問題。

圖5 業務數據服務調用流程
3.4 服務實例應用
服務系統部署在國土資源主干網上, 2015年8月投入實際應用,已上線6類礦政業務數據服務:非油氣探礦權/采礦權登記數據服務、油氣勘查開采登記數據服務、非油氣礦業權年檢數據服務、非油氣礦山開發利用統計數據服務、地勘資質登記數據服務、地勘單位執業信息數據服務,見圖6。

圖6 服務導航
以非油氣采礦登記數據服務為例,提供5類常用服務:按所在政區獲取數據、按發證機關獲取數據、按許可證號獲取數據、獲取省市縣三級發證數據以及獲取部在本省發證數據。其中,前3類服務可以輸入具體的查詢參數。
對系統運行情況進行統計,生成100M的數據平均需要10min。經分析,耗時較多的兩個操作分別為使用數據模板進行數據映射和生成交換數據文件。采用文件緩存機制進行優化后,對于數據無變化的服務僅生成一次數據,服務性能得到較大提升。
服務系統的建立為部省業務數據共享提供了一個新通道,省級國土資源行政主管部門通過該系統已及時獲取了大量業務數據,充實了省級國土資源“一張圖”核心數據庫,更大限度地發揮了數據在管理與服務中的作用。服務系統的實用性、擴展性、簡便性以及經濟性特點突出:作為常規應用系統,一般業務人員可以熟練操作,系統開發人員也可以靈活應用;業務數據服務可以分別開發,以模塊化方式進行擴展;服務系統只需在部級節點部署,相對于多級節點分布式部署的方案實現起來更為簡便,更好維護,也更為經濟。
[1] 國土資源部信息化工作辦公室. 2013年度全國國土資源信息化建設情況暨《國土資源信息化“十二五”規劃》中期評估結果[EB/OL].(2014-05-21)[2016-05-15]. http://www.mlr.gov.cn/zwgk/zytz/201405/t20140521_1317745.htm.
[2] 國土資源部. 國土資源部辦公廳關于加快推進國土資源遙感監測“一張圖”和綜合監管平臺建設與應用的通知[EB]. 2012-07-10.
[3] 朱志良, 苑海濤, 宋杰, 等. SOA與云計算:競爭還是融合[J]. 計算機科學, 2011, 38(12): 6-11.
[4] 黃安安, 王麗芳, 蔣澤軍, 等. 基于ESB的企業應用集成研究[J]. 微計算機應用, 2007, 28(9): 965-970.
[5] 李曉東, 楊揚, 郭文彩. 基于企業服務總線的數據共享與交換平臺[J]. 計算機工程, 2006, 32( 21): 217-223.
[6] 林懷恭, 聶瑞華, 羅輝瓊, 等. 基于ESB的共享數據中心的研究與實現[J]. 計算機應用與軟件, 2010, 27(5): 185-187.
[7] 范菁, 熊麗榮, 徐聰, 等. 分布式企業服務總線平臺數據集成研究及應用[J]. 計算機科學, 2014, 41( 2): 206-214.
[8] 謝繼暉 ,白曉穎, 陳斌, 等. 企業服務總線研究綜述[J]. 計算機科學, 2007,34(11): 13-18.
[9] 梁愛虎. 精通SOA: 基于服務總線的Struts+EJB+Web Service整合應用開發[M]. 北京: 電子工業出版社, 2007.
[10] 毛新生. SOA原理·方法·實踐 [M]. 北京: 電子工業出版社, 2007.
[11] 余浩, 朱成, 丁鵬.SOA實踐: 構建基于Java Web服務和BPEL的企業級應用 [M]. 北京: 電子工業出版社, 2009.
[12] 曾文英, 趙躍龍, 齊德昱.ESB 原理、構架、實現及應用[J]. 計算機工程與應用, 2008, 44(25): 225-228.
Design and realization of mining administration data sharing system based on ESB
HU Rongbo1,ZENG Jianying1,ZHOU Wei1,LI Haiming2
(1. Information Center,Ministry of Land and Resources,Beijing 100812,China; 2. Wonders Information Co., Ltd.,Shanghai 201112,China)
The Ministry of Land and Resources needs to provide administration data to provincial departments according to administrative division code in order to improve provincial information level.This paper designs and realizes a mining administration data service system(MADSS) based on ESB and SOA. Firstly, it describes the MADSS’s requirements analysis, outline design, architecture design and function design. Secondly, it describes some core processes of MADSS, such as data service development based on SOA and data mapping templates, data service registration based on ESB, data service calling based on service broker. At last, it introduces the actual operation of six kinds of mining administration data service instances, for example mining rights data service, which are already running online. The MADSS provides a new channel for data sharing between the Ministry and provincial departments, and develops a practical model of data sharing.
data sharing; ESB; information system; land and resources; mineral resources management
2016-08-10
中國地質調查局地質調查項目“地質礦產信息系統整合集成與應用”資助 (編號:1212011120415)
胡容波(1979-),男,碩士,高級工程師,主要從事國土資源信息化建設與研究工作,E-mail:rbhu@infomail.mlr.gov.cn。
TP319
A
1004-4051(2017)01-0161-05