監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關(guān)閉

構(gòu)建基于標(biāo)準(zhǔn)的SOA治理(AMT研究院 周瑛 編譯)

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

AMTeam.org

為了迅速靈活地構(gòu)建新的全局應(yīng)用,企業(yè)正全面實(shí)施面向服務(wù)的架構(gòu)(Service-Oriented Architecture,SOA),將軟件資產(chǎn)同項(xiàng)目、部門、合作伙伴連接起來。采用這種架構(gòu)后,服務(wù)多樣性大為豐富,使得SOA架構(gòu)內(nèi)的服務(wù)交互治理變得日益緊迫。通常企業(yè)會(huì)制定和實(shí)施統(tǒng)一的治理政策(見圖1)。

圖1  治理政策

這些治理政策也日益受到新出現(xiàn)標(biāo)準(zhǔn)的規(guī)范。這些標(biāo)準(zhǔn)首先出現(xiàn)在供應(yīng)商的產(chǎn)品中。逐漸地,企業(yè)開始采用SOA基礎(chǔ)設(shè)施解決方案,通過政策框架來治理SOA,保證全局SOA治理的一致性。這些框架在SOA環(huán)境中提供消息媒介功能,保證交互遵循關(guān)鍵的政策,促進(jìn)企業(yè)范圍內(nèi)的服務(wù)共享和重用。

1. SOA的政策治理

隨著SOA在范圍和功能上的擴(kuò)展,其治理需求也日益增加。治理可以通過SOA基礎(chǔ)設(shè)施解決方案實(shí)現(xiàn),它能夠保證運(yùn)行時(shí)政策對(duì)SOA以及所有與SOA相關(guān)的交互進(jìn)行治理。這些治理政策具備實(shí)現(xiàn)無縫SOA功能所需的元數(shù)據(jù)。

一般來說,現(xiàn)在SOA都是通過集成一系列的非標(biāo)準(zhǔn)解決方案進(jìn)行治理的。例如,圖1所示的路由/消息能力(錯(cuò)誤修復(fù)/負(fù)載平衡,有保證傳遞,優(yōu)先級(jí)傳遞,同步和異步消息傳遞等)一般通過一個(gè)面向消息的中間件(Message-Oriented Middleware,MOM)工具來加入到SOA中。雖然這種方式比較通用,但它違背了SOA的首要原則——即嚴(yán)格遵守標(biāo)準(zhǔn)。這種方法無法實(shí)現(xiàn)跨平臺(tái)互操作和普遍適用。

點(diǎn)對(duì)點(diǎn)的解決方案在Web Services項(xiàng)目的起始階段還是可行的,因?yàn)檫@時(shí)候還只需要執(zhí)行少數(shù)的核心標(biāo)準(zhǔn)(通常是指WSDL、SOAP、XML)就能夠取得成功。但隨著全局SOA的深入,需要遵循更多的標(biāo)準(zhǔn)以保證互操作性,同時(shí)保證有充分的治理(見圖2)。

圖2  治理政策的標(biāo)準(zhǔn)化

許多標(biāo)準(zhǔn)可以包含入各個(gè)WSDL或SOAP消息中,提高所有實(shí)體的自描述水平,促進(jìn)動(dòng)態(tài)的SOA治理。雖然這種完美的目標(biāo)能夠形成完全遵循標(biāo)準(zhǔn)的SOA環(huán)境,但它并不能保證充分的SOA治理,因?yàn)樗雎粤艘韵率聦?shí):

  • 平臺(tái)多樣性決定了不同的終點(diǎn)擁有不同的標(biāo)準(zhǔn)水平和自描述水平。
  • 大范圍的開發(fā)技巧集可以保證一些終點(diǎn)具備充分的自描述水平和標(biāo)準(zhǔn)水平,但仍會(huì)有一些終點(diǎn)缺乏必要的元數(shù)據(jù)進(jìn)行松散耦合。
  • 隨著標(biāo)準(zhǔn)的成熟和發(fā)展,當(dāng)前開發(fā)的服務(wù)在未來可能就不兼容了。

因此,企業(yè)正在尋求整套的SOA基礎(chǔ)設(shè)施解決方案,以實(shí)現(xiàn)對(duì)所有服務(wù)及服務(wù)交互的治理,不管自描述水平和標(biāo)準(zhǔn)水平如何。

2. 基于標(biāo)準(zhǔn)的治理框架

為了保證SOA治理在全局范圍內(nèi)的一致性,企業(yè)正傾向于采用SOA基礎(chǔ)設(shè)施解決方案,方案提供了治理的政策框架。這些框架在SOA環(huán)境中提供消息媒介,它們扮演政策執(zhí)行點(diǎn)的角色,保證關(guān)鍵政策的實(shí)施,促進(jìn)企業(yè)范圍內(nèi)服務(wù)的共享和重用。

分布式網(wǎng)絡(luò)方法是SOA基礎(chǔ)設(shè)施最適合的架構(gòu)范例,政策執(zhí)行點(diǎn)像網(wǎng)絡(luò)路由器(而不是象代理那樣)一樣成倍增長(zhǎng),構(gòu)建完全可擴(kuò)展的SOA。這有點(diǎn)類似于互聯(lián)網(wǎng)。在互聯(lián)網(wǎng)上,人們可以訪問任何一個(gè)站點(diǎn),使用標(biāo)準(zhǔn)化的接口(HTML)來屏蔽后臺(tái)的異構(gòu)性。用戶無需知道服務(wù)器放在哪里,網(wǎng)站運(yùn)行在什么平臺(tái)上,使用什么編程語言。用戶只需要知道URL。同樣,一個(gè)完全可擴(kuò)展的SOA為所有服務(wù)消費(fèi)者提供到任何Web服務(wù)的訪問,使用標(biāo)準(zhǔn)化的接口(WSDL)來屏蔽后臺(tái)的異構(gòu)性。

為了像互聯(lián)網(wǎng)那樣可靠和迅速,SOA的架構(gòu)也必須同互聯(lián)網(wǎng)類似。應(yīng)該使用分布式網(wǎng)絡(luò)原則,包括使用分布式路由器網(wǎng)絡(luò)(由SOAP優(yōu)化路由器構(gòu)成),保證企業(yè)范圍內(nèi)的互連,支持較高的消息量。

以網(wǎng)絡(luò)為中心的方法是最好的,因?yàn)樗哂袛U(kuò)展性,更加穩(wěn)定和統(tǒng)一。政策可以緩存在網(wǎng)絡(luò)中的路由器上,運(yùn)行時(shí)可以運(yùn)用這些政策進(jìn)行治理。當(dāng)一個(gè)路由器傳遞消息時(shí),即是提供了一個(gè)優(yōu)化點(diǎn),可在此時(shí)統(tǒng)一治理服務(wù)之間和服務(wù)內(nèi)部的所有交互。所有的政策都可以在網(wǎng)絡(luò)中執(zhí)行,而不僅僅是在各個(gè)單獨(dú)的終點(diǎn),這樣就能創(chuàng)建“智能”服務(wù)網(wǎng)絡(luò)來實(shí)現(xiàn)多樣性終點(diǎn)之間的通信。

另外,成熟的SOA基礎(chǔ)設(shè)施解決方案(見圖3)通常采用服務(wù)合約的概念,這是一種針對(duì)特定消費(fèi)者或提供者對(duì)而設(shè)定的政策。

圖3  SOA基礎(chǔ)設(shè)施解決方案

舉個(gè)例子來說,假如消費(fèi)者A希望在SOA基礎(chǔ)設(shè)施環(huán)境中訪問Web Service B,那么他不需要直接發(fā)送消息到Web Service B,他只需要將消息發(fā)送到網(wǎng)絡(luò)上的任一路由器。這些路由器在本地緩存了必要的服務(wù)合約(合約C),可進(jìn)行運(yùn)行時(shí)的無縫執(zhí)行。路由器接收到消息之后,合約內(nèi)的政策就會(huì)在消息送往最終目標(biāo)之前得到執(zhí)行。在這種情景下,合約C能夠規(guī)定這些政策的執(zhí)行:

  • 保證每個(gè)消息只向Web Service B傳遞一次,避免過多的消息造成不良影響
  • 將消息分配到“最高優(yōu)先級(jí)”的隊(duì)列,以便迅速傳遞
  • 訪問Kerberos服務(wù)器對(duì)消費(fèi)者A進(jìn)行認(rèn)證,因?yàn)橄M(fèi)者A的部門使用Kerberos
  • 依據(jù)定義好的“白金”服務(wù)水平協(xié)議,跟蹤Web Service B的性能
  • 可靠地記錄交易相關(guān)的所有日志信息

3.基于網(wǎng)絡(luò)治理的其它好處

將治理任務(wù)放到網(wǎng)絡(luò)上加以執(zhí)行是SOA構(gòu)建和管理方面的一大進(jìn)步。通過集中的政策定義與執(zhí)行,構(gòu)建一個(gè)包容終點(diǎn)多樣性的智能網(wǎng)絡(luò), 這樣就不需要將政策硬塞進(jìn)各個(gè)終點(diǎn),也不需要安裝、配置和維護(hù)政策代理。這種做法能夠帶來以下好處:

  • 一致性:重要的全局政策可以集中進(jìn)行維護(hù),并在網(wǎng)絡(luò)上加以執(zhí)行,它們適用于所有服務(wù)交互。這種方式保證了執(zhí)行的一致性,不管開發(fā)人員的技巧或項(xiàng)目情況如何。
  • 簡(jiǎn)化變化管理:當(dāng)政策升級(jí)或修改后,能夠?qū)嵤﹩我坏娜肿兓WC網(wǎng)絡(luò)上該政策的統(tǒng)一變化,不需要對(duì)每一個(gè)終點(diǎn)進(jìn)行修改。
  • 大幅縮減管理費(fèi)用:在各個(gè)終點(diǎn)進(jìn)行基礎(chǔ)設(shè)施政策的升級(jí)、執(zhí)行和管理,這個(gè)工作量是巨大的。采用集中式的服務(wù)網(wǎng)絡(luò)后,這些管理任務(wù)將大幅降低。
  • 保證執(zhí)行:在所有政策執(zhí)行完畢之前,消息是無法路由到終點(diǎn)的,這保證了所有的政策都能夠得到執(zhí)行。
  • 可擴(kuò)展性:在一個(gè)服務(wù)網(wǎng)絡(luò)中,可以在任何時(shí)刻創(chuàng)建和執(zhí)行額外的政策,并在所有服務(wù)中進(jìn)行共享。任何功能——BPM流程、高級(jí)應(yīng)用功能,EAI交易等——都可以作為一項(xiàng)Web Service,在網(wǎng)絡(luò)上加以執(zhí)行。

4. 結(jié)論

網(wǎng)絡(luò)標(biāo)準(zhǔn)協(xié)議(例如HTTP、FTP、SMTP)具有廣泛適用性,但它們?cè)诒举|(zhì)上缺乏對(duì)可靠消息傳輸模式的支持,而這正是一些高級(jí)應(yīng)用所需要的?;贛OM的企業(yè)服務(wù)總線(Enterprise Services Buses,ESBs)提供可靠的消息傳輸,但又缺乏普遍適用性,并且過于復(fù)雜,無法實(shí)現(xiàn)大規(guī)模增長(zhǎng)。而基于標(biāo)準(zhǔn)的SOA基礎(chǔ)設(shè)施則同時(shí)兼具上述兩個(gè)特點(diǎn)。

 

發(fā)布:2007-03-25 10:12    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
長(zhǎng)沙OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