監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

透過ESB看SOA落地

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

來源:泛普軟件

從企業(yè)服務(wù)總線(Enterprise Service Bus,ESB)在2002 年被正式提出以來,我們看到ESB不管是在實(shí)現(xiàn)方式還是部署方式上都有了不小的變化。在過去的四年多的時間里,ESB 作為軟件領(lǐng)域里的一個獨(dú)立產(chǎn)品也被越來越多的人所接受,眾多的ESB 供應(yīng)商正在架構(gòu)、連接性、易用性以及服務(wù)質(zhì)量的保證(如持續(xù)可用)等方面進(jìn)行競爭。很多綜合服務(wù)供應(yīng)商(如IBM、BEA)、企業(yè)應(yīng)用集成商(如Tibco、webMethod)以及Web 服務(wù)工具供應(yīng)商都紛紛給自己的產(chǎn)品冠以ESB的名號,英國電信甚至把ESB 做進(jìn)了它們的一個硬件產(chǎn)品中。

很明顯,作為SOA(Service-Oriented Architecture)的核心和基礎(chǔ)架構(gòu),ESB 已經(jīng)成為準(zhǔn)備踏上和已經(jīng)踏上SOA 之旅的CIO 們必須認(rèn)真考慮和仔細(xì)研究的一個產(chǎn)品。因?yàn)樽鳛橐环N中間件,ESB通過與它連接的各種應(yīng)用的服務(wù)級接口實(shí)現(xiàn)各種應(yīng)用之間的連接,控制它們之間的通信,這一功能正在越來越多的生產(chǎn)系統(tǒng)中發(fā)揮著作用。更為重要的是,幾年來很多企業(yè)和機(jī)構(gòu)已經(jīng)在生產(chǎn)中部署了ESB,ESB 的效果得到了一定程度的校驗(yàn),同時人們對如何充分發(fā)揮ESB 的作用以及建立SOA 的環(huán)境,為此需要建設(shè)、部署管理哪些基礎(chǔ)設(shè)施有了越來越清晰的認(rèn)識。

這些基礎(chǔ)設(shè)施包括:

●  面向流程、事件驅(qū)動的架構(gòu)(Event-Driven Architecture,EDA);

●   Web 服務(wù)的治理;

●  高級Web 服務(wù)規(guī)范(WS-*);

●  復(fù)雜事件處理(Complex Event Processing,CEP);

●  語義數(shù)據(jù)集成。

事件驅(qū)動的架構(gòu)談到ESB 就不得不談到面向流程、事件驅(qū)動的架構(gòu),因?yàn)镋SB 與這種架構(gòu)配合起來可謂相得益彰。

通常,點(diǎn)對點(diǎn)的集成是通過簡單的請求/響應(yīng)這種同步的方式來完成交互的。在這種環(huán)境中,ESB 作為數(shù)據(jù)傳輸和轉(zhuǎn)換的中介可以很好地完成這一任務(wù),但是,ESB 最能發(fā)揮作用、也最能體現(xiàn)其帶來的靈活性的地方還是在面向流程、事件驅(qū)動的架構(gòu)中。

在進(jìn)行跨多個應(yīng)用、大范圍的集成時,成功的關(guān)鍵是有一個靈活的架構(gòu),面向流程、事件驅(qū)動的架構(gòu)就是這樣的架構(gòu)。通過使用ESB,事件驅(qū)動的架構(gòu)中的每個應(yīng)用與其他應(yīng)用之間處于一種松耦合狀態(tài)。在這種架構(gòu)中,每個應(yīng)用獨(dú)立于其他應(yīng)用運(yùn)行完成一項任務(wù),或者異步地完成一組任務(wù)中的一個。即使在一個應(yīng)用發(fā)出了一個請求,然后等待響應(yīng)以完成接下來的流程時也是這樣。這個請求被發(fā)到總線上,按照預(yù)先定義的流程,這個請求可能會經(jīng)過很多應(yīng)用、數(shù)據(jù)源、路由器和轉(zhuǎn)換器。上述一系列的行為都是獨(dú)立完成的,最后的響應(yīng)也是作為一個獨(dú)立的事件到達(dá)最初的這個應(yīng)用。

事件驅(qū)動的交互模式一個主要優(yōu)點(diǎn)就是保證應(yīng)用之間的松耦合。只要接入ESB 中,每個應(yīng)用都不用了解如何與其他的應(yīng)用進(jìn)行交互這些細(xì)節(jié),ESB 負(fù)責(zé)處理所有的協(xié)議、數(shù)據(jù)格式和不同的交互模式。

當(dāng)然,事件驅(qū)動的架構(gòu)只有在一定條件下才能有效地工作。首先,ESB 必須具有可靠和高可用的異步消息傳遞能力。在一個同步的點(diǎn)對點(diǎn)的集成項目中,如果一個應(yīng)用沒有收到一個請求的響應(yīng),它會發(fā)出錯誤的信息,同時再次嘗試發(fā)出請求。但是在異步的情況下,應(yīng)用向ESB 發(fā)出一個請求以后就不再關(guān)心是否會有響應(yīng),直到一個新的請求到達(dá),通知這個應(yīng)用完成下一個處理。

