ESB這個(gè)新名詞讓人感到既時(shí)髦又有點(diǎn)兒迷糊,它似乎正在被賦予許多自己不應(yīng)承載的內(nèi)容。那么,ESB究竟是什么呢?本文將對(duì)此進(jìn)行相關(guān)的介紹,并著重說(shuō)明中間件和ESB之間的關(guān)系。
中間件到底是什么東西?
它現(xiàn)在就好比是不斷將新思想一股腦兒澆在老方法上的一碗意大利面條。業(yè)界不斷將更多的調(diào)料澆在這碗面條上: 例如企業(yè)應(yīng)用集成、企業(yè)信息集成、業(yè)務(wù)流程管理和面向消息的中間件等模糊概念。
中間件食譜中的最新成份是時(shí)髦名詞——ESB(企業(yè)服務(wù)總線(xiàn))。ESB現(xiàn)在已經(jīng)成為一種市場(chǎng)誘惑,因?yàn)樗兄Z提供簡(jiǎn)單、快速、基于標(biāo)準(zhǔn)的多點(diǎn)集成。如果現(xiàn)在翻開(kāi)大多數(shù)中間件廠商的資料,就會(huì)發(fā)現(xiàn)有關(guān)ESB的文章真是長(zhǎng)篇大論,但這些卻似乎讓新方法與老范例之間的界線(xiàn)更加模糊了。
其實(shí),ESB就是一種可以提供可靠的、有保證的消息技術(shù)的最新方法。ESB中間件產(chǎn)品利用的是Web服務(wù)標(biāo)準(zhǔn)和與公認(rèn)的可靠消息MOM協(xié)議接口(例如IBM的WebSphere MQ、Tibco的Rendezvous和Sonic Software的SonicMQ)。ESB產(chǎn)品的共有特性包括:連接異構(gòu)的MOM、利用Web服務(wù)描述語(yǔ)言接口封裝MOM協(xié)議,以及在MOM傳輸層上傳送簡(jiǎn)單對(duì)象應(yīng)用協(xié)議(SOAP)傳輸流的能力。大多數(shù)ESB產(chǎn)品支持在分布式應(yīng)用之間通過(guò)中間層如集成代理實(shí)現(xiàn)直接對(duì)等溝通。
廠商支持ESB的方式雖然各不相同,但是顯然這一種類(lèi)產(chǎn)品的覆蓋面非常廣泛,包括了傳統(tǒng)MOM廠商以及中間件公司,例如Cape Clear、Fiorano、IONA、Polar Lake、SeeBeyond、SpiritSoft、Systinet和Vitria。任何廠商只要支持Java消息服務(wù)MOM或JMS API都可以將自己定位于ESB廠商。任何實(shí)現(xiàn)新興Web 服務(wù)可靠消息傳遞(WS-RM)規(guī)范的廠商也可以聲稱(chēng)自己提供了ESB工具。
當(dāng)然,沒(méi)有一家ESB廠商滿(mǎn)足于只提供一條可靠的通道。因此,它們將各種東西投入到他們的ESB大鍋里,并且拼命地?cái)嚢韬头础OM、企業(yè)應(yīng)用集成、業(yè)務(wù)流程管理、集成代理、指揮協(xié)調(diào)、數(shù)據(jù)轉(zhuǎn)換、發(fā)布與訂閱、事件通知、基于內(nèi)容的路由、事務(wù)處理……它們都是ESB,至少?gòu)S商們會(huì)這么說(shuō)。
而企業(yè)的IT人員需要的是易于安裝、配置、執(zhí)行和管理的集成產(chǎn)品。他們需要強(qiáng)大的、支持標(biāo)準(zhǔn)的、能實(shí)現(xiàn)任意對(duì)象之間集成的中間件。他們需要廉價(jià)而迅速地集成,而不是費(fèi)時(shí)多年、高風(fēng)險(xiǎn)、耗費(fèi)大量資金的大型集成。
今天的ESB產(chǎn)品能夠提供這一切嗎?恐怕很難。問(wèn)題的關(guān)鍵并不在于產(chǎn)品本身,而是那些已經(jīng)在許多企業(yè)中扎根的多如牛毛的中間件產(chǎn)品、協(xié)議和方法。各公司為中間件和集成應(yīng)用投入了太多的資金,以致于不可能在一夜之間將它們?nèi)刻蕴購(gòu)念^開(kāi)始。實(shí)際的集成環(huán)境基本上是采用多家廠商的中間件產(chǎn)品,其中許多中間件產(chǎn)品是在特殊戰(zhàn)略項(xiàng)目的環(huán)境下部署的,或用來(lái)集成特定的應(yīng)用、平臺(tái)和協(xié)議集合。
因此,大多數(shù)的公司并沒(méi)有單一企業(yè)范圍的“總線(xiàn)”,而這種總線(xiàn)也不可能很快問(wèn)世。由于實(shí)際應(yīng)用中的集成需求多得令人眼花繚亂,沒(méi)有一種ESB產(chǎn)品可以提供單一的解決方案。大多數(shù)企業(yè)所能做的就是在老環(huán)境難以應(yīng)付的異構(gòu)性上再覆蓋上一層基于標(biāo)準(zhǔn)的集成環(huán)境。
總而言之,ESB術(shù)語(yǔ)只是一個(gè)有關(guān)MOM和基于SOAP的Web服務(wù)融合的籠統(tǒng)短語(yǔ)罷了。我們不應(yīng)該賦予這個(gè)術(shù)語(yǔ)它所不能承載的更多含意。它只是連接我們整體盤(pán)子上中間件肉丸子的一種方法而已。
什么是ESB ?
全稱(chēng)為Enterprise Service Bus,即企業(yè)服務(wù)總線(xiàn)。它是傳統(tǒng)中間件技術(shù)與XML、Web服務(wù)等技術(shù)結(jié)合的產(chǎn)物。ESB提供了網(wǎng)絡(luò)中最基本的連接中樞,是構(gòu)筑企業(yè)神經(jīng)系統(tǒng)的必要元素。
ESB的出現(xiàn)改變了傳統(tǒng)的軟件架構(gòu),可以提供比傳統(tǒng)中間件產(chǎn)品更為廉價(jià)的解決方案,同時(shí)它還可以消除不同應(yīng)用之間的技術(shù)差異,讓不同的應(yīng)用服務(wù)器協(xié)調(diào)運(yùn)作,實(shí)現(xiàn)了不同服務(wù)之間的通信與整合。從功能上看,ESB提供了事件驅(qū)動(dòng)和文檔導(dǎo)向的處理模式,以及分布式的運(yùn)行管理機(jī)制,它支持基于內(nèi)容的路由和過(guò)濾,具備了復(fù)雜數(shù)據(jù)的傳輸能力,并可以提供一系列的標(biāo)準(zhǔn)接口。
有人說(shuō),Web2.0和SOA珠聯(lián)璧合;也有人說(shuō),ESB是SOA的基礎(chǔ)與核心;還有人說(shuō),最重要的是找到快速切入SOA的技術(shù)手段……實(shí)施SOA是美好的憧憬,也是艱難的跋涉,就讓道聽(tīng)途說(shuō)的狀況到此為止吧。12月20日,身處一線(xiàn)的SOA資深專(zhuān)家將現(xiàn)場(chǎng)過(guò)招,詳解案例,直面難題,你來(lái)不來(lái)?
該文章在 2011/6/26 23:21:48 編輯過(guò)