http://space.itpub.net/14780828/viewspace-374514
2,總線的定義(維基百科)
總線又稱計(jì)算機(jī)總線或系統(tǒng)總線(BUS),臺(tái)灣譯作「匯流排」,是指計(jì)算機(jī)組件間規(guī)范化的交換數(shù)據(jù)(Data)的方式,即以一種通用的方式為各組件提供數(shù)據(jù)傳送和控制邏輯。從另一個(gè)角度來看,如果說主板(Mother Board)是一座城市,那么總線就像是城市里的公共汽車(bus),能按照固定行車路線,傳輸來回不停運(yùn)作的比特(bit)。這些線路在同一時(shí)間內(nèi)都僅能負(fù)責(zé)傳輸一個(gè)比特。因此,必須同時(shí)采用多條線路才能傳送更多資料,而總線可同時(shí)傳輸?shù)馁Y料數(shù)就稱為寬度(width),以位元為單位,總線寬度愈大,傳輸效能就愈佳。總線的帶寬(Bandwidth),也就是單位時(shí)間內(nèi)可以傳輸?shù)目傎Y料數(shù)(單位是Bytes/sec):總線帶寬 = 頻率 x 寬度。
3,企業(yè)服務(wù)總線(維基百科)
企業(yè)計(jì)算領(lǐng)域,企業(yè)服務(wù)總線是指由中間件基礎(chǔ)設(shè)施產(chǎn)品技術(shù)實(shí)現(xiàn)的, 基于Web服務(wù)標(biāo)準(zhǔn), 通過事件驅(qū)動(dòng)和基于XML消息引擎,為更復(fù)雜的面向服務(wù)的架構(gòu)提供的軟件架構(gòu)的構(gòu)造物。企業(yè)服務(wù)總線通常在企業(yè)消息系統(tǒng)上提供一個(gè)抽象層,使得集成架構(gòu)師能夠不用編碼而是利用消息的價(jià)值完成集成工作。
企業(yè)服務(wù)總線提供可靠消息傳輸、服務(wù)接入、協(xié)議轉(zhuǎn)換、數(shù)據(jù)格式轉(zhuǎn)換、基于內(nèi)容的路由等功能,屏蔽了服務(wù)的物理位置,協(xié)議和數(shù)據(jù)格式。
總線一詞是對在一臺(tái)電腦的不同設(shè)備間運(yùn)輸比特的物理總線的引申。ESB在更高抽象層次上提供類似的功能。在一個(gè)使用ESB的企業(yè)架構(gòu)(enterprise architecture)中,應(yīng)用將通過總線交互,而總線扮演著應(yīng)用間的信息調(diào)度(message broker)的角色。這種方法的主要優(yōu)點(diǎn)是它減少了應(yīng)用間交互所需的點(diǎn)對點(diǎn)連接的數(shù)量。這樣,另一方面使得對主要軟件變化帶來的影響進(jìn)行分析更簡單更直觀了。通過減少一個(gè)應(yīng)用系統(tǒng)的連接點(diǎn)數(shù)量,對這個(gè)系統(tǒng)中的一個(gè)組件的改造過程變得簡單了。
4,ESB平臺(tái)實(shí)現(xiàn)協(xié)議轉(zhuǎn)換 (WebService,Http,JMS...),消息轉(zhuǎn)換 (轉(zhuǎn)換、充實(shí)、過濾),消息路由 (同步/異步、發(fā)布/訂閱、基于內(nèi)容路由、分支與聚合...)
ESB在一個(gè)SOA系統(tǒng)中,必須要存在么?非常有必要,沒有它不能算真正實(shí)現(xiàn)了SOA,異構(gòu)系統(tǒng)的構(gòu)件裝配需要實(shí)現(xiàn)真正的復(fù)用和解耦 。WebService只是解決了異構(gòu)系統(tǒng)的調(diào)用,而SOA要解決的是系統(tǒng)(內(nèi))間的構(gòu)件裝配、依賴和引用
但ESB的實(shí)現(xiàn)是否已有一個(gè)同一的標(biāo)準(zhǔn)呢?
?? 我感覺ESB要看系統(tǒng)具體情況而言,不是沒ESB就不SOA了,
比如我用SCA+BPEL,一樣可以SOA系統(tǒng),當(dāng)然前提是偶的系統(tǒng)接口都定義好了,不需要要靠IBM,BEA那些ESB產(chǎn)品去忙活了,這情況也是有的哦
以前聽ESB基本上都是IBM在忽悠,聽多了老感覺ESB集中式的部署會(huì)引入單點(diǎn)故障,同時(shí)性能也會(huì)受影響。
《Enterprise Service Bus》O'Reilly 翻過一點(diǎn),感覺都是在講MOM的東東。
個(gè)人覺得ESB承載的東西太多了,感覺還是從Enterprise Integration Pattern中學(xué)起,搞點(diǎn)務(wù)實(shí)的先。
我簡單的對比過mule\servicemix\openesb
mule,沒有IDE支持,不爽
servicemix,太麻煩,寫一個(gè)BPEL要好幾步,而且它本身的例子都報(bào)錯(cuò).不爽
openesb,利用netbean可以設(shè)計(jì)bpel,而且利用glassfish可以直接發(fā)布BPEL,還可以,又是開源的,支持JBI,SUN的開源產(chǎn)品越來越豐富了,大家可以試試.
在很多應(yīng)用方面,我們都是利用ESB 來實(shí)現(xiàn)大數(shù)據(jù)量的傳輸?shù)摹?
在性能和可靠性方面要強(qiáng)于很多其他解決方案!
? http://www.javaeye.com/topic/130337
感覺camel優(yōu)勢是消息路由、中介等工作,缺乏組件容器的能力,還是需要和別的組件容器整合使用 。Camel的component 沒有 life cycle的管理, 不過你可以在ServiceMix中輕松使用camel 。還有就是最近在ServiceMix dev中在討論如何復(fù)用Camel component的問題, 相信你說的問題在不久的將來會(huì)有比較好解決方案的。
http://www.javaeye.com/post/860098?page=7
5,http://blog.csdn.net/danny_xcz/archive/2007/05/08/1600013.aspx#1021497
一提到總線,一般學(xué)計(jì)算機(jī)專業(yè)的往往會(huì)聯(lián)想到兩樣?xùn)|西,一是網(wǎng)絡(luò)拓?fù)渖系目偩€結(jié)構(gòu),二是電腦主板上的總線。
和他們不同的是,企業(yè)服務(wù)總線是一種軟件總線,但是他們都可以進(jìn)行一定的類比。類比是快速學(xué)習(xí)最好的方法之一。
網(wǎng)絡(luò)拓?fù)涞目偩€由三個(gè)東西構(gòu)成:網(wǎng)絡(luò)設(shè)備(PC,服務(wù)器,交換機(jī),路由器),端口(網(wǎng)卡-1個(gè)端口,路由器-n個(gè)端口),連接各個(gè)設(shè)備的網(wǎng)線,數(shù)據(jù)必須通過網(wǎng)卡端口傳輸?shù)皆O(shè)備。
電腦主板上的總線也由三個(gè)東西構(gòu)成。處理器(CPU,GPU),針腳(信號(hào)輸入,輸出的針腳),連接各個(gè)處理器的線路,同樣在每一個(gè)時(shí)鐘周期里,信號(hào)通過針腳進(jìn)入處理器,再從別的針腳輸出。
通過類比,可想而知,ESB軟件上的總線必然也由吉祥三寶構(gòu)成,在Mule里面,他們分別是UMO,End Point,數(shù)據(jù)的傳輸路線(當(dāng)然這是無形的)。
UMO可以比喻成一個(gè)CPU,EndPoint就是這個(gè)CPU的針腳,數(shù)據(jù)從EndPoint(inbound)進(jìn)入U(xiǎn)MO,經(jīng)過UMO的處理,從另一個(gè)針腳發(fā)送出(outbound),這樣就完成了企業(yè)服務(wù)總線的一次最基本的操作。
11,SLA:服務(wù)等級協(xié)議(Service-Level Agreement)