車忠志
中國(guó)農(nóng)業(yè)大學(xué)煙臺(tái)研究院, 山東煙臺(tái) 264670
基于SOA的數(shù)據(jù)集成
車忠志
中國(guó)農(nóng)業(yè)大學(xué)煙臺(tái)研究院, 山東煙臺(tái) 264670
SOA(Service Oriented Architecture)作為新型的軟件體系架構(gòu),已經(jīng)引起了越來(lái)越多的關(guān)注。采用CIM模型,基于SOA架構(gòu)的數(shù)據(jù)集成,具有接口規(guī)范,適應(yīng)性廣,易于維護(hù),傳輸效率高等優(yōu)點(diǎn)。本文介紹了SOA技術(shù)的特點(diǎn)以及SOA體系架構(gòu)下的系統(tǒng)集成分析。
SOA;CIM;服務(wù)
SOA (Service Oriented Architecture)是指“以服務(wù)為中心的體系結(jié)構(gòu)”或者“面向服務(wù)的架構(gòu)”,可以認(rèn)為SOA 主要是一種架構(gòu)風(fēng)格,是包含運(yùn)行環(huán)境、編程模型、架構(gòu)風(fēng)格和相關(guān)方法論等在內(nèi)的一整套新的IT系統(tǒng)和軟件的構(gòu)建方法和過(guò)程,貫穿IT系統(tǒng)規(guī)劃、設(shè)計(jì)、構(gòu)建、運(yùn)維的各個(gè)階段。
國(guó)際電工技術(shù)委員會(huì)IEC定義的兩個(gè)系列標(biāo)準(zhǔn)IEC61968 和IEC61970 分別描述了配電管理系統(tǒng)和能量管理系統(tǒng)的應(yīng)用程序接口,共同定義了一種電力系統(tǒng)通用信息模型CIM 和組件接口規(guī)范CIS(Component Interface Specification)。本文探討了在SOA架構(gòu)下采用CIM模型進(jìn)行數(shù)據(jù)集成。
SOA作為一種軟件系統(tǒng)架構(gòu)方法論,其主要目的就是幫助企業(yè)的業(yè)務(wù)流程更加靈活,通過(guò)讓IT運(yùn)行環(huán)境更好的支持業(yè)務(wù)的變化,來(lái)保證業(yè)務(wù)的靈活性,SOA已經(jīng)成為未來(lái)統(tǒng)一的企業(yè)級(jí)應(yīng)用架構(gòu)。面向服務(wù)架構(gòu)(SOA)最大限度地重用應(yīng)用程序中的“服務(wù)”以提高IT適應(yīng)性和效率。雖然這些概念已經(jīng)存在了數(shù)十年之久,但只是在出現(xiàn)了基于標(biāo)準(zhǔn)的集成技術(shù)(如Web服務(wù)和XML)之后,SOA才開始被加速采用。對(duì)于利用SOA作為統(tǒng)一的企業(yè)基礎(chǔ)架構(gòu),能夠?yàn)槠髽I(yè)的未來(lái)發(fā)展提供非常多的技術(shù)和業(yè)務(wù)優(yōu)勢(shì)。
交換的信息,按照公共信息模型(CIM)的方式進(jìn)行建模,公共信息模型(CIM)是一個(gè)抽象模型,它是采用面向?qū)ο蟮姆绞絹?lái)描述要交換的所有對(duì)象。通過(guò)提供一種用對(duì)象類和屬性及他們之間的關(guān)系來(lái)表示要交換信息的標(biāo)準(zhǔn)方法。
CIM用面向?qū)ο蟮慕<夹g(shù)定義。具體地說(shuō),CIM規(guī)范使用統(tǒng)一建模語(yǔ)言(UML)表達(dá)方法,它將CIM定義成一組包。CIM中的每一個(gè)包包含一個(gè)或多個(gè)類圖,用圖形方式展示該包中的所有類及它們的關(guān)系。
交換信息的公共信息模型(CIM)描述了要交換信息的全面的邏輯視圖。這一定義包括了公用的類和屬性,以及它們之間的關(guān)系(如圖1)。
圖1 CIM模式各元素之間的關(guān)系
每個(gè)類包含的模式信息列出的次序?yàn)椋?/p>
·類的固有屬性
·類的繼承屬性
·類的固有關(guān)聯(lián)
·類繼承的關(guān)聯(lián)。
根據(jù)參與關(guān)聯(lián)的各個(gè)類的作用對(duì)關(guān)聯(lián)進(jìn)行描述。關(guān)聯(lián)可以有附加的關(guān)聯(lián)類來(lái)具體定義特定關(guān)聯(lián)的性質(zhì)。
依照UML規(guī)范,CIM把類組織到包(package)中。包可能根據(jù)其包含類的多少再分成子包。
針對(duì)SOA架構(gòu),一些主要的基礎(chǔ)軟件提供商都推出解決方案和相關(guān)產(chǎn)品,主要有基于IBM產(chǎn)品的技術(shù)解決方案、基于BEA產(chǎn)品的技術(shù)解決方案、基于Oracle產(chǎn)品的技術(shù)解決方案、基于SUN產(chǎn)品的技術(shù)解決方案、基于Microsoft產(chǎn)品的技術(shù)解決方案。
IBM產(chǎn)品除了與自己的產(chǎn)品和技術(shù)具有接口外,其他的適配器不多。在開發(fā)方面,IBM緊緊圍繞Eclipse,提供了WebSphere Application Developer for Integration Edition(簡(jiǎn)稱 WSAD-IE)來(lái)對(duì)應(yīng)用開發(fā)提供支持,開發(fā)環(huán)境使用較為方便。
BEA產(chǎn)品可提供業(yè)務(wù)流程管理、企業(yè)資源訪問(wèn)、動(dòng)態(tài)集成服務(wù),以及集成化的設(shè)計(jì)環(huán)境。管理功能方面,提供了基于Web的運(yùn)行時(shí)管理、控制分析功能,用戶可以確信解決方案已經(jīng)發(fā)揮作用,并以最佳狀態(tài)運(yùn)行??蛻艨稍谕粋€(gè)控制臺(tái)中使用第三方管理工具。
Oracle產(chǎn)品的軟件架構(gòu)能夠保證系統(tǒng)的穩(wěn)定性和可靠性,保證數(shù)據(jù)在交換過(guò)程中不被丟失。提供良好的管理界面和管理工具,良好的擴(kuò)展機(jī)制,能夠通過(guò)簡(jiǎn)單的配置、少量的定制化,快速和其它系統(tǒng)進(jìn)行對(duì)接??梢酝ㄟ^(guò)靈活的配置改變接口處理流程。此外,還具有數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)路由、數(shù)據(jù)加密、身份認(rèn)證等功能。
SUN產(chǎn)品與“組合應(yīng)用平臺(tái)軟件”(CAPS)密切相連,提供業(yè)務(wù)流程管理、企業(yè)資源訪問(wèn)、動(dòng)態(tài)集成服務(wù),以及集成化設(shè)計(jì)環(huán)境。Sun CAPS可靈活應(yīng)對(duì)業(yè)務(wù)變化和降低總擁有成本。它為基于SOA的企業(yè)應(yīng)用開發(fā)創(chuàng)建了一個(gè)高度集成、極富生產(chǎn)效率的技術(shù)環(huán)境。
Microsoft產(chǎn)品可以支持所有主流數(shù)據(jù)庫(kù)、基礎(chǔ)架構(gòu)和產(chǎn)品(如CORBA、EJB、MQ、EDI)。在開發(fā)工具支持方面,Microsoft 使用 Visual Studio.NET 2008作為應(yīng)用的開發(fā)工具。Microsoft產(chǎn)品的所有消息都要存儲(chǔ)到消息數(shù)據(jù)庫(kù)后再進(jìn)行進(jìn)一步處理,很少會(huì)發(fā)生資源爭(zhēng)用、死鎖的情況,而且可靠性很高。
綜合以上SOA軟件產(chǎn)品特點(diǎn)的調(diào)研和在國(guó)內(nèi)外的應(yīng)用情況,幾種技術(shù)解決方案都是可行的。選擇時(shí)可以綜合可慮現(xiàn)有系統(tǒng)主要采用的技術(shù)和現(xiàn)有的平臺(tái)。
筆者在實(shí)際當(dāng)中,采用Visual C++作為開發(fā)工具,ACE/TAO作為開發(fā)CORBA的平臺(tái),進(jìn)行實(shí)現(xiàn)。TAO是一個(gè)基于CORBA標(biāo)準(zhǔn)的中間件平臺(tái),它可以實(shí)現(xiàn)遠(yuǎn)程對(duì)象調(diào)用,而不用關(guān)心如何去進(jìn)行對(duì)象定位,同時(shí),它可以實(shí)現(xiàn)TAO的應(yīng)用的跨平臺(tái)、跨編程語(yǔ)言以及跨硬件平臺(tái)和通訊協(xié)議的特性。
對(duì)于任何企業(yè)而言,實(shí)現(xiàn)SOA都是一個(gè)巨大的工程。而該工程最終的結(jié)果將使企業(yè)內(nèi)的服務(wù)可以進(jìn)行跨業(yè)務(wù)單位的發(fā)現(xiàn)、發(fā)布、重用和組合編排。采用一次性實(shí)現(xiàn)的方式,必將耗時(shí)很長(zhǎng),在這段實(shí)施期間,SOA的任何優(yōu)勢(shì)都無(wú)法顯示。SOA項(xiàng)目管理實(shí)施過(guò)程主張采用迭代的方法。迭代(或循環(huán))比單個(gè)項(xiàng)目的開發(fā)迭代要長(zhǎng),并且跨越企業(yè)架構(gòu)實(shí)現(xiàn)及維護(hù)的多個(gè)階段。
[1]王紫瑤,南俊杰,段紫輝 等.SOA核心技術(shù)及應(yīng)用[M].北京:電子工業(yè)出版社,2008
[2]中國(guó)電子技術(shù)標(biāo)準(zhǔn)化研究所.SOA用戶指南[M].北京:電子工業(yè)出版社,2008
[3]郭創(chuàng)新,單業(yè)才,曹一家等.基于多智能體技術(shù)的電力企業(yè)開放信息集成體系結(jié)構(gòu)研究[J].中國(guó)電機(jī)工程學(xué)報(bào),2005, 25(4):65-70
車忠志,1973年出生,男,山東濟(jì)寧人,碩士主要從事信息技術(shù)方面的教學(xué)與科研工作。
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