萬(wàn)川梅 秦鳳梅
摘要:在信息技術(shù)飛速發(fā)展的時(shí)代,信息的利用程度和管理成為企業(yè)的競(jìng)爭(zhēng)中的關(guān)鍵,近年來(lái)很多IT廠商都致力于SOA的研究。為了更好的在分布式異構(gòu)環(huán)境中實(shí)現(xiàn)企業(yè)的不同的業(yè)務(wù)流程,滿足企業(yè)不斷變更的需求,提出了基于SOA的業(yè)務(wù)流的異構(gòu)系統(tǒng)的集成平臺(tái)的研究與實(shí)踐。該文中主要分析了目前基于SOA業(yè)務(wù)流異構(gòu)系統(tǒng)在集成過(guò)程存在的哪些問(wèn)題,采用現(xiàn)有的一些解覺(jué)方法來(lái)實(shí)現(xiàn)異構(gòu)系統(tǒng)中的集成問(wèn)題。
關(guān)鍵詞:SOA;異構(gòu)系統(tǒng);系統(tǒng)集成
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)07-1675-03
隨著信息化技術(shù)的飛速發(fā)展,信息的利用程度和管理的有效性已成為企業(yè)在競(jìng)爭(zhēng)中的關(guān)鍵。SOA面向服務(wù)架構(gòu)(Service Oriented Archiecture)提供了一種應(yīng)用集成模式和體系結(jié)構(gòu)。近年來(lái)眾多IT廠商都致力于SOA落地的研究,有大批量的商品應(yīng)運(yùn)而生,他們注重推銷新的開(kāi)發(fā)環(huán)境而忽略原有的開(kāi)發(fā)模式和技術(shù),從而導(dǎo)致其實(shí)施成本很高。對(duì)于現(xiàn)有已經(jīng)存在的多種平臺(tái)的實(shí)際企業(yè)環(huán)境,缺少可行的解決方案。因此,目前的SOA面向服務(wù)產(chǎn)品在理念上是分布式的,與實(shí)質(zhì)上企業(yè)需求的真正的跨平臺(tái)、跨領(lǐng)域的分布式結(jié)構(gòu)有著本質(zhì)的區(qū)別,構(gòu)建面向業(yè)務(wù)流程異構(gòu)系統(tǒng)的繼承是節(jié)約成本的一種有效方式。
1 SOA概述
SOA面向服務(wù)的體系結(jié)構(gòu)(service-oriented architecture,SOA)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過(guò)這些服務(wù)之間定義良好的接口和契約聯(lián)系起來(lái)。接口是采用中立的方式進(jìn)行定義的,它應(yīng)該獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進(jìn)行交互。SOA的體系架構(gòu)[2]如下:
SOA被用于信息資源整合,是因其具備標(biāo)準(zhǔn)化、可操作、可組裝的特性。SOA提供了一個(gè)通用的、可互操作的和有彈性的行業(yè)標(biāo)準(zhǔn)架構(gòu),可以在軟件基礎(chǔ)架構(gòu)中建立一系列支持商業(yè)模型的可重復(fù)利用的服務(wù),這些服務(wù)由不同應(yīng)用系統(tǒng)的組件構(gòu)成,能夠適應(yīng)業(yè)務(wù)流程變化的需求。
SOA最終目標(biāo)是為為了按需服務(wù)的業(yè)務(wù),如果需求業(yè)務(wù)更改,就可以執(zhí)行任務(wù)的方式或完成的方式進(jìn)行更改來(lái)滿足業(yè)務(wù)的更改。但目前面臨的現(xiàn)實(shí)是60%業(yè)務(wù)通常是存放在不同的系統(tǒng)的,在SOA的業(yè)務(wù)層中就面臨了系統(tǒng)的異構(gòu)問(wèn)題。通過(guò)解決SOA異構(gòu)系統(tǒng)的集成問(wèn)題就能滿足不斷變化的業(yè)務(wù)級(jí)別、業(yè)務(wù)重點(diǎn)、合作伙伴關(guān)系、行業(yè)地位等因素的業(yè)務(wù)變動(dòng)。
2 SOA的業(yè)務(wù)流程異構(gòu)系統(tǒng)及面臨的問(wèn)題
異構(gòu)系統(tǒng)主要指應(yīng)用系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)的異構(gòu),如學(xué)校的財(cái)務(wù)管理系統(tǒng)、人事系統(tǒng)、圖書管理系統(tǒng)、辦公系統(tǒng)想實(shí)現(xiàn)互操作都面臨著挑戰(zhàn)。在早期的業(yè)務(wù)過(guò)程中,人們對(duì)于在不同應(yīng)用系統(tǒng)間共享的應(yīng)用邏輯和應(yīng)用數(shù)據(jù)沒(méi)有過(guò)多的關(guān)注,更別說(shuō)關(guān)注這些獨(dú)立開(kāi)發(fā)并發(fā)相關(guān)的系統(tǒng)都基于一個(gè)公共的、可重用的架構(gòu)。目前存在的問(wèn)題是如何改善現(xiàn)有的這些系統(tǒng)來(lái)滿足新的業(yè)務(wù)需求,增加新的用戶界面和重組多個(gè)數(shù)據(jù)源、集成移動(dòng)設(shè)備或采用更好的應(yīng)用來(lái)代替原有的應(yīng)用等。
1)異構(gòu)系統(tǒng)面臨的問(wèn)題
目前異構(gòu)系統(tǒng)面臨的問(wèn)題主要集中在系統(tǒng)之間的互操作問(wèn)題,如在財(cái)務(wù)系統(tǒng)中直接調(diào)用人事關(guān)系系統(tǒng)中的某個(gè)功能,財(cái)務(wù)管理系統(tǒng)將相應(yīng)的指令傳給人事管理系統(tǒng),在人事管理系統(tǒng)的應(yīng)用就必須要理解傳來(lái)的指令。在創(chuàng)建財(cái)務(wù)系統(tǒng)和人事系統(tǒng)時(shí)沒(méi)有考慮到與其他系統(tǒng)之間的互操作問(wèn)題,所以他們之間的交互是存在問(wèn)題的。
在軟件發(fā)展的今天,軟件系統(tǒng)的類型多種多樣,如桌面應(yīng)用系統(tǒng)向基于web環(huán)境的分布式應(yīng)用系統(tǒng)轉(zhuǎn)變,各種分布式的開(kāi)發(fā)方法、模型層出不窮。如:DCOM、CORBA、Web Services等技術(shù),這些技術(shù)為基于SOA的的異構(gòu)系統(tǒng)提供了許多的解決方案。如果使用現(xiàn)有的技術(shù)、進(jìn)行改進(jìn),以更好地支持異構(gòu)系統(tǒng)集成是當(dāng)前研究的一個(gè)熱點(diǎn)。
在硬件平臺(tái)、網(wǎng)絡(luò)協(xié)議、軟件環(huán)境的異構(gòu)性越來(lái)越明顯,異構(gòu)環(huán)境下的互操作問(wèn)題越來(lái)越成為人們開(kāi)發(fā)分布式應(yīng)用系統(tǒng)的制約因素的情況下,面臨如下一些問(wèn)題關(guān)鍵:有效安全地實(shí)現(xiàn)異構(gòu)資源信息的共享;快速開(kāi)發(fā)與集成各種異構(gòu)應(yīng)用軟件系統(tǒng);降低應(yīng)用軟件開(kāi)發(fā)成本;提高系統(tǒng)的穩(wěn)定性與可維護(hù)性;在快速變化的技術(shù)環(huán)境與市場(chǎng)開(kāi)發(fā)環(huán)境中保持應(yīng)用軟件系統(tǒng)的適應(yīng)性等等。
2)解決方法
單靠某一個(gè)技術(shù)是不能很好的解決異構(gòu)問(wèn)題中的面臨的問(wèn)題,可以結(jié)合現(xiàn)有及時(shí)如web服務(wù)、.NET Remotiing、中間件技術(shù)或者其他一些組件技術(shù)來(lái)解決異構(gòu)系統(tǒng)之間的數(shù)據(jù)互操作的問(wèn)題。
3 異構(gòu)系統(tǒng)在集成過(guò)程中互操作問(wèn)題的解決方法
異構(gòu)系統(tǒng)的互操作就是指在不同的計(jì)算機(jī)系統(tǒng)之間、在已存在的、地位互相平等的應(yīng)用之間,實(shí)現(xiàn)信息的互通、交換、語(yǔ)意理解與共享的能力。
1) 采用.Net Remoting技術(shù)解決異構(gòu)數(shù)據(jù)庫(kù)繼承問(wèn)題
采用.NET Remoting技術(shù)解決異構(gòu)數(shù)據(jù)庫(kù)繼承問(wèn)題[1],利用XML作為異構(gòu)數(shù)據(jù)轉(zhuǎn)化的中介,實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)的集成。.Net Remoting技術(shù)是微軟推出的下一代分布式組件技術(shù),是DCOM技術(shù)的替代者。
2)中間技術(shù)解決異構(gòu)系統(tǒng)集成問(wèn)題
通過(guò)Web Service技術(shù)實(shí)現(xiàn)分布式異構(gòu)數(shù)據(jù)庫(kù)的繼承[3]。該方法是在基于web環(huán)境的三層架構(gòu)下,在業(yè)務(wù)邏輯層使用XML Web Service,在表示層和數(shù)據(jù)訪問(wèn)層之間起到了轉(zhuǎn)換作用。
3)采用離散制造過(guò)程中異構(gòu)系統(tǒng)功能互操作方法
針對(duì)離散制造過(guò)程中多個(gè)異構(gòu)系統(tǒng)的功能缺乏有效集成導(dǎo)致操作人員在不同系統(tǒng)間反復(fù)切換的問(wèn)題,提出了一種離散制造過(guò)程中異構(gòu)系統(tǒng)的功能互操作方法[4]。該方法通過(guò)封裝和調(diào)用各系統(tǒng)的功能接口,使操作過(guò)程涉及到的各系統(tǒng)的功能接口實(shí)現(xiàn)互調(diào)用;通過(guò)建立用戶映射機(jī)制,對(duì)各系統(tǒng)的訪問(wèn)權(quán)限進(jìn)行關(guān)聯(lián);并在此基礎(chǔ)上通過(guò)在系統(tǒng)中建立互操作流程來(lái)完成操作者實(shí)際的操作過(guò)程。對(duì)涉及到的用戶映射機(jī)制和功能互操作流程進(jìn)行了形式化描述;討論了多系統(tǒng)集成運(yùn)行中功能接口的集成模式、用戶映射機(jī)制和互操作流程的描述框架,通過(guò)服務(wù)Agent建立了功能互操作進(jìn)程的實(shí)現(xiàn)機(jī)制。
4 基于 SOA 的業(yè)務(wù)流程異構(gòu)系統(tǒng)的集成平臺(tái)
基于SOA的業(yè)務(wù)流異構(gòu)系統(tǒng)目前已有將BPO-P以中間件形式融入企業(yè)的IT架構(gòu)中,它的主要特點(diǎn)是:
1)能夠支持異構(gòu)的業(yè)務(wù)系統(tǒng)的跨域集成與互操作性;
2)能夠有效監(jiān)控互聯(lián)網(wǎng)進(jìn)行的web服務(wù)訪問(wèn),保證交互安全性;
3)能夠提供一種機(jī)制將非web服務(wù)類功能組件封裝成為標(biāo)準(zhǔn)服務(wù);
4)能夠提供一種方法將分布式部署的簡(jiǎn)單功web服務(wù)進(jìn)行編排、實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)功能;
5)封裝后的文本服務(wù)能夠部署到不同的平臺(tái)上;
6)平臺(tái)本身能夠在不同的環(huán)境中運(yùn)行(包括軟件、硬件、操作系統(tǒng)、中間件等);
基于SOA的業(yè)務(wù)流程異構(gòu)系統(tǒng)的繼承平臺(tái)模式圖如圖2所示。
1)中心節(jié)點(diǎn):在中心節(jié)點(diǎn)中的BPO-P包括了五層[5]:中間件BPO-P層,他能運(yùn)用在普通的應(yīng)用服務(wù)器上,提供了系統(tǒng)和終端用戶的交互;系統(tǒng)管理層:提供用戶的管理、權(quán)限分配、資源管理、登陸控制等服務(wù);輔助組件層包括了輔助BPO-P的快速部署和功能組件,分別有服務(wù)訪問(wèn)代理、web服務(wù)封裝、業(yè)務(wù)流程、服務(wù)注冊(cè);數(shù)據(jù)庫(kù)平臺(tái)分析數(shù)據(jù)庫(kù)和服務(wù)注冊(cè)中心兩部分,前者存儲(chǔ)平臺(tái)系統(tǒng)數(shù)據(jù),后則存儲(chǔ)平臺(tái)服務(wù)注冊(cè);集成服務(wù)總線,提供web服務(wù)服務(wù)運(yùn)行的環(huán)境和服務(wù)管理、性能監(jiān)控、事務(wù)處理等系統(tǒng)功能,任何第三方應(yīng)用服務(wù)都可以實(shí)現(xiàn)。
2)子節(jié)點(diǎn):每一個(gè)平臺(tái)子節(jié)點(diǎn)根據(jù)業(yè)務(wù)的需求可以無(wú)限的擴(kuò)展,每個(gè)平臺(tái)節(jié)點(diǎn)包括web服務(wù)封裝模塊、業(yè)務(wù)流程的編排、服務(wù)注冊(cè)發(fā)布模塊、服務(wù)訪問(wèn)代理。
3)web服務(wù)封裝:web服務(wù)封裝技術(shù)是SOA的關(guān)鍵,可以采用現(xiàn)有的專門輔助封裝的工具,引導(dǎo)企業(yè)人員快速完成系統(tǒng)服務(wù)的封裝工作。
4)業(yè)務(wù)流程的編排:在SOA的架構(gòu)下,對(duì)現(xiàn)有的web服務(wù)進(jìn)行編排組合可以形成新的業(yè)務(wù)流程服務(wù)。當(dāng)有的流程發(fā)生改變時(shí)可以通過(guò)編排快速改變現(xiàn)有流程結(jié)構(gòu),以適應(yīng)新的業(yè)務(wù)需求。
5)異構(gòu)平臺(tái)的適應(yīng)服務(wù)部署:BPO-P的服務(wù)將輸出結(jié)果通過(guò)編譯、測(cè)試、部署等步驟聯(lián)系在一起自動(dòng)執(zhí)行開(kāi)源工具,開(kāi)源工具具有括平臺(tái)、結(jié)構(gòu)清晰、操作簡(jiǎn)單、易于集成等優(yōu)點(diǎn),就可以解決異構(gòu)平臺(tái)的服務(wù)部署。
5 結(jié)束語(yǔ)
目前SOA業(yè)務(wù)流的異構(gòu)系統(tǒng)的集成是一個(gè)熱點(diǎn)問(wèn)題,通過(guò)現(xiàn)有的平臺(tái)和技術(shù)搭建異構(gòu)系統(tǒng)的集成是能滿足企業(yè)的不斷變化的需求的,能有效支持企業(yè)的應(yīng)用系統(tǒng)的集成,從而實(shí)現(xiàn)企業(yè)的協(xié)作的工作的目標(biāo)。
參考文獻(xiàn):
[1] 管紅杰.SOA架構(gòu)的工作流管理系統(tǒng)的研究與應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2011(5):1654-1657.
[2] 趙亮,姚青.基于SOA的可變業(yè)務(wù)流程管理系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(24):5244-5247.
[3] 代峰.異構(gòu)網(wǎng)格系統(tǒng)互操作中的門戶管理機(jī)制[J].華東科技大學(xué):自然科學(xué)版,2007(11).
[4] 李慶,鐘寶榮.面向服務(wù)架構(gòu)(SOA)研究[J].信息系統(tǒng)工程,2011(11):141-141.
[5] 徐兵元,周興東.面向服務(wù)體系架構(gòu)(SOA)的企業(yè)信息集成平臺(tái)研究及建設(shè)應(yīng)用[J].電子信息技術(shù),2009(11).