EMS、ESB和MOM、JMS

EMS、ESB和MOM、JMS,jms,esb,ems,mom,Jms,Esb,Ems,Mom,以下术语之间的关系和区别是什么 企业消息系统(EMS) 企业服务总线(ESB) 面向消息中间件(MOM) Java消息传递服务(JMS) EMS:任何允许多个应用程序通过面向消息的协议而不是RPC协议的解决方案,因此基本上交互应用程序更多地绑定到消息数据,而不是传输 妈妈:我再次相信它可以被认为和EMS一样 ESB:它是设计企业消息传递系统的一种方法。另一种方式是轮辐模型。基本上,一个典型的消息传递系统涉及转换、中介、审计、路由和安全性等。ESB与hub spoke指定哪个组件负责哪个部分 J

以下术语之间的关系和区别是什么

  • 企业消息系统(EMS)
  • 企业服务总线(ESB)
  • 面向消息中间件(MOM)
  • Java消息传递服务(JMS)

EMS:任何允许多个应用程序通过面向消息的协议而不是RPC协议的解决方案,因此基本上交互应用程序更多地绑定到消息数据,而不是传输

妈妈:我再次相信它可以被认为和EMS一样

ESB:它是设计企业消息传递系统的一种方法。另一种方式是轮辐模型。基本上,一个典型的消息传递系统涉及转换、中介、审计、路由和安全性等。ESB与hub spoke指定哪个组件负责哪个部分


JMS:它是Java平台提供的统一API,使开发人员能够直接使用JMS API,而不必担心底层消息传递框架是什么。消息传递实现必须与JMS兼容,才能由JMS API处理。

虽然@ag112的答案将“EMS”扩展为“企业消息传递系统”,但首字母缩略词有点含糊不清,“EMS”最常见的扩展可能是指,这是TIBCO特有的专有平台,支持并添加了一些专有扩展。是一个软件中间件抽象层,通过事件驱动且通常基于开放标准的企业“消息传递引擎”将软件组件集成到大型系统中构造通常用于软件集成,并且可能在的实现中看到。

好问题-服务总线和消息传递系统之间的关键区别在于消息传递系统上的数据约定。消息传递系统通常让您发送所有内容:二进制Blob、XML、逗号分隔列表等。因此应用程序A可以向应用程序B发送逗号分隔字符串,B向应用程序C发送一些XML,C向应用程序D发送一些其他XML。 这是消息传递,但不是“服务总线”。您可以说消息传递系统是“非类型化”(动态结构),而ESB是“类型化”(静态结构)

在“服务总线”中,该总线上的所有应用程序和适配器都有一个通用的数据定义(可以是带有共享XSD的XML)。公共数据对象(CDO)。任何连接的东西都必须按照此数据定义发送其信息。ESB应该支持加载、共享和版本控制此公共数据定义。最大的优点是,您可以连接组件(例如,MessageBroker)并执行它的操作,而无需知道哪个应用程序发送了此数据以及此数据将要到哪里

消息传递与ESB之间的权衡与其他非类型化/类型化选择类似:REST与SOAP、未验证的XML与使用XSD的XML、Groovy与Java。。。 有些人会喜欢这种额外的结构(在纸面上看起来不错——经理们喜欢它)——有些人会讨厌它(当版本改变时,东西会坏掉,再加上一点,你必须更新一切——黑客不太喜欢它;-)

回到您的问题(重新排序)

  • 面向消息的中间件(MOM):各种语言的软件库,使用代理(或非代理)在应用程序之间通信“消息”。TCP/IP通信的一个进步。”消息是结构化对象、文本字符串或二进制数据。通常,您通过TCP/IP或UDP具有额外的可靠性。一些示例:TIBCO RV和EMS、IBM MQ、Apache ActiveMQ、ZeroMQ

  • Java消息传递服务(JMS):为MOM定义的通用API——人们抱怨说,当应用程序从MOM'X'切换到MOM'Y'时,需要重写消息传递代码。如果您针对JMS编写代码,您只需切换库,用于使用TIBCO EMS的同一应用程序就会突然与ActiveMQ一起工作(反之亦然)

  • 企业消息传递系统(EMS):TIBCO的JMS实现(产品名称:TIBCO EMS)

  • 企业服务总线(EnterpriseServiceBus,ESB):ESB使用面向消息的中间件来集成应用程序、数据库、代理等。ESB是一种MOM,添加了数据结构和结构定义管理。将新组件连接到ESB时,您可以期待比将其连接到MOM时更具“兼容性”。在ESB中,有更高的组件连接标准。我认为TIBCO的ESB叫做ActiveMatrix


在我们公司的“管理层/高管层”中,ESB总是很混乱。我们购买了Tibco产品,他们将其吹捧为“ESB”,他们将其定义为EMS服务器和所有可以运行的应用程序,如Business works。我认为,根据这个定义,可以将.net归入其中。因此,ESB——意味着一个消息传递系统,但据Tibco称,“ESB”的营销意味着与之配套的所有工具,我不同意这一点,但为了清晰起见,在与高管沟通时,遵循他们所知道的。