摘 要:隨著石油企業信息化進程進一步加快,各個業務系統數據庫異構性問題越來越突出。如何有效地利用這些歷史數據,集成遺留系統,成為目前集成領域的一大熱點。在分析Web服務體系結構的基礎上,提出以石油企業信息化標準作為解決互操作的信息模型,基于Web服務技術構建適合石油系統數據資源共享與交互的通信模型,并設計通信模型的數據交互機制。實踐表明,它能夠較好地滿足信息模型與通信模型間的松散耦合要求,較好地實現異構數據源統一透明訪問,保證數據完整性、安全性和一致性,并且具有較高的開發效率。
關鍵詞:通信模型;互操作;Web服務;數據庫異構性
中圖分類號:TP311 文獻標識碼:B 文章編號:1004373X(2008)1808103
Discussion of Creating Communication Model Based on Oil Enterprise Information System
QIN Qiuju,FANG Ming
(School of Computer Science,Xi′an Shiyou University,Xi′an,710065,China)
Abstract: With the development of oil enterprise informatization,the question of heterogeneous database of each operation system is more and more intractable.It is a hotspot of present integration field on how to use history data integrating old system availably.This paper construes the structure of Web Service technology.Regarding oil enterprise informatization criterion as the basic of interoperation information mode,it brings forward a communication model of data resource share and intercommunion of petroleum system based on Web Services technology,and designs mechanism of data intercommunion.The practice indicates that the scheme is able to satisfy the demand of relax coupling between information model and communication model,to achieve uniform transparence access of heterogeneous data,to ensure data integrality,security,consistency,and takes on more developing efficiency.
Keywords:communication model;interoperability;Web services;heterogtneous database
在石油企業信息化發展過程中,建立了大量的管理信息系統,但由于缺乏有關管理信息模型方面的標準和規范,造成這些信息系統之間存在兼容性差、數據信息資源難以交流共享等問題。Web服務是一種新型的Web應用程序,具有自包含、自描述以及模塊化的特點,可以通過Web發布、查找和調用。Web服務的主要目標就是在現有各種異構平臺的基礎上構建一個通用的與平臺無關,語言無關的技術層,各種不同平臺之上的應用依靠這個技術層來實現彼此的連接和集成。這樣Web服務就可以將分布于不同平臺上的異構系統以一種柔性的,松耦合的方式集成為一個靈活的系統,這個系統可以根據要求不同而靈活的變化。本文提出以石油企業信息化標準為系統的信息模型,基于Web服務技術,構建異構信息系統互操作通信模型,實現石油企業管理信息系統建設中信息資源庫與各單位、部門自治管理信息系統之間的信息交換。
1 Web Service 體系結構解析
目前,對Web Service的概念并沒有一個嚴格的定義,一般認為:Web Service是一種新型的Web應用程序,具有自包含、自描述以及模塊化的特點,可以通過Web發布、查找和調用。Web Service實現的功能可以是響應客戶一個簡單的請求,也可以是完成一個復雜的商務流程。一旦一個Web Service配置好后,其他應用程序和其他Web Service就可以直接發現和調用該服務。
Web Service是基于Web的分布式計算模型,它采用面向服務的體系結構模型作為其體系結構,主要包括3個角色和3個操作。服務提供者所能提供的服務接口用WSDL和WSFL描述出來,然后使用UDDI在服務注冊中心處將這些服務接口進行注冊;服務代理則使用UDDI注冊這些服務接口,并接受服務請求者的查詢;服務請求者通過使用UDDI在服務代理處查詢,得到所需的服務接口的描述文件,然后綁定到這些服務,最終完成調用。
在這個體系結構中,對傳統應用系統體系結構的設計做了徹底的改變,實現了具體的事務處理信息、服務和具體客戶的分離。在傳統的企業應用系統中,需要確定對于該應用系統的客戶,然后以此為中心進行設計。而在面向服務的體系結構中,對于客戶的標準沒有嚴格定義,而是盡可能地把系統的服務設計得較靈活,以便在以后不斷變化的環境中能夠吸引更多的潛在客戶。
2 互操作通信模型體系架構
在網絡分布式環境下,異構信息系統“互操作性”依賴2個基礎:信息模型和通信模型。信息模型包括模型結構和模型的語義約定,主要解決數據的相互理解問題;通信模型包括通信系統的體系結構和協議數據的語義規范,主要解決數據互通問題。
有關信息模型的確定,需要從行業本身的特點出發,根據不同行業的實際情況來制訂標準或規范。通過這些標準的建立,實現信息語義的確定性和一致性。在此基礎上,需要有合適的通信模型來實現數據互通,基于XML技術的Web Services正是建立異構系統通信模型的有效手段,代表著發展方向。
隨著石油企業信息數據中心的建立,目前主要的數據互操作問題存在于數據中心與下屬單位信息系統之間、各單位信息系統之間、單位內部各部門信息系統之間等多個層次,通信模型總體架構如圖1所示。

該體系結構由石油信息互操作服務平臺(PISP)、數據交換代理(DEA)和服務注冊中心3個部分組成。
(1) 石油信息互操作服務平臺(PISP)
石油信息互操作服務平臺完成數據中心到下屬單位信息系統的數據交換、各單位信息系統間的數據交換,它由一系列中間件、服務、Web服務接口組成。其核心組件包括數據交換引擎、安全管理、系統管理以及Web服務接口。
數據交換引擎 基于SoAP消息實現數據交換,提供數據交換模式的管理、數據交換服務、基于元數據的數據變換服務等。
安全管理服務 主要解決數據交換過程中可能存在的一系列安全問題,包括SoAP消息的安全通信、用戶的統一身份管理、權限管理等。
系統管理服務 實現對系統的配置管理和狀態監控。通過系統管理服務配置PISP各部分的運行參數,服務的啟停控制,監控整個系統的運行狀態。
Web服務接口 通過WSDL文檔向外部應用程序和數據交換節點描述數據交換的相關Web服務以及安全策略。
(2) 數據交換代理(DEA)
數據交換代理代表各單位信息系統來主動參與數據交換事務。根據應用需求,DEA應包含數據轉換、服務發布與描述、安全策略應用等功能。
數據轉換 根據數據交換的要求,基于元數據模型建立XML報文與關系數據庫的雙向映射。
服務發布與描述 發布本地信息系統的數據交換服務,通過WSDL文檔對服務的接口和調用方法進行描述,并通過PISP向服務注冊中心進行注冊。
安全策略應用 根據PISP安全管理服務的要求,建立相應的安全策略執行機制,并將所使用的具體安全策略通過WSDL進行描述。
(3) 服務注冊中心
服務注冊中心提供針對Web服務的注冊管理和發布功能。各數據交換節點DEA通過PISP
向服務注冊中心注冊自己的數據交換Web服務,PISP根據注冊的信息進行路由,主動調用數據交換節點的數據訪問服務來向數據交換節點傳送數據或從數據交換節點獲取數據。
3 通信模型中數據交換機制
在異構信息系統的互操作體系結構中,有關數據交換的事務處理主要包括2類:獲取數據和更新數據。根據這兩類數據交換,可以定義2種數據交換機制,即“請求應答機制”和“發布預約機制”。
(1) 請求應答機制
請求應答機制是指當DEA需要數據時即生成1個請求報文發送給PISP,PISP將請求報文轉發給應答方DEA,應答方DEA即反饋一個應答報文,并通過PISP轉發給原請求方DEA。
當應用程序需要獲取指定數據對象時,DEA向PISP傳遞一個請求報文,請求報文中一般不需要指明誰是應答者,PISP就會去搜索服務注冊中心,看哪些部門提供此方面的服務。服務注冊中心返回查詢結果,接著PISP將查詢到的該數據對象服務的所有提供者作為應答者,并將請求報文傳遞給它們。在整個區域中,每一類數據對象都可以有多個應答者,并且非提供者也可以成為應答者。數據對象的每一個應答者都有權等待和處理請求,并返回1個或1組應答報文,通過EISP轉發給原請求者。
DEA在發送請求報文時也可以明確指定某DEA作為請求的應答者。這時請求方DEA應在它的請求報文中指定應答者。PISP在收到請求報文時會檢查請求報文中是否存在指定信息,如果存在,還要檢查指定的應答者是否具有應答權限。只有當上述條件滿足,PISP才會將請求報文轉發給這個指定的應答者。
(2) 發布預約機制
發布預約機制是指當應用程序更新本地數據后即通過它的DEA制作一個事件報文發送給PISP,PISP負責將該事件報文發布給所有關心該數據的其他DEA。
數據對象的更新事件包括數據的添加、修改和刪除。當應用系統更新了它的數據對象時,應通過事件報文將更新事件傳遞給PISP。數據對象的使用者(其他應用程序)如果希望及時獲取數據的更新情況,應向PISP預約數據對象的更新事件。預約通過向EISP發送預約報文實現。
事件發布者將數據對象的更新事件傳遞給PISP后,PISP負責將它傳遞給所有預約該數據對象更新事件的預約者。PISP轉發事件報文時不會通知原事件發布者,因此事件發布者在完成事件發布后,就無需關心將有哪些應用程序接收更新事件,以及更新事件是否已傳遞給預約者。
4 結 語
本文以石油企業信息化標準作為解決互操作的信息模型,基于Web服務技術構建適合石油系統數據資源共享與交互的通信模型,并詳細設計通信模型的數據交互機制。本模型的設計并不是采用類似于復雜系統對接的方法,其能夠較好的滿足信息模型與通信模型間的松散耦合要求。此模型的設計和實現對于石油企業信息化建設具有重要的借鑒意義。
參 考 文 獻
[1]孫友倉.一種基于Web Services的分布異構數據庫集成機制\\.山西大學學報:自然科學版,2007,30(3):340343.
[2]孫友倉,宋彩利,李潤洲.一種基于Web Service的異構數據集成中間件\\.西安科技大學學報,2007,27(2):284287.
[3]賈曉琳.基于J2EE的企業級Web Service體系結構[J].計算機工程,2003,29(20):168169.
[4]孫凱,陳德人.基于UDDI 和Web Service 的應用模型研究\\.計算機應用,2003(5):133134.
[5]SOAP Implementation Directory [EB/OL].http://www.soapware.org/directory/4/implemen-tations,2004.
[6]應宏.基于Web Service的跨企業應用模型[J].計算機工程,2005,31(1):127129.
[7]柴曉路.Web服務架構與開放互操作技術[M].北京:清華大學出版社,2002.
[8]張巖.中間件技術應用與研究[J].計算機與通訊,2001(1):3137.
[9]李軍懷.XML在異構數據集成中的應用研究[J].計算機應用,2002,9(22):1823.
[10]李冠寧.XML在異構數據集成方面的應用[J].交通與計算機,2002,20(5):1924.
[11]Web Services Description Language (WSDL) [EB/OL].http://www.w3.org/TR/wsdl,2001.
[12]Softonomy Web Services White Paper[EB/OL].http://www.softonomy.com/pdf/wp_web_services.pdf,2002.4.28.