由于很多時候企業(yè)的所有交易都必須經(jīng)過ESB 總線完成,因此ESB 必須有容錯能力,支持復(fù)雜的業(yè)務(wù)邏輯,遇到錯誤的邏輯也能及時恢復(fù)。

另外一個必須滿足的條件是,應(yīng)用需要適應(yīng)這種事件驅(qū)動的交互模式。在事件順序非常重要的場合,應(yīng)用必須能夠檢查事件的順序并做出適當(dāng)?shù)奶幚?,否則,ESB 就要有能力保證在復(fù)雜的邏輯情況下(也許這些邏輯還會有錯)事件的先后順序。

Web 服務(wù)的治理每個企業(yè)的SOA 之路都不同,有時甚至一個企業(yè)的各個部門也各不相同。有些企業(yè)中可能同時有幾支開發(fā)隊伍在使用不同的Web 服務(wù)工具,有些企業(yè)或許已經(jīng)能體驗(yàn)ERP 系統(tǒng)或者其他應(yīng)用服務(wù)環(huán)境中Web 服務(wù)的作用了,在這些企業(yè)中很可能已經(jīng)部署了多個ESB 產(chǎn)品,當(dāng)然,也很可能一個也沒有。

在部署了SOA 架構(gòu)的這些企業(yè)中,Web 服務(wù)管理平臺是一個能發(fā)揮重要作用的管理工具。特別是在業(yè)務(wù)流程需要跨越多個異構(gòu)的環(huán)境時,Web 服務(wù)管理平臺能提供端到端的業(yè)務(wù)流程的可視性,保證它的安全、進(jìn)行控制和執(zhí)行某些策略。除了跟蹤服務(wù)級別協(xié)議外,Web 服務(wù)管理平臺還能提供一個業(yè)務(wù)的視角來幫助了解SOA 環(huán)境中某個服務(wù)失敗后給業(yè)務(wù)帶來的影響。為了執(zhí)行SLA 和其他的業(yè)務(wù)規(guī)則,它還能動態(tài)地調(diào)整SOA 環(huán)境。無論是點(diǎn)對點(diǎn)的同步模式下還是異步的事件驅(qū)動模式下,這一點(diǎn)都是成立的。

有些Web 服務(wù)管理平臺能把上述能力擴(kuò)展到ESB、應(yīng)用服務(wù)器和數(shù)據(jù)庫訪問上,如果服務(wù)的執(zhí)行需要跨不同的平臺、數(shù)據(jù)庫、協(xié)議和設(shè)備時,有些甚至還可以提供一些業(yè)務(wù)級別的指標(biāo)和報告。

高級Web 服務(wù)規(guī)范

為了確保Web 服務(wù)之間的順利交互,一些廠商在一起共同制訂了一些高級的Web 服務(wù)規(guī)范(WS-*),如WS-ReliableMessaging、WS-Security, WS-Addressing、WS-Policy 等,由于這些廠商的大力推動,這些規(guī)范正在逐步進(jìn)入到應(yīng)用階段。過去,ESB 由于采用廠商自己定義的、面向消息的中間層作為核心架構(gòu)而被貼上了專有技術(shù)的標(biāo)簽,如今,隨著ESB 逐步采用了這些高級的Web 服務(wù)規(guī)范,這一點(diǎn)不再成為問題。事實(shí)上,正是ESB 讓W(xué)S-*規(guī)范落到實(shí)處,因?yàn)樵贓SB 的頂層提供了這些規(guī)范的實(shí)現(xiàn)之后,使得Web 服務(wù)的可擴(kuò)展性、可管理性和可用性都大大增加了。
此外,在其他平臺和應(yīng)用服務(wù)供應(yīng)商都實(shí)現(xiàn)這些規(guī)范后,ESB 之間的互操作性也得到了很大改善。復(fù)雜事件處理復(fù)雜事件處理(Complex Event Processing,CEP),有時也稱事件流處理(Event StreamProcessing,ESP),是事件驅(qū)動架構(gòu)領(lǐng)域里的一個新技術(shù)。作為一種實(shí)時事件處理并從大量事件數(shù)據(jù)流中挖掘復(fù)雜模式的技術(shù),CEP 通過分析有意義的事件從而實(shí)時地取得這些有意義的信息。

該引擎可廣泛應(yīng)用于網(wǎng)絡(luò)入侵探測、SLA 監(jiān)測、航空運(yùn)輸調(diào)控以及金融服務(wù)領(lǐng)域的算法交易(在電子市場中通過計算機(jī)程序來進(jìn)來金融投資的一種交易方法)、金融風(fēng)險管理、欺詐探測。通常CEP 引擎被嵌入ESB 中,作為ESB 一項服務(wù)。其中的事件流可以來自ESB,也可以有其他的來源,如外部的RFID 閱讀器和證券報價信息。CEP 找到了復(fù)雜事件的模型,接下來可以向業(yè)務(wù)活動監(jiān)控系統(tǒng)的控制面板發(fā)出一個警報,也可以調(diào)用一個服務(wù)或者通過ESB 激活下一個流程。

