車忠志
中國農業大學煙臺研究院, 山東煙臺 264670
基于SOA的數據集成
車忠志
中國農業大學煙臺研究院, 山東煙臺 264670
SOA(Service Oriented Architecture)作為新型的軟件體系架構,已經引起了越來越多的關注。采用CIM模型,基于SOA架構的數據集成,具有接口規范,適應性廣,易于維護,傳輸效率高等優點。本文介紹了SOA技術的特點以及SOA體系架構下的系統集成分析。
SOA;CIM;服務
SOA (Service Oriented Architecture)是指“以服務為中心的體系結構”或者“面向服務的架構”,可以認為SOA 主要是一種架構風格,是包含運行環境、編程模型、架構風格和相關方法論等在內的一整套新的IT系統和軟件的構建方法和過程,貫穿IT系統規劃、設計、構建、運維的各個階段。
國際電工技術委員會IEC定義的兩個系列標準IEC61968 和IEC61970 分別描述了配電管理系統和能量管理系統的應用程序接口,共同定義了一種電力系統通用信息模型CIM 和組件接口規范CIS(Component Interface Specification)。本文探討了在SOA架構下采用CIM模型進行數據集成。
SOA作為一種軟件系統架構方法論,其主要目的就是幫助企業的業務流程更加靈活,通過讓IT運行環境更好的支持業務的變化,來保證業務的靈活性,SOA已經成為未來統一的企業級應用架構。面向服務架構(SOA)最大限度地重用應用程序中的“服務”以提高IT適應性和效率。雖然這些概念已經存在了數十年之久,但只是在出現了基于標準的集成技術(如Web服務和XML)之后,SOA才開始被加速采用。對于利用SOA作為統一的企業基礎架構,能夠為企業的未來發展提供非常多的技術和業務優勢。
交換的信息,按照公共信息模型(CIM)的方式進行建模,公共信息模型(CIM)是一個抽象模型,它是采用面向對象的方式來描述要交換的所有對象。通過提供一種用對象類和屬性及他們之間的關系來表示要交換信息的標準方法。
CIM用面向對象的建模技術定義。具體地說,CIM規范使用統一建模語言(UML)表達方法,它將CIM定義成一組包。CIM中的每一個包包含一個或多個類圖,用圖形方式展示該包中的所有類及它們的關系。
交換信息的公共信息模型(CIM)描述了要交換信息的全面的邏輯視圖。這一定義包括了公用的類和屬性,以及它們之間的關系(如圖1)。

圖1 CIM模式各元素之間的關系
每個類包含的模式信息列出的次序為:
·類的固有屬性
·類的繼承屬性
·類的固有關聯
·類繼承的關聯。
根據參與關聯的各個類的作用對關聯進行描述。關聯可以有附加的關聯類來具體定義特定關聯的性質。
依照UML規范,CIM把類組織到包(package)中。包可能根據其包含類的多少再分成子包。
針對SOA架構,一些主要的基礎軟件提供商都推出解決方案和相關產品,主要有基于IBM產品的技術解決方案、基于BEA產品的技術解決方案、基于Oracle產品的技術解決方案、基于SUN產品的技術解決方案、基于Microsoft產品的技術解決方案。
IBM產品除了與自己的產品和技術具有接口外,其他的適配器不多。在開發方面,IBM緊緊圍繞Eclipse,提供了WebSphere Application Developer for Integration Edition(簡稱 WSAD-IE)來對應用開發提供支持,開發環境使用較為方便。
BEA產品可提供業務流程管理、企業資源訪問、動態集成服務,以及集成化的設計環境。管理功能方面,提供了基于Web的運行時管理、控制分析功能,用戶可以確信解決方案已經發揮作用,并以最佳狀態運行。客戶可在同一個控制臺中使用第三方管理工具。
Oracle產品的軟件架構能夠保證系統的穩定性和可靠性,保證數據在交換過程中不被丟失。提供良好的管理界面和管理工具,良好的擴展機制,能夠通過簡單的配置、少量的定制化,快速和其它系統進行對接。可以通過靈活的配置改變接口處理流程。此外,還具有數據格式轉換、數據路由、數據加密、身份認證等功能。
SUN產品與“組合應用平臺軟件”(CAPS)密切相連,提供業務流程管理、企業資源訪問、動態集成服務,以及集成化設計環境。Sun CAPS可靈活應對業務變化和降低總擁有成本。它為基于SOA的企業應用開發創建了一個高度集成、極富生產效率的技術環境。
Microsoft產品可以支持所有主流數據庫、基礎架構和產品(如CORBA、EJB、MQ、EDI)。在開發工具支持方面,Microsoft 使用 Visual Studio.NET 2008作為應用的開發工具。Microsoft產品的所有消息都要存儲到消息數據庫后再進行進一步處理,很少會發生資源爭用、死鎖的情況,而且可靠性很高。
綜合以上SOA軟件產品特點的調研和在國內外的應用情況,幾種技術解決方案都是可行的。選擇時可以綜合可慮現有系統主要采用的技術和現有的平臺。
筆者在實際當中,采用Visual C++作為開發工具,ACE/TAO作為開發CORBA的平臺,進行實現。TAO是一個基于CORBA標準的中間件平臺,它可以實現遠程對象調用,而不用關心如何去進行對象定位,同時,它可以實現TAO的應用的跨平臺、跨編程語言以及跨硬件平臺和通訊協議的特性。
對于任何企業而言,實現SOA都是一個巨大的工程。而該工程最終的結果將使企業內的服務可以進行跨業務單位的發現、發布、重用和組合編排。采用一次性實現的方式,必將耗時很長,在這段實施期間,SOA的任何優勢都無法顯示。SOA項目管理實施過程主張采用迭代的方法。迭代(或循環)比單個項目的開發迭代要長,并且跨越企業架構實現及維護的多個階段。
[1]王紫瑤,南俊杰,段紫輝 等.SOA核心技術及應用[M].北京:電子工業出版社,2008
[2]中國電子技術標準化研究所.SOA用戶指南[M].北京:電子工業出版社,2008
[3]郭創新,單業才,曹一家等.基于多智能體技術的電力企業開放信息集成體系結構研究[J].中國電機工程學報,2005, 25(4):65-70
車忠志,1973年出生,男,山東濟寧人,碩士主要從事信息技術方面的教學與科研工作。
Data Integration Based on Architecture SOA
Che Zhongzhi
Yantai Institute of China Agricultural University,264670, Yantai China
10.3969/j.issn.1001-8972.2012.19.027
AbstractSOA is a new software architecture and had already aroused more and more interests.CIM(Common Information Module) model has universal interfaces, wide adaptability, and is easy to maintain, and high efficiency advantages.This article describes the characteristics of SOA technology as well as system integration analysis.
KeywordsService Oriented Architecture;CIM (Common Information Module); service