潘偉偉 潘善亮


某市國土局先后建成了地籍管理信息系統、建設用地審批管理系統、土地利用規劃系統、國土資源一張圖和核心數據庫等應用系統,為了解決系統之間存在信息共享能力差、業務適應能力差等問題,采用面向服務的架構思想對國土局現有信息系統進行集成,提出了一種快速的、便捷的企業信息系統整合方法,實踐證明,該方法能夠有效地集成各類異構的業務系統,可提高系統資源利用率。
面向服務架構 企業服務總線 服務構件 信息系統集成
1 引言
目前,某市國土資源局先后建成了國土資源一張圖和核心數據庫、地籍管理信息系統、建設用地審批管理系統等應用系統。隨著業務系統的不斷增加,國土資源信息化建設中存在的問題也逐漸被暴露了出來,現存業務系統之間的技術架構差異越來越大。而新系統建設也缺乏技術規范,無法隨需應變,開發因沒有統一的標準而出現技術封閉的問題,系統之間產生信息孤島。
以傳統方式開發的軟件無法實現期望的業務集成和協作,從而導致了全局業務環節信息傳遞和處理的不及時,無法滿足客戶快速變化及個性化的需求。軟件架構經過十幾年的發展,特別是面向服務體系的架構SOA(Service-Oriented Architecture,面向服務的架構)的出現為異構系統之間的解耦創造了一定的條件。
通過引入成熟的第三方中間件,搭建基于SOA的國土資源信息集成平臺,可以實現跨地區、跨部門的信息互聯互通和業務協同。SOA的優勢在于它有著高度的可重用性、敏捷性以及良好的延展性和可用性,可隨需應變,從而能夠輕松地應對業務需求的變化,使它能夠擺脫面向固定模式技術解決方案的束縛。平臺采用統一的技術架構、開發規范、數據資源模型等,可實現全局領域應用平臺軟件體系的一體化、模塊化、輕量化,實現業務應用快速開發、“插拔式”部署和統一運行管理。
2 面向服務的架構與企業服務總線
2.1 面向服務的架構
SOA是一個組件模型,它將應用程序的不同功能服務通過定義服務間良好的接口和協議聯系起來[1]。SOA中的服務都來自于獨立應用程序或者新的面向服務的應用程序,它的核心思想是服務,并通過服務間的組裝來形成新的服務以達到組件之間的松耦合,實現高度的服務可重用性[2]。在SOA中必須具備有3種角色,其關系模型如圖1所示:
2.2 企業服務總線
ESB(Enterprise Service Bus,企業服務總線)體系結構模式支持在面向服務的體系結構(SOA)中虛擬化服務交互并對其進行管理。它是傳統消息中間件技術與XML、Web服務等技術結合的產物,它提供了支持SOA的一組基礎架構功能,支持異構環境中的服務、消息以及基于事件的交互,并且具有適當的服務級別和可管理性[3]。簡單來說ESB就是試圖將應用服務器上的多種邏輯層面遷移到總線以及連接點上,從而降低企業內部信息共享的成本。
3 系統總體架構設計
3.1 平臺總體架構
SOA使用戶不需要依賴應用程序及其運行計算平臺便可方便地對Web服務進行構建、部署和整合,最終顯著地提高了業務流程的靈活性。基于SOA的國土資源信息系統集成框架如圖2所示。
基于SOA的國土資源信息系統集成框架中各層的具體描述如下:
(1)資源層
在本項目中,資源層是指國土局的數據資源,這些數據經過ETL(Extract-Transform-Load,抽取轉換加載)過程按一定規則在數據準備區進行加工整合后,最終生成清潔整合的數據存儲平臺的數據(電子檔案庫、ODS(Operational Data Store,操作數據存儲)庫、數據倉庫、地理信息庫)[4]。根據數據來源可以將數據分為內部數據和外部數據,內部數據包括某市國土資源局已有的生產系統數據,如地政、礦政、地質環境、電子政務數據等;外部數據是指那些不是由國土資源局內部生成,而是通過第三方獲取到的數據,比如規劃、氣象臺、住建等。內部數據源是數據存儲平臺的主要來源,外部數據源則作為內部數據源的補充。從數據的裝載方式看,還可以分為全量數據和增量數據。
(2)構件層
構件層是智能管理系統技術實現的單元,公共構件可以為上層提供服務支持并進行服務構造,構件具體包括數據上下文及SDO(Service Data Objects,數據服務對象)數據操作類構件、數據庫操作類構件、基礎構件類(定時器、日志、國際化信息資源處理等)、語義層工具、OLAP(Online Analytical Processing,聯機分析處理)構件、圖表構件、數據挖掘工具、ETL工具、GIS(Geographic Information System,地理信息系統)工具等。
(3)服務層
服務層是智能管理系統存取訪問體系的核心,它接收用戶請求訪問后端數據(OLAP、數據倉庫),執行多維分析、查詢(隨機查詢、條件查詢、模糊查詢、關聯查詢和組合查詢等)、生成各種形式的BI(Business Intelligence,商業智能)報表,并以多種方式展現(打印輸出、文件輸出、E-mail輸出、Web發布)[5]。服務層主要由基礎服務和生成服務組成,其中基礎服務包括ETL服務、語義服務和權限管理服務等,生成服務是對基礎服務進行重新編排和包裝之后形成的。該層為用戶對數據的訪問提供各種方式的服務,從而實現訪問方式的多樣化和信息存取的透明化[6]。
(4)流程層
在流程層中,利用已經封裝好的各種服務來構建業務系統中的業務流程,實現通過WFMC(Workflow Management Coalition,工作流管理聯盟)、人工活動、代理代辦、自主活動等一系列規則最終基于服務編制實現業務流程。由于本項目上層應用眾多,有些不需要流程層也可實現,如智能地理信息系統、智能綜合分析系統。
(5)展現層
展現層是數據服務與用戶之間的接口,該層提供用戶對ODS、地理信息、電子檔案、數據倉庫數據或數據集市數據的瀏覽、請求、存取等服務,以及數據服務向用戶的數據交付。同時,該層還包括實現對用戶訪問的認證、控制[7],可以用基于門戶(工作臺)的系統來構建,是服務對外的具體展現,主要包括的技術手段有:BI報表、儀表盤、電子地圖(含專題圖)、RichWeb、個性化定制管理、SSO、PORTAL等。
同時,展現層對于展現內容能夠進行多種格式的封裝(XML、HTML等),封裝結果支持HTTP(HyperText Transfer Protocol,超文本傳輸協議)、REST(Representational State Transfer,表述性狀態傳遞)協議、SOAP(Simple Object Access Protocol,簡單對象訪問協議)的訪問方式,滿足統一規劃的移動辦公接入格式需求,以支持桌面應用及大部分智能手機、平板電腦應用。
3.2 系統中的關鍵點
(1)異構數據的集成訪問
智能管理系統涉及到的數據庫有各類分析主題的ODS數據庫、數據倉庫、數據集市等,智能管理系統數據來源于生產系統數據源,同時在內部又通過多種數據抽取、轉換、加載形成各類分析主題的數據庫。因此可以分成數據接入服務和數據提交服務以滿足內外部數據的導入(抽取)、轉換(清洗)和加載(存儲)需要,同時利用這兩個服務將集中后的數據通過抽取、轉換和分發,提供給所有數據應用需要的目標系統。服務之間通過XML格式進行數據通信。目前在數據表示和語義映射及XML語義集成方面已有大量的研究[8]。業務系統之間可以利用XML數據格式進行通信,解決了數據之間存在的差異問題。
(2)服務粒度的劃分
服務之間的耦合性在很大程度上取決于服務粒度的大小。如果服務粒度劃分得過細,服務間的緊耦合會降低且系統的靈活性得到了一定的增強,但會增加系統開發的復雜程度以及服務的部署難度;反之,如果粒度太大則實際效果會與前者相反。對于服務粒度大小如何進行劃分,以及在服務的維護、操作、組合方面達到最佳效果的方法等問題,面向服務的遷移和重用技術提供了解決方案[9]。目前,粗粒度服務和細粒度服務是SOA環境集成中主要采用的兩種實現。其中適合為外部直接調用的是粗粒度服務;適合通過服務再組合的方式形成粗粒度服務的是細粒度服務。
(3)通用服務構件模板
面向服務的分析與設計是目前創建SOA服務的主要方法,該方法主要有服務發現、服務規約和服務實現三個階段。為了能更多的重用已有的信息系統數據,服務發現采用自下而上的方式,通過該方式分析得出數據表單和數據視圖模板是通用服務構件模板的重要組成部分。其中負責對數據及時更新的是數據表單模板,而負責數據快速查找的是數據視圖模板。通用服務構件模板主要描述的是不同服務構件之間的關系以及基礎構件自身的功能,并從數據視圖和表單的概念、內容和上下文3個方面進行模板封裝,封裝完成后統一放到服務包裝器中的基礎模板庫里。此時,管理員就可以通過分析業務的存在模式來構建基礎模板。業務用戶以模板基礎采用抽象化的操作來配置服務構件,最后將配置完成的服務放到生成服務庫中。
4 應用實例
上文介紹的框架經過抽取形成通用模型,并在國土資源局信息系統建設中得到成功實施。市局有很多部門,每個部門有自己的業務系統,按照前文提出的框架對國土局下的業務系統進行動態集成整合,其體系結構如圖3所示:
4.1 實現的各模塊介紹
(1)國土資源信息集成整合平臺
該平臺對各個業務子系統的數據進行集成,將集中后的數據通過統一抽取、轉換和分發,提供給有數據應用需要的目標系統。
(2)業務流程配置管理平臺
該平臺的主要功能是將各業務系統發布的服務按照用戶的需求,使用ESB對這些服務進行動態、靈活的編排,進而實現服務的協同工作。同時,ESB本身還具有對流程進行管理和監控的功能。
(3)統一門戶界面
該界面主要是為不同的用戶提供統一的視圖,同時通過用戶輸入的校驗憑證對用戶的權限進行判斷,并根據單點登錄服務器返回的用戶信息給予相應的控制權限,系統信息的安全將進一步得到保證。同時,還可以為每個用戶提供個性化的定制服務。
4.2 系統的實現方式
集成平臺運行環境充分考慮國土局信息建設現狀,遵循其當前核心業務應用的技術路線,以J2EE為技術規范,運用Datastage工具對數據進行加工、抽取、轉換來形成數據集市,統一存儲到Oracle數據庫中,實現各業務系統數據的大集中并運用Cognos BI 8.4實現數據的智能化展示。對系統的所有應用(報表、查詢、分析、KPI等)提供統一的數據開放接口,以Web Service方式將完整內容或部分內容提供給第三方應用,內容包含條件格式、提示、鉆取等在內的業務邏輯、權限等,數據輸出的形式支持XML及HTML,而獲取數據的方式支持REST和SOAP。服務的注冊、配置和管理統一交給成熟的服務總線工具Message Broker進行。
4.3 系統性能分析
(1)業務流程的個性化定制
系統為辦公人員提供了一種可視化的流程展示,能夠靈活、快速地按照需求對當前的業務流程進行調整和編排。比如對于建設用地的審批,辦公人員能夠便捷地查找到審批流程的參與者和當前審批流程的處理狀態,同時可以針對審批流程中存在的問題進行優化和調整。
(2)系統的復用性
無論是已有的系統還是新開發的系統,對這些信息系統進行包裝后就能夠按照實際需求進行重新組合。例如對國土局各部門工作人員辦件的電子監察等服務重新進行編排,并將這些編排好的服務復用到其他業務系統中。
(3)系統的可擴展性
國土資源信息集成平臺可以隨著國土業務需求的變化而做出相應的及時的調整。集成平臺調整的高效性主要體現在:在提高執行效率和調整質量的同時,降低了調整時間和調整成本,極大地增強了信息系統對業務變化的適應性。
5 結束語
由于企業信息化建設設計的業務繁雜,涉及的技術廣泛,企業中存在著大量的遺留業務系統[10]。因此,應用系統集成是企業信息化建設過程中面臨的一個瓶頸。
ESB-SOA的企業信息集成平臺采用面向服務的架構思想進行設計,將國土局的各個業務系統的共性特性進行提取并將其封裝成細粒度的服務,然后通過ESB對這些服務進行組合以實現新的服務。該平臺可對異構的國土業務系統進行融合,實現網絡環境下異構業務系統之間的松耦合,極大地提高了現有信息系統資源的利用效率,節約了新系統的研發開支,同時使得整個國土信息系統的安全性得到加強。
參考文獻:
[1] 楊珍,鐘誠,何秋燕. 基于SOA的綠色物流信息系統的研究[J]. 網絡安全技術與應用, 2012(11): 47-48.
[2] 王衛星,王晨光. 基于SOA的企業信息系統集成框架[J]. 計算機工程, 2010(18): 29-31.
[3] 姚欽. 徐匯區采購信息化綜合管理平臺的研究與實現[D]. 上海: 上海交通大學, 2010.
[4] 陳新明. 淘寶網數據平臺數據倉庫建設[D]. 大連: 大連理工大學, 2013.
[5] 高振宇. 保險行業中商業智能系統的設計與實現[D]. 天津: 天津大學, 2010.
[6] 陳新明. 淘寶網數據平臺數據倉庫建設[D]. 大連: 大連理工大學, 2013.
[7] 徐征. 基于數據集市的M銀行個人貸款客戶綜合評價研究[D]. 長春: 吉林大學, 2012.
[8] Abdalla K F. A Model for Semantic Interoperability Using XML[A]. Proceedings of Systems and Information Engineering Design Symposium[C]. 2003: 107-111.
[9] Lewis G, Morris E, Smith D. Service-oriented Migration and Reuse Technique(SMART)[A]. Proceedings of the 13th IEEE International Workshop on Software Technology and Engineering Practice[C]. 2005: 222-229.
[10] 孫金波,劉淑芬. ESB技術實現基于SOA的企業信息化平臺[J]. 電腦編程技巧與維護, 2009(14): 70-71. ★