簡體   English   中英

面向消息的中間件(MoM)與企業服務總線(ESB)

[英]Message Oriented Middleware (MoM) Vs. Enterprise Service Bus (ESB)

我來自MoM的背景。 我想我從概念上理解ESB。 但是,在建築方面做出選擇時,我不太確定兩者之間的實際差異。

這是我想知道的

1)任何在線的良好鏈接可以幫助我在這方面。

2)有人可以告訴我使用其中一個是有意義的。

任何幫助都會有用。

消息傳遞往往集中在網絡周圍可靠的消息交換上; 使用隊列作為可靠的負載均衡器和主題來實現發布和訂閱。

ESB通常傾向於在消息傳遞之外添加不同的功能,例如編排,路由,轉換和中介。

我建議您閱讀有關企業集成模式的內容,該模式概述了您將在集成問題中使用的常見模式,這些模式都基於消息總線(盡管也可以與其他網絡技術一起使用)。

例如使用開源; Apache ActiveMQ提供松散耦合的可靠消息交換。 然后,您可以使用Apache Camel實現企業集成模式 ,以實現智能路由,轉換,編排, 與其他技術一起使用等等。

我將MOM解決方案和ESB解決方案放在兩個不同的平面上。

我認為MOM是ESB解決方案的基石。 事實上,ESB解決方案只需使用特定MOM實現提供的范例,即可實現自己的松散耦合和異步通信功能。

因此,MOM代表定制QoS級別的數據/事件分發解決方案(根據特定的供應商實現),而ESB代表提供在SOA場景中實現復雜編排的功能的解決方案(我們有多個提供商提供他們的服務,以及多個有興趣消費第一批服務的消費者。

復雜的編排意味着遺留系統之間的通信,其中每個人都有自己的數據域表示(特定數據上的規則和服務)和自己的通信范例(一個消費者使用CORBA與ESB交互,另一個消費者使用WS,等等)。

很明顯,ESB代表了一個更復雜的架構解決方案,旨在提供數據總線的抽象(例如每個人都擁有自己電腦的電子總線),能夠將眾多服務提供商連接到一個不太明確的過多的服務提供商。服務消費者, 隱藏 (i)數據表示和(ii)溝通中的異質性

對於長篇文章感到抱歉,但概念很復雜,很難在簡短的陳述中有效和高效。

ESB通常是在消息上路由,記錄,轉換和執行其他“技術”(即非業務)功能的層。 它可以處理來自消息傳遞系統的消息(例如基於JMS的消息),也可以處理其他類型的消息(例如基於SOAP的Web服務)。 在這方面,它比MoM更普遍。

免責聲明:我是IBM WebSphere顧問 - 盡管我不是以官方身份為此做出貢獻。

EBS是另一個流行詞,SOA 2.0也是如此。

您可以使用普通Web服務輕松實現ESB系統,並在其后面有一個隊列。 您可以使用SOA 1.0(Tibco,BizzTalk)進行消息路由和/或編排,一件事情並不能真正阻止另一件事。 更重要的是,它是在系統中交換的消息的語義,它發揮了重要作用,在這種情況下是事件。 作為事件的消息是關於系統中發生的事情的觸發器,因此上下文是不同的。

具有真實形式的Web服務的ESB通過通過消息的一個元素發送數據來提供應用程序松散耦合。

MOM不僅提供應用松散耦合,還提供松散耦合。

ESB附帶支持以治理為中心的方法的其他功能。

根據場景,兩者可以單獨使用或一起使用。

IBM和Oracle擁有SOA認證。 由於他們是市場領導者(Gartner Magic Quadrant),我會讀到他們如何定義SOA和ESB(以及支持SOA的方法和組件,如治理,注冊表等)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM