国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
ESB——企業(yè)服務(wù)總線沒有神話

ESB——企業(yè)服務(wù)總線沒有神話

在諸多的專題研討會上,企業(yè)架構(gòu)師們探討著許多問題,比如面向服務(wù)架構(gòu)(SOA)的相關(guān)問題、如何讓企業(yè)服務(wù)總線(ESB)作為構(gòu)建企業(yè)SOA框架的主干 問題等。其中,許多人質(zhì)疑ESB的意義所在,從中也體現(xiàn)出當(dāng)前IT群體普遍對ESB存在一定的誤解。

  在諸多的專題研討會上,企業(yè)架構(gòu)師們探討著許多問題,比如面向服務(wù)架構(gòu)(SOA)的相關(guān)問題、如何讓企業(yè)服務(wù) 總線(ESB)作為構(gòu)建企業(yè)SOA框架的主干問題等。其中,許多人質(zhì)疑ESB的意義所在,從中也體現(xiàn)出當(dāng)前IT群體普遍對ESB存在一定的誤解。下面便是 筆者總結(jié)人們最關(guān)心的10個ESB的問題。

  誤區(qū)1:ESB只是EAI換了個名字
  許多IT架構(gòu)團(tuán)體在搭建SOA的同時仍然受到一個問題的困擾:“ESB和EAI到底有什么不同?”ESB是一種用于構(gòu)建企業(yè)SOA的基礎(chǔ)設(shè)施,它比傳 統(tǒng)的EAI代理的用途更為廣泛。根據(jù)福里斯特研究所的報告,ESB可以提高連通性、增加靈活性促進(jìn)發(fā)展、并加強(qiáng)對重要資源的控制,從而幫助企業(yè)實(shí)現(xiàn)SOA 的價值。
  ESB不僅可以用于處理以往依靠EAI工具進(jìn)行的集成項(xiàng)目,還可以用于建立企業(yè)間的B2B關(guān)系。
  ESB可以提供EAI所能提供的功能,但其基本架構(gòu)是不同的:這個架構(gòu)促進(jìn)了企業(yè)從傳統(tǒng)的集成方式轉(zhuǎn)向協(xié)調(diào)服務(wù)交互。EAI通常是采用星形架構(gòu)以獨(dú)立應(yīng)用的形式實(shí)現(xiàn)的。
  ESB提供的功能與EAI代理相同--連通器、應(yīng)用適配器、根據(jù)規(guī)則進(jìn)行的消息路由和數(shù)據(jù)轉(zhuǎn)換引擎--但是這些功能是面向SOA的,它們分布于整個服 務(wù)總線并寄存在可獨(dú)立部署的服務(wù)容器中。這使我們可以有選擇性地部署所需的集成代理功能,不會產(chǎn)生冗余。ESB容器模型的這種分布式特性使以事件驅(qū)動服務(wù) 的形式按需添加到SOA中的集成組件具有獨(dú)立的可擴(kuò)展性。
  為了使集成代理能夠從真正意義上支持SOA并成為真正意義上的ESB,我們需要把它的基本功能分散到組成部件中,然后才能將各個組件獨(dú)立地部署到總線中,并使它們協(xié)調(diào)運(yùn)作。
  我們來看一個基于XSLT的轉(zhuǎn)換引擎。該引擎可以根據(jù)XSLT模式表把一種XML文件轉(zhuǎn)換為另一種XML格式。我可以負(fù)責(zé)任地告訴你沒有什么比分析和 處理XML更消耗計算資源的了。如果兩個經(jīng)?;ネǖ膽?yīng)用之間存在XSLT轉(zhuǎn)換,那么這個轉(zhuǎn)換很可能會成為性能與擴(kuò)展的瓶頸。如果你采用的是獨(dú)立式的星形集 成代理方式,那么為了解決這個瓶頸問題并擴(kuò)大部署你必須把這個集成代理安裝到一個處理能力強(qiáng)大的機(jī)器上,或者是安裝到多臺機(jī)器上--而這僅僅是為了解決這 個轉(zhuǎn)換的問題。同時,其它的集成代理功能,比如路由規(guī)則的處理還在和轉(zhuǎn)換處理搶奪計算資源。
  與集成代理的星型架構(gòu)不同,ESB的基礎(chǔ)核心提供了一種分布式的服務(wù)架構(gòu)。這種架構(gòu)是面向集成的,它可以對集成代理中的各種功能比如消息路由、數(shù)據(jù)轉(zhuǎn)換、和應(yīng)用適配器等進(jìn)行選擇性的按需部署,而這些獨(dú)立的集成服務(wù)正是構(gòu)成SOA的一部分。
  可以把XSLT轉(zhuǎn)換以服務(wù)的形式部署到ESB服務(wù)容器中,然后把這個容器的多個實(shí)例根據(jù)負(fù)載平衡分布到許多機(jī)器中。如果這個ESB容器是跨平臺實(shí)現(xiàn) 的,那么你還可以靈活地選擇轉(zhuǎn)換服務(wù)所跨越的平臺--Linux主機(jī)、Solaris主機(jī)、Windows主機(jī)等等。如果你不喜歡這種簡單的架構(gòu),還可以 這樣考慮:那些對ESB的定義和產(chǎn)品提出非難的供應(yīng)商同時也為我們提供了方便:你可以部署任意多的輕量級ESB服務(wù)容器而無需支付任何額外費(fèi)用。
  ESB提供的這種集成服務(wù)可以與其它服務(wù)結(jié)合融進(jìn)基于SOA的處理流程,從而擴(kuò)大業(yè)務(wù)范圍。ESB中的分布式服務(wù)可以結(jié)合基于路線 (itinerary-based)的路由選擇(見誤區(qū)#7)以實(shí)現(xiàn)自定向、面向消息的服務(wù)交互,從而使ESB的各個部件能夠獨(dú)立地進(jìn)行工作,不會對某個 集中式的路由引擎產(chǎn)生依賴。

  誤區(qū)2:微軟正在利用"Indigo"創(chuàng)建ESB
  微軟的Indigo結(jié)合了Messaging Queuing、Component Object Model COM+、.NET、和Web服務(wù)。他們在做的是具有Web服務(wù)擴(kuò)展功能的消息總線。這和企業(yè)服務(wù)總線是有很大不同的。消息總線暴露了低層消息技術(shù)的詳細(xì) 內(nèi)容,它需要編寫代碼來定義應(yīng)用與服務(wù)之間的關(guān)系。而ESB的意義在于配置而不是編碼,因此也不需要手工編寫內(nèi)部互通的的各應(yīng)用之間的關(guān)系。ESB有利于 提高以事件驅(qū)動的形式暴露于總線上的應(yīng)用之間的松耦合特性。好消息是Indigo上創(chuàng)建的應(yīng)用至少也是基于消息的,因此通過ESB進(jìn)行集成也會比較簡單。
  也就是說,BizTalk Server中的某些東西與Indigo組合后可能會比較像ESB。不過還有很重要的一點(diǎn),即BizTalk是星型集成代理,因此它同樣受到前面在ESB 與EAI中所提到的所有不利方面的影響。你無法在不增加任何費(fèi)用的前提下把XML轉(zhuǎn)換引擎從BizTalk Server中分離出來并作為負(fù)載平衡的服務(wù)運(yùn)行在多臺機(jī)器上(詳見前面EAI與ESB的討論)。

  誤區(qū)3:WS-Rliability和WS-Reliable Messaging等WS-*標(biāo)準(zhǔn)終將解除對ESB的需求
  在設(shè)計ESB的時候就應(yīng)該考慮使其能根據(jù)這些不斷發(fā)展并逐漸獲得商業(yè)應(yīng)用價值的標(biāo)準(zhǔn)做出調(diào)整。WS-*標(biāo)準(zhǔn)的發(fā)展使應(yīng)用終端能更好地通過ESB進(jìn)行交互。
  由于各種平行進(jìn)行的工作,WS-*標(biāo)準(zhǔn)作為不斷發(fā)展的Web服務(wù)標(biāo)準(zhǔn)的一部分自然也存在許多不確定因素。即使這些標(biāo)準(zhǔn)最終發(fā)展健全并且得到了廣泛的應(yīng) 用,它們?nèi)匀恍枰粋€能夠?yàn)槠涮峁┲С值钠脚_。ESB可以在與底層協(xié)作標(biāo)準(zhǔn)無關(guān)的層面上為企業(yè)提供一個構(gòu)建、編排和管理SOA的統(tǒng)一模型。
  WS-Reliability標(biāo)準(zhǔn)的實(shí)施需要有可靠的消息持久性和存儲轉(zhuǎn)發(fā)處理器的支持。企業(yè)消息層是ESB的基礎(chǔ)組件,它通過消息持久性、存儲轉(zhuǎn) 發(fā)、消息驗(yàn)證等消息協(xié)議和與外部XA-compliant事務(wù)處理器的接口保證數(shù)據(jù)傳輸?shù)姆?wù)質(zhì)量。ESB的部署還可能使復(fù)雜網(wǎng)絡(luò)布局的消息路由透明化, 并通過容錯的消息服務(wù)器架構(gòu)實(shí)現(xiàn)消息設(shè)施的持續(xù)可用性。在當(dāng)前高壓的企業(yè)環(huán)境下,要實(shí)現(xiàn)所有這些設(shè)計還需要許多人的多年勞動。
  也就是說,現(xiàn)在部署具有專有消息層的ESB時還應(yīng)該同時采用一種或更多的WS-Rel*作為補(bǔ)充協(xié)議以為將來作準(zhǔn)備。但是,這并不是一種可以解決所有問題的方案,我們?nèi)匀恍枰獙Χ喾N消息和協(xié)議的組合提供支持。

  誤區(qū)4:模式還是產(chǎn)品?
  企業(yè)服務(wù)總線(ESB)這個術(shù)語實(shí)際上并不屬于產(chǎn)品的范疇;它只是一個可以實(shí)現(xiàn)應(yīng)用服務(wù)器與集成中間件的耦合關(guān)系的抽象概念。
  ESB是一個用于構(gòu)建企業(yè)SOA的高度分布化的主干總線。企業(yè)要構(gòu)建面向服務(wù)的架構(gòu),而ESB則是這個架構(gòu)的基礎(chǔ)總線。由于ESB的產(chǎn)生對集成市場帶 來不少沖擊,某些集成供應(yīng)商便放出煙霧彈稱ESB只是一個可以用于組合當(dāng)前的中間件與應(yīng)用服務(wù)設(shè)施的抽象的模式。實(shí)際上,ESB確確實(shí)實(shí)地是一種硬件設(shè) 施,而且?guī)啄昵熬鸵呀?jīng)可以從各供應(yīng)商處購買到了。目前為止,制造業(yè)、金融業(yè)、電信和零售等各產(chǎn)業(yè)之間已經(jīng)部署了許多ESB。
  ESB的定義應(yīng)該包含以下基本要素:
  · 一個分布式的服務(wù)架構(gòu),包括一個用于寄存集成組件作為遠(yuǎn)程服務(wù)的輕量級容器模型
  · 一個可以為各應(yīng)用與服務(wù)提供可靠的消息傳輸?shù)钠髽I(yè)消息主干總線
  · XML Data轉(zhuǎn)換
  · 服務(wù)編排和根據(jù)消息內(nèi)容進(jìn)行處理的智能路由
  · 一個靈活的安全架構(gòu)
  · 可以配置、部署、監(jiān)控以及管理遠(yuǎn)程服務(wù)的管理設(shè)施
  由于ESB的分布式服務(wù)架構(gòu),我們可以通過全球任何位置上的虛擬終端訪問服務(wù)。這個分布式服務(wù)架構(gòu)是建立在一個由可以通過遠(yuǎn)程服務(wù)進(jìn)行配置、部署、管 理和監(jiān)控的輕量級服務(wù)容器構(gòu)成的互聯(lián)系統(tǒng)上的。這些服務(wù)容器通過一個實(shí)現(xiàn)了可擴(kuò)展性、持續(xù)可用性、低延時處理、安全一致和服務(wù)質(zhì)量(QoS)的標(biāo)準(zhǔn)化的消 息主干總線組合到一起。

  誤區(qū)5:ESB與J2EE應(yīng)用服務(wù)產(chǎn)品之間存在競爭
  ESB與J2EE app服務(wù)器是高度互補(bǔ)性質(zhì)的。通過使用JMS、MDB、JCA或Web服務(wù)等標(biāo)準(zhǔn)接口連接到ESB,即使是在非J2EE環(huán)境下J2EE app服務(wù)器也可以與其它應(yīng)用服務(wù)器很好地集成。
  大部分ESB用戶同時也是應(yīng)用服務(wù)器技術(shù)的用戶。這些用戶利用應(yīng)用服務(wù)器和ESB作為他們的集成環(huán)境的最優(yōu)組件--使用應(yīng)用服務(wù)器寄存業(yè)務(wù)邏輯并以門戶的形式提供網(wǎng)站服務(wù),同時使用ESB來集成應(yīng)用服務(wù)器與企業(yè)中的各種后端應(yīng)用和數(shù)據(jù)源。

  誤區(qū)6:只要使用Web service call即可把門戶網(wǎng)站連接到后端系統(tǒng)上
  雖然理論上Web服務(wù)調(diào)用可以把門戶連接到后端目標(biāo)系統(tǒng)上,可是這種方式無法擴(kuò)展到多個后端系統(tǒng)上。通過使用ESB,可以讓門戶服務(wù)器通過唯一的接口連接到總線,而總線則成為門戶服務(wù)器可能調(diào)用到的所有后端系統(tǒng)上的各種連接屬性、協(xié)議、安全和數(shù)據(jù)格式的媒介。
  使用了ESB作為門戶服務(wù)器和可能與門戶服務(wù)器產(chǎn)生交互的各種后端應(yīng)用的中間層相當(dāng)于為ESB用戶提供了一個更為靈活、擴(kuò)展性能更好的SOA,因此當(dāng)項(xiàng)目更成功、根據(jù)業(yè)務(wù)需求需要發(fā)生變化時,他們也能自由地處理各種各樣的集成作業(yè)。

  誤區(qū)7:當(dāng)BPEL獲得廣泛應(yīng)用的時候ESB就會退出舞臺
  ESB可以支持多種事件驅(qū)動的服務(wù)調(diào)用的編排方式。BPEL只是其中的一種。ESB還有基于路線的路由,可以為消息指定一系列的路由指令。消 息因被服務(wù)調(diào)用而經(jīng)過總線的時候,這些代表業(yè)務(wù)過程定義的路由指令始終是和消息綁定的。然后由遠(yuǎn)程ESB服務(wù)容器決定將消息發(fā)送到哪里。
  這個過程中沒有集中的路由規(guī)則引擎,因此基于路線的路由也是ESB分布式的特性一大體現(xiàn)。像星型EAI代理所用的這種集中的消息路由規(guī)則引擎則可能會 成為系統(tǒng)的瓶頸,并且如果這一部分出現(xiàn)故障將導(dǎo)致整個系統(tǒng)的癱瘓。僅僅使用消息路線、消息和過程定義其實(shí)就足夠了,這樣還能允許ESB的各個不同部分獨(dú)立 地進(jìn)行工作。
  消息路線可以有效地處理那些包含有限步驟并且無需很長的處理時間即可結(jié)束的無狀態(tài)隨機(jī)過程。甘特稱這種過程定義為"微流(microflows)"。根據(jù)基于內(nèi)容的路由服務(wù)的使用情況,路線中可能會產(chǎn)生簡單的分支。
  如果需要更復(fù)雜的過程定義,還可以在ESB中加入一個流程編排引擎作為補(bǔ)充服務(wù)。這個過程編排可以支持可能存在很長時間的狀態(tài)過程。它還可以支持帶分 支的平行執(zhí)行路徑,并根據(jù)聯(lián)接條件或轉(zhuǎn)換條件支持消息流執(zhí)行路徑的融合。這樣的過程可以支持BPEL和其它的過程定義語法,比如ebXML BPSS。還可以將成熟的過程編排與非狀態(tài)的基于路線的路由結(jié)合,建立一個可以解決復(fù)雜的集成問題的SOA。

  誤區(qū)8:ESB技術(shù)和其它技術(shù)一樣正在經(jīng)歷一個典型的技術(shù)發(fā)展曲線:憑空產(chǎn)生,迅速發(fā)展,然后馬上進(jìn)入“幻滅”階段。
  ESB這個概念是制造、電子商務(wù)、電信、金融服務(wù)和零售等多個產(chǎn)業(yè)的先導(dǎo)者共同努力產(chǎn)生的結(jié)果。其產(chǎn)生是由于需求,是以當(dāng)時已經(jīng)比較成功的分 布式計算模型和EAI技術(shù)為基礎(chǔ)建立的新方式。這些IT先導(dǎo)者的最終結(jié)果是一致的:"我們的分布式消息基礎(chǔ)結(jié)構(gòu)是成功的,所以我們希望能以此為基礎(chǔ)建立一 個用于集成的基于標(biāo)準(zhǔn)的事件驅(qū)動的SOA。我們希望它能包含Web服務(wù)、XML數(shù)據(jù)轉(zhuǎn)換、基于內(nèi)容的路由和面向分布式過程的服務(wù)調(diào)用模型。"因此,ESB 中所體現(xiàn)的這些概念都是成熟的,是有健全的基礎(chǔ)的。也正因?yàn)槿绱耍珽SB技術(shù)正在發(fā)揮著它應(yīng)有的作用?,F(xiàn)在已經(jīng)有數(shù)百條ESB在各行業(yè)服役,比如供應(yīng)鏈、 物流自動化、金融服務(wù)中的全球直通處理、電信的實(shí)時服務(wù)、以及零售業(yè)的遠(yuǎn)程店面管理。

  誤區(qū)9:ESB只是一個推動器,但它并沒有提供成熟的工具,比如設(shè)計業(yè)務(wù)流用的圖形編輯器。
  現(xiàn)在有一種新的IDE(或Gartner集團(tuán)所稱的ISE)可以讓你設(shè)計、配置、測試、調(diào)試你在建立應(yīng)用ESB的SOA時開發(fā)的集成服務(wù)。其 使用的是圖形界面,集成設(shè)計師可以用UML表示法來描述過程定義。你還可以使用ISE圖形化地創(chuàng)建不同數(shù)據(jù)之間的轉(zhuǎn)換方式并建立和調(diào)試XSLT模式表。

  誤區(qū)10:可以使用EJB容器實(shí)現(xiàn)ESB容器
  ESB結(jié)構(gòu)中的一個關(guān)鍵組成部分就是一個高度分布式的、輕量級的服務(wù)容器。這個服務(wù)容器能以事件驅(qū)動服務(wù)的形式寄存集成組件,比如一個在XML消息中添加XPath表達(dá)式來決定路由的基于內(nèi)容的路由服務(wù)。它還能寄存定制的服務(wù)或用于接入打包的應(yīng)用的專門適配器。
  這和它們的遠(yuǎn)房親戚應(yīng)用服務(wù)器容器及集成代理可不一樣,ESB服務(wù)容器可以讓你隨時在任何地方有選擇性地按需部署集成服務(wù),不多也不會少。而另一方面 即使只需要添加一點(diǎn)集成功能都需要在所有地方安裝完整的應(yīng)用服務(wù)器堆棧。這樣就產(chǎn)生了所謂的"到處都是應(yīng)用服務(wù)器"的問題。同時還會產(chǎn)生數(shù)目不小的許可 證、安裝、和隨后相關(guān)的各種費(fèi)用。
  而ESB的精髓在于"配置取代編碼"。如果是以應(yīng)用服務(wù)器為主的集成方式,你通常要編寫代碼來描述服務(wù)之間的依存關(guān)系。EJB模型使用的是 client/server的集成模式,服務(wù)之間的接口是緊耦合的關(guān)系,而這些都要寫進(jìn)代碼并編譯到類文件中,這樣,每次需要改動的時候都要對這些文件進(jìn) 行修改和重新部署。
  在ESB中,服務(wù)是以與輸入和輸出通道有關(guān)的信息進(jìn)行配置的。這些通道發(fā)送和接收基于內(nèi)容的請求和響應(yīng)模式以及單向事件通知,然后通過其它的調(diào)用框架進(jìn)行處理,而不是服務(wù)本身。
  可以對ESB服務(wù)進(jìn)行配置和部署,這只需要從配置倉庫里讀取XSL模式表、XPath表達(dá)式、腳本和參數(shù)等信息。一旦部署完成,其性能便是高度靈活的。

  總結(jié)
  總的來說,對ESB的理解包含以下方面:
  · ESB是建立企業(yè)SOA集成環(huán)境的主干總線。
  · WS-*標(biāo)準(zhǔn)的發(fā)展將使ESB的交互性能更為完善。今天采用ESB可以讓你做好應(yīng)付未來的準(zhǔn)備,并且當(dāng)WS-*標(biāo)準(zhǔn)具有真正的商業(yè)價值的時候你也能做出適當(dāng)?shù)恼{(diào)整。
  · ESB并不僅僅是一個抽象的模式。它屬于產(chǎn)品的范疇,有清晰的定義,也有許多供應(yīng)商可以選擇。
  · ESB與應(yīng)用服務(wù)器的互補(bǔ)性很強(qiáng)。
  · ESB提供了靈活的連接器和可擴(kuò)展的設(shè)施,有利于將門戶服務(wù)器集成到后端系統(tǒng)。
  · ESB為協(xié)調(diào)服務(wù)之間的交互提供了許多選擇。
  · ESB技術(shù)是以實(shí)際為基礎(chǔ)的,并已在許多行業(yè)得到應(yīng)用。
  · ESB可以提供更高層次上的可視化工具在ISE環(huán)境下進(jìn)行服務(wù)集成。
  · ESB提供了一個輕量級、可配置、高度分布式的服務(wù)容器環(huán)境。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
SOA、ESB、NServiceBus、云計算 總結(jié)
企業(yè)服務(wù)總線解決方案剖析,第 1 部分: 企業(yè)服務(wù)總線的基本概念
esb和eai的區(qū)別
良好的微服務(wù)架構(gòu)能夠取代企業(yè)服務(wù)總線嗎?
SOA服務(wù)集成場景和實(shí)現(xiàn)技術(shù)分析
走出ESB誤區(qū):揭開ESB的十個神話
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服