摘要:由于許多單位在信息化建設(shè)中沒有一個關(guān)于信息系統(tǒng)開發(fā)的總體性長遠(yuǎn)規(guī)劃,因此在信息化建設(shè)中形成了一個個“信息孤島”,為了最大程序的實現(xiàn)資源整合,節(jié)約資源,本文采用了SOA的軟件體系結(jié)構(gòu)來實現(xiàn)資源整合平臺。
關(guān)鍵詞:面向服務(wù)的體系架構(gòu);WEB服務(wù);資源整合
0 引言
許多單位經(jīng)過多年的信息化建設(shè)已經(jīng)擁有相當(dāng)數(shù)量的管理信息系統(tǒng),這些系統(tǒng)也發(fā)揮了較好的作用。但是,由于沒有一個關(guān)于信息系統(tǒng)開發(fā)的總體性長遠(yuǎn)規(guī)劃,從而導(dǎo)致這些信息管理系統(tǒng)成為一個個“信息孤島”。隨著單位業(yè)務(wù)發(fā)展的需要,許多單位提出了以下新的業(yè)務(wù)需求:
(1)單位內(nèi)部若干不同的應(yīng)用系統(tǒng)通常需要來協(xié)作完成某些新增業(yè)務(wù),因而需要將這些“信息孤島”整合起來,提供跨部門的業(yè)務(wù)服務(wù)。
(2)領(lǐng)導(dǎo)和員工需要更多的靈活性與方便性支持,使他們可以利用各種不同地接入方式來隨時隨地辦理某些業(yè)務(wù)。
(3)原有系統(tǒng)無法滿足單位日益發(fā)展地新需求。
針對以上這些問題,本文通過基于web服務(wù)的SOA技術(shù)來構(gòu)建數(shù)字化資源整合平臺,采用此方案可以有效地集成與整合現(xiàn)有的各種信息管理系統(tǒng)。
SOA技術(shù)在資源整合平臺方面的應(yīng)用
SOA(service-oriented Architecture,也叫面向服務(wù)架構(gòu)或面向服務(wù)的體系結(jié)構(gòu))是指為了解決在互聯(lián)網(wǎng)環(huán)境下業(yè)務(wù)集成的需要[1],通過連接能完成特定任務(wù)的獨立功能實體實現(xiàn)的一種軟件系統(tǒng)架構(gòu)。SOA體系結(jié)構(gòu)包括3個主要的組件[2]:服務(wù)代理、服務(wù)請求者和服務(wù)提供者(見圖1)各組件的功能如下:
服務(wù)代理:對服務(wù)提供者進(jìn)行注冊發(fā)布,并提供搜索服務(wù),以及對其進(jìn)行分類。
服務(wù)請求者:通過服務(wù)代理查找所需的服務(wù),以及使用該服務(wù)。
服務(wù)提供者:發(fā)布自己的服務(wù),并使用自身服務(wù)的請求進(jìn)行響應(yīng)。
與傳統(tǒng)開發(fā)方式相比,SOA具有松散耦合、粗粒度、共享服務(wù)和標(biāo)準(zhǔn)化等特點,其對于資源整合平臺實際的優(yōu)勢具體表現(xiàn)為以下4點:
1)易于集成現(xiàn)有系統(tǒng):在不對現(xiàn)有系統(tǒng)進(jìn)行修改的前提下,SOA可迅速轉(zhuǎn)換現(xiàn)有系統(tǒng)和應(yīng)用為服務(wù)。
2)具有標(biāo)準(zhǔn)化的架構(gòu):只要符合相關(guān)開發(fā)標(biāo)準(zhǔn),任何時候開發(fā)的組件都可以合并成一個結(jié)構(gòu)良好的SOA系統(tǒng),并添加部署在現(xiàn)有的基礎(chǔ)構(gòu)架中。
3)提升開發(fā)效率:由于SOA在可復(fù)用性方面的特性,新的系統(tǒng)在設(shè)計、開發(fā)、測試和實施時可以充分利用自己已有的服務(wù),可以顯著縮短其開發(fā)周期。
4)降低開發(fā)維護(hù)成本:通過采用SOA體系結(jié)構(gòu),可以在原有系統(tǒng)的基礎(chǔ)上進(jìn)行二次開發(fā),因此開發(fā)成本急劇降低。
基于SOA模式的資源整合平臺架構(gòu)模型
由于現(xiàn)在許多單位軟件系統(tǒng)非常分散,數(shù)據(jù)庫結(jié)構(gòu)各不相同,綜合數(shù)據(jù)提取非常困難,信息不能進(jìn)行有效地互聯(lián)互通,以及某些單位業(yè)務(wù)管理流程在不斷變化的問題,我們的系統(tǒng)架構(gòu)將采用以下八層結(jié)構(gòu)來進(jìn)行設(shè)計。
1)表示層(UI):實現(xiàn)用戶交互界面,例如Web界面、智能設(shè)備如PDA、智能手機(jī)設(shè)備的界面、Windows界面。
2)服務(wù)發(fā)布層(Web Service):通過Web Service發(fā)布部門服務(wù)。將業(yè)務(wù)邏輯層中的各種業(yè)務(wù)通過Fecade模式封裝成易用的、粒度較大的業(yè)務(wù)中間件,通過Web Service發(fā)布各種業(yè)務(wù),來接受界面邏輯層的調(diào)用,通過ticket認(rèn)證實現(xiàn)安全的調(diào)用,該層是面向服務(wù)的一層,通過該層實現(xiàn)SOA架構(gòu)的服務(wù)發(fā)布。
3)業(yè)務(wù)邏輯層(BLL):形成業(yè)務(wù)中間件,封裝各種業(yè)務(wù)邏輯,實現(xiàn)各部門的業(yè)務(wù)邏輯。
4)數(shù)據(jù)訪問層(DAL):通過數(shù)據(jù)訪問邏輯組件從數(shù)據(jù)庫中檢索數(shù)據(jù)并把實體數(shù)據(jù)保存回數(shù)據(jù)庫中,即提供通常稱為“CRUD“方法完成對數(shù)據(jù)的持久化操作。
5)數(shù)據(jù)訪問輔助層(DbHelper):利用該層可以訪問多種類型的數(shù)據(jù)庫,通過抽象工程模式實現(xiàn)數(shù)據(jù)庫訪問的無關(guān)性。
6)數(shù)據(jù)庫:數(shù)據(jù)庫作為獨立的一層。
7)業(yè)務(wù)實體組件(Model):現(xiàn)實世界中的業(yè)務(wù)實體通過封裝數(shù)據(jù)來表示,并用于業(yè)務(wù)實體的層間傳輸與表示。
8)實用工具組件(Utility):某些實用功能將被封裝,如壓縮算法、加密算法等,以便于各層的調(diào)用。
3 資源整合平臺的設(shè)計
采用SOA進(jìn)行現(xiàn)有系統(tǒng)集成的步驟:
(1)在各個信息系統(tǒng)中提取需要進(jìn)行對外開放的功能模塊。
(2)以服務(wù)組件的形式表現(xiàn)這些功能模塊。
(3)在服務(wù)注冊器中實現(xiàn)已經(jīng)發(fā)布地服務(wù),以供其它服務(wù)調(diào)用者進(jìn)行綁定和查找。
(4)綁定和調(diào)用服務(wù),將每個Proxy Service注冊到UDDI方便查找,并配置到Route Node中,以便Proxy Service將客戶端的請求轉(zhuǎn)給相應(yīng)Business Service。
4 結(jié)語
針對數(shù)字化平臺這種松耦合、分布式、異構(gòu)的場合,采用基于Web服務(wù)的SOA體系架構(gòu)部署應(yīng)用系統(tǒng),可以節(jié)省系統(tǒng)擴(kuò)展的投資。因為不需要創(chuàng)建新系統(tǒng),只需要利用原有資源和系統(tǒng),就可以使不同部門的信息系統(tǒng)集成到SOA基礎(chǔ)架構(gòu)中。同時,采用該架構(gòu)使系統(tǒng)能夠很好地支持多種類型界面,數(shù)據(jù)庫的更替和建立也更為靈活和簡單。由于各服務(wù)間低耦合,并可根據(jù)需求快捷地組合實現(xiàn)新的服務(wù),資源整合平臺可以簡便地實現(xiàn)業(yè)務(wù)修改、系統(tǒng)重構(gòu)和系統(tǒng)集成,具有靈活、可復(fù)用和可擴(kuò)展等優(yōu)點,能夠較好地適應(yīng)綜合業(yè)務(wù)應(yīng)用和管理的要求。
參考文獻(xiàn):
[1] Eric Newcomer,Greg Lomow.Understanding SOA with Web Services(中文版)EM].徐涵譯.北京:電子工業(yè)出版社,2006
[2] Thomas Er1.SOA概念、技術(shù)與設(shè)計[M].王滿紅,陳榮華譯.北京:機(jī)械工業(yè)出版社,2006.
[3] 王建興,等.基于WebServices的面向服務(wù)信息集成研究[J].計算機(jī)時代,2006,(2):1-2.
[4] 王滿紅,陳榮華.Thomas Erl SOA概念、技術(shù)與設(shè)計,機(jī)械工業(yè)出版社,2006,(01).
[5] 劉國靜.基于SOA架構(gòu)的企業(yè)應(yīng)用研究[D].上海:華東師范大學(xué),2006.