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