語義數(shù)據(jù)的集成如果需要,ESB 可以在業(yè)務(wù)流程中插入一個數(shù)據(jù)轉(zhuǎn)換引擎,這就使得不同應(yīng)用之間的數(shù)據(jù)格式的轉(zhuǎn)化變得非常容易?,F(xiàn)在將一種通用的數(shù)據(jù)格式轉(zhuǎn)換為某一專有的數(shù)據(jù)格式的服務(wù),如驗(yàn)證(Validate)、豐富(Enrich)、轉(zhuǎn)化(Transform)、執(zhí)行(Operation)等,已經(jīng)作為最佳實(shí)踐出現(xiàn)在市場上。

在一個面向流程、異步事件驅(qū)動的計算環(huán)境中,數(shù)據(jù)轉(zhuǎn)換的方式與點(diǎn)對點(diǎn)的環(huán)境是不同的。為了讓應(yīng)用真正實(shí)現(xiàn)與其他應(yīng)用的松耦合,應(yīng)用之間用來通信的數(shù)據(jù)必須從原來的專有數(shù)據(jù)格式轉(zhuǎn)換為一種通用的或者在整個組織內(nèi)相對規(guī)范的數(shù)據(jù)格式,從而使得所有接入SOA 架構(gòu)中的應(yīng)用只需關(guān)心如何從通用的數(shù)據(jù)格式轉(zhuǎn)換成自己專有的數(shù)據(jù)格式或者從專有的數(shù)據(jù)格式轉(zhuǎn)換為通用的數(shù)據(jù)格式,至于目標(biāo)應(yīng)用究竟需要什么樣的數(shù)據(jù)轉(zhuǎn)換則可以通過ESB 根據(jù)需要來進(jìn)行。

這就極大地降低了把新應(yīng)用加入到SOA 環(huán)境時的復(fù)雜性,也降低了現(xiàn)存應(yīng)用之間交互的復(fù)雜性。采用這種方法帶來的另一個好處是,中間服務(wù)(如路由、分離、聚合等)可以按照規(guī)范的數(shù)據(jù)格式來編寫,因此,也降低了程序開發(fā)的難度。

盡管普通的映射工具也可以完成從一種數(shù)據(jù)格式到另一種數(shù)據(jù)格式的轉(zhuǎn)換,但在應(yīng)用眾多的場合,數(shù)據(jù)模型非常多而且復(fù)雜、同時涉及眾多各種不同的應(yīng)用和數(shù)據(jù)源,這時此類工具往往缺乏管理這些數(shù)據(jù)模型之間的映射和相互關(guān)系的能力。作為ESB 的一個補(bǔ)充,語義數(shù)據(jù)映射工具已經(jīng)出現(xiàn),它所針對的正是大規(guī)模部署SOA 時迫切需要解決的各種數(shù)據(jù)格式之間的關(guān)系問題。與之相比,在進(jìn)行點(diǎn)對點(diǎn)方式的集成時,人們對每一對需要通信的應(yīng)用之間的數(shù)據(jù)轉(zhuǎn)換關(guān)系是非常清楚的。

用ESB 來實(shí)現(xiàn)SOA

事件驅(qū)動的架構(gòu)是一種非常適合SOA 的體系結(jié)構(gòu),它作為SOA 的一種最佳實(shí)踐備受關(guān)注,
而ESB 正是將二者聯(lián)系起來的關(guān)鍵部分。而且,更為關(guān)鍵的是在大型SOA 架構(gòu)中,ESB 擴(kuò)大了集成應(yīng)用的集成范圍,降低了集成的難度,這是以前無法想象的。只是部署和管理企業(yè)數(shù)據(jù)之間不同含義的復(fù)雜語義映射還不令人滿意,這還是一個需要繼續(xù)進(jìn)行研究和不斷創(chuàng)新的領(lǐng)域。

到目前為止,已經(jīng)有很多企業(yè)采用和部署了ESB,但除了ESB 外,在規(guī)劃企業(yè)的SOA 戰(zhàn)略時還有很多需要考慮的。比如,需要運(yùn)行很多服務(wù),各種平臺之間的交互需要保證安全,需要進(jìn)行管理。幸運(yùn)的是,只要符合SOA 的核心思想,它們通常可以通過Web 服務(wù)接口接入ESB 集成到SOA 環(huán)境中。(it168)

 

發(fā)布:2007-04-23 11:00    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
貴陽OA系統(tǒng)
聯(lián)系方式

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

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

咨詢:400-8352-114

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

QQ在線咨詢

泛普貴陽OA快博其他應(yīng)用

貴陽OA軟件 貴陽OA新聞動態(tài) 貴陽OA信息化 貴陽OA快博 貴陽OA軟件行業(yè)資訊 貴陽軟件開發(fā)公司 貴陽門禁系統(tǒng) 貴陽物業(yè)管理軟件 貴陽倉庫管理軟件 貴陽餐飲管理軟件 貴陽網(wǎng)站建設(shè)公司