1. 程式人生 > >幾款開源ESB匯流排的比較

幾款開源ESB匯流排的比較

現有的開源ESB匯流排中,自從2003年第一個開源匯流排Mule出現後,現在已經是百花爭鳴的景象了。現在我就對現有的各種開源ESB匯流排依據效能、可擴充套件性、資料文件完整程度以及整合難易程度等方面展開。

CXF

CXF的定位不是ESB匯流排,而是一個服務框架(Service Framework),主要還是為關於服務的應用提供API上的支援,或者上下文上的管理。

但是它的前身之一的Celtix就是IONA公司捐獻給開源界的ESB匯流排,所以整體上還是能提供ESB匯流排的功能(需依靠與其它的容器)。在CXF中的匯流排只是起到一個共享資源的提供者的作用。這些貢獻資源就相當於JBI規範中的繫結元件(BC)或服務引擎(SE)。即使如此CXF並沒有提供了對JBI規範的完整實現。可以說它只是一個類似的JBI容器。

CXF支援與除了HTTP之外的其它協議的通訊繫結,例如REST、JSON和CORBA等,所以對於Ajax有較強的相容性。這相對與其他的ESB匯流排而言可以說是一個較大的優勢。

但是CXF的ESB匯流排是依據Spring框架來實現的,由Spring來管理Bus中的各個元件。而Spring對各個Bean或元件的管理是通過一個上下文的配置檔案來實現的。這樣的方式相對與其他的ESB匯流排(例如依據JMX)的方式而言,則不支援動態的熱部署。也就是說CXF不是一個JBI容器,它必須依附與其他的容器來執行。現有的資料來看,CXF目前可以部署在JBoss和BEA Weblogic中,Tomcat伺服器由於不支援完整的J2EE規範,特別是基於JCA的EJB,所以對CXF支援的程度不理想。雖然資料中沒有涉及到Geronimo,但是以Geronimo對J2EE規範的相容程度來看,特別是EAR文件的支援,在Geronimo中部署CXF應該沒有什麼太大的障礙。

同樣你可以在使用Spring的應用中嵌入CXF,而這隻需要在Spring的配置檔案中填寫相應的配置資訊即可。

關於CXF的文件較為豐富,這部分是由於它本身是整合了Xfire和Celtix這兩個本身較為成熟的開源專案。另外它較大的依賴於Spring框架,所以如果對Spring較為熟悉的話,在使用上一般就沒有太大的障礙了。

Open ESB

OpenESB是Sun公司提出來的開源ESB專案,所以對JBI規範的支援程度就不用多說了。而GlassFish ESB則是將OpenESB的核心執行環境與GlassFish應用伺服器以及NetBean的整合開發環境整合在一起的有一個ESB專案,當然其中還包含了一些OpenESB中已有的元件(子集)。

在OpenESB中提供了能夠支援WS-BPEL2.0的引擎。但是現在這個元件支援WSDL1.1,暫不支援WSDL2.0。而且這個引擎要依託與NetBean整合開發平臺,起碼只能得到基於NetBean的相應開發包和元件包。但是這個元件對BPEL提供了強大的支援,其中包括支援端點狀態的監控、支援多執行緒執行、業務流程的除錯、系統錯誤的可靠性恢復中各個業務流程例項的資料庫持久化以及負載均衡等。

在資料方面只有一個演示視訊,主要還是基於NetBean平臺的使用介紹。其他公佈的資料則則較少,特別是API方面幾乎沒有。所以如果要對OpenESB進行按照自身的要求進行擴充套件則較為困難,除非對OpenESB的原始碼進行全面的分析。

ServiceMix

ServiceMix是Apache基金會下的一個ESB匯流排,同時也是一個獨立的JBI容器(也就是說它支援完整的JBI規範)。說它是一個獨立的JBI容器,是因為它擁有自己獨立的執行環境,能像應用伺服器一樣啟動,並支援動態的熱部署等,這一點則區別於CXF。

ServiceMix的容器執行環境採用核心的架構,並以Geronimo關於J2EE方面的實現為基礎(當然也就支援J2EE的各方面規範,例如安全性方面的JAAS等),所以在效能上還是較為出色的。在通訊上,整合了ActiveMQ,也支援多種的通訊協議,例如HTTP和JMS。同時在管理元件上採用了JMX的管理架構,從而能夠對部署在總線上的各種元件進行動態的配置和管理,或通過Web的形式,或通過JMX遠端訪問均可。ServiceMix核心能夠整合到所處的作業系統中,從而作為OS的對外提供的服務。區別與其他匯流排的是,ServiceMix還提供了自己的指令碼命令控制檯,並通過一些簡單命令來管理應用元件以及ServiceMix核心例項。

關於ServiceMix的資料也較為的完備,其中當然也包括一些簡單的小例子。關於元件擴充套件方面和流程引擎整合方面的詳細資料則不夠詳細。如果要做進一步的總線上的擴充套件,則需要對原始碼和例子進行較為深入的學習和研究,當然這一切的基礎是對JBI的規範有較為全面的瞭解。

JBoss ESB

JBoss ESB是JBoss社群為面向SOA而提出的一個EAI系統平臺。它提供了很多EAI本身所應具有的功能,例如業務流程監控、整合開發環境、工作流使用者介面、業務流程管理、分散式計算架構以及作為應用容器的功能等。可以說JBossESB在功能上是較為強大的。但相對於上面的匯流排而言,它的技術架構方案是最獨立的。因為它除了支援J2EE標準外,對於JBI規範壓根就不沾邊。當然也就不存在JBI規範中的規範化訊息路由、服務引擎和繫結元件了。JBossESB除了支援 Web Service外,還支援多種的遠端呼叫協議,例如JMS。只是相對於ServiceMix和CXF而言,如果要對JBossESB進行擴充套件,可能要花費較大的時間和精力。

JBossESB相對上述的開源專案而言,一個很大的優勢在於文件資料是最為豐富和完備的。所以在開發和擴充套件上減小了不小的阻力。它並且依託於成熟的JBoss社群,周圍齊全的開源專案支援,為後期的平臺擴充套件提供了豐富的選擇空間。


UltraESB

UltraESB 是一個開源的企業服務匯流排 ESB 專案,特點是高效能和易用。提供一個強大而具備良好伸縮性的架構,在效能方面表現優異,而且輕量級,易於使用和管理。

支援傳輸層:

  • HTTP/S
  • JMS
  • Email (POP3/IMAP/SMTP)
  • AMQP
  • File/SFTP/FTP/FTPS/Samba
  • Timer (Scheduled Job)
  • TCP/S
  • MLLP/S

支援協議:

  • REST
  • SOAP
  • Hessian
  • FastInfoset
  • AS2
  • Protocol Buffers

特性:

  • EIP
  • JTA XA / Local Txn's
  • WS-Security
  • JAXB
  • XSLT / XQuery
  • JSR 223
  • Data Services
  • Soring Support
  • Binary
  • XACML
  • AuthN and AuthR
  • Caching
  • Throttling

http://adroitlogic.org/

MuleESB

Mule是當下使用最多的開源整合平臺。MuleESB價格低廉,配置、擴充套件簡單,而且靈活性強,使得它非常流行。

http://www.mulesoft.org/

WSO2 ESB(WSO2)

WSO2 

相比其他使用了JBI規範的重量級ESB,WSO2這個新來者帶來了一個輕量級的ESB。這是因為,WSO2 ESB以Web服務標準作為整合的焦點。

http://blog.csdn.net/linlzk/article/details/25036069

相關推薦

開源ESB匯流排比較

現有的開源ESB匯流排中,自從2003年第一個開源匯流排Mule出現後,現在已經是百花爭鳴的景象了。現在我就對現有的各種開源ESB匯流排依據效能、可擴充套件性、資料文件完整程度以及整合難易程度等方面展開。 CXF CXF的定位不是ESB匯流排,而是一個服務框架(Ser

開源的堡壘機

什麽 推出 運行 crazyeye 權限 批量 認證 github then Jumpserver Jumpserver 是全球首款完全開源的堡壘機,使用GNU GPL v2.0開源協議,是符合4A(認證Authentication、賬號Account、授權Authoriz

周海漢:開源開發環境介紹

2007-12-18 # 周 海漢/文 ablozhou at gmail.com 2007.12.18 摘要: 本文介紹幾款開源的開發工具,包括UML建模工具starUML,Windows下編譯跨平臺的Linux程式碼的工

開源的圖形介面庫(GUI Libraries)

國外: 遵循BSD許可協議的C++ GUI庫,建立在Windows API之上,但仍可以通過使用WineLib在Linux/xNix上使用。也支援Pocket PC和基於Windows CE的應用程式... XCLASS庫是X Windows環境中的一個C++ GU

開源的hybird移動app框架分析

很多移動開發者喜歡使用原生程式碼開發,但這種方式並不是一個銀彈,在需要快速以及低成本開發的時候Hybrid App(混合應用)就體現了它的優勢。 HTML5 移動UI框架(例如Ionic)讓你建立垮平臺Hybrid App與NativeAPP相似的效果,而使用的則是 HTM

推薦目前比較優秀,star較高的JAVA開源商城,瞭解一下

在知乎上面看到的,都是碼雲上面的開源商城,覺得不錯,收藏一波。1. 專案名稱:分散式B2C商城 xbin-store專案介紹:模仿國內知名B2C網站,實現的一個分散式B2C商城 使用Spring Boot 自動配置 Dubbox / MVC / MyBatis / Druid

常用光學字元識別(OCR)軟體比較

常見的OCR識別軟體包括ABBYY FineReader、LEADTOOLS、Dynamsoft OCR SDK、Tesseract、ExperVisionTypeReader。 只要有掃描器和光學字元識別(OCR)軟體,將掃描文件轉換成Word文件是相當容易的。掃描器將紙質文件轉換成掃描影象,

開源中國上免費又好用的OA協同辦公系統,真心不錯!

隨著企業內部資訊化管理的重要程度越來越高,我國OA協同辦公產品近年來得以快速發展。其中開源辦公產品因為其開源免費的特性受到眾多中小企業的喜愛。下面就來說一說那些開源協同產品中的優秀代表們。 NO.1:然之協同(PHP) 開發語言:然之協同以ZPL協議開源發行,採用PHP+MYSQL語言開發。 功能模組:

推薦好用的高效的Visual Studio2017比較好用的拓展工具

  對一個有想法的程式設計師來說,善於使用一款高效的開發工具是很重要的,今天給大家介紹的是宇宙第一IDE vs用起來很不錯的開發工具,假如大家覺得不錯也可以嘗試的用用,畢竟對於我們這些一天一大半的時間用在寫程式碼的程式設計師而言,一個好用的養眼的IDE真正很重要。 一、GitHub Extension fo

國內大資料開發中比較受歡迎的工具

1、zookeeper 一個分散式的應用程式協調服務,是Hadoop和Hbase的重要元件。它是一個為分散式應用提供一致性服務的工具,讓Hadoop叢集裡面的節點可以彼此協調。ZooKeeper現在已經成為了 Apache的頂級專案,為分散式系統提供了高效可靠且易於使用的協

【乾貨】國內大資料開發中比較受歡迎的工具

【大資料架構師免費報名課程】獲取相關資料可以加我微信免費領取:mipi946 1、zookeeper 一個分散式的應用程式協調服務,是Hadoop和Hbase的重要元件。它是一個為分散式應用提供一致性服務的工具,讓Hadoop叢集裡面的節點可以彼此協調。ZooKeep

開源工作流引擎的簡單比較

目前開源工作流引擎用的最多的是jbpm , 各種特性都不錯, 文件也比較多, 下面只簡單列舉一下 其他幾種工作流引擎的特性。 Apache ODE Enhydra Shark Bonita Open Business Engine Eclipse JWT  支援的流程建模標準 

畫UML圖的工具初步比較

最近需要畫UML圖,從網上找了幾個工具軟體,比較了一下,發現各有優缺點。畫UML圖的工具大致可以分為兩類,一類是專業的繪圖工具,帶了畫UML的功能,如Visio、Dia;另一類是專門用來製作UML圖的,如ArgoUML和Rose,通常都有根據UML圖直接生成程式碼。 如果只是簡單的畫下,這幾個工具都夠用,但

20開源搜尋引擎介紹與比較

開放原始碼搜尋引擎為人們學習、研究並掌握搜尋技術提供了極好的途徑與素材,推動了搜尋技術的普及與發展,使越來越多的人開始瞭解並推廣使用搜索技術。使用開源搜尋引擎,可以大大縮短構建搜尋應用的週期,並可根據應用需求打造個性化搜尋應用,甚至構建符合特定需求的搜尋引擎系統。搜尋引擎的開

主流電子電路模擬軟體優缺點比較

電子電路模擬技術是當今相關專業學習者及工作者必須掌握的技術之一,它有諸多優點:第一,電子電路模擬軟體一般都有海量而齊全的電子元器件庫和先進的虛擬儀器、儀表,十分方便模擬與測試;第二,模擬電路的連線簡單

C#開源的測試工具

 提供幾款.NET平臺下測試工具,好處大家試過就知道了NUnit        NUnit一款單元測試框架,它可以應用於遵循.NET框架標準的所有語言下。NUnit最初是從JUnit移植過來的。NUnit完全使用C#編寫且設計時考慮了多數.NET語言的特性,例如自定義屬性和其

php 框架比較(純個人觀點)

PHP還是比較常用到的一門計算機高階語言。我們將會在這篇文章中向大家主要介紹關於PHP框架相關優缺點評比,作為一個參考風險給朋友們。 主要參考的PHP框架包括:CodeIgniter、CakePHP、ZendFramework、Symfony。我對很多框架也沒有認真使用,

Eclipse vs NetBeans:兩一流的JAVA開源IDE的比較(圖文及例項)

這兩款JAVA IDE都是一流的開源軟體,那麼對於廣大的JAVA學習者及開發人員來說,那款更適合自己呢?本文通過圖文對這兩款軟體進行多方面的分析比較,同時在最後給出了一個"Hello World!"GUI程式的例項在兩個IDE中的開發流程。筆者水平所限,文章僅供參考之用,以期

個Git倉庫開源軟體的比較

開發十年,就只剩下這套架構體系了! >>>   

實力很強的小工具,提高Windows使用效率

log 重復 mark 自己 是我 需要 界面 詳細 選擇 如果你說我會用Windows,許多人會說,切,誰不會用Windows啊? 接下來說說我在Windows環境下,如何使用一些工具,提高效率。這些工具是我過去這些年雪藏的,今天放出來曬一曬。 當我要搜索文