Enterprise Service Bus (ESB), .NET Service Bus (Windows Azure AppFabric Service Bus), NServiceBus, RhinoServiceBus, MassTransit and so on.
企业服务总线(ESB)、。net服务总线(Windows Azure AppFabric服务总线)、NServiceBus、RhinoServiceBus、masstrand sit等。
I'm trying to understand what each of these technologies have in common or not in common.
我试着理解每一种技术有什么共同之处,或者没有什么共同之处。
I attended Juval Löwy's presentation on the .NET Service Bus earlier today and he stated that the .NET Service Bus could be used as a poor man's version of an ESB, so I would take that to mean that the .NET Service Bus is NOT an ESB, are any of the others a true ESB?
我参加了居佛罗伊在今天早些时候。net服务总线的演讲,他说,. net服务总线可以作为一个穷人版的ESB,所以我将意味着. net服务总线不是ESB,其他是一个真正的ESB吗?
If any of the others are a true ESB what would make them a true ESB as opposed to the .NET Service Bus?
如果其他任何一个都是真正的ESB,那么什么会使它们成为真正的ESB而不是.NET服务总线呢?
2 个解决方案
#1
36
I agree with the other poster: ESB is a bit like SOA, a general definition that is used mostly as a marketing selling point than as a strict standard you must satisfy.
我同意另一种说法:ESB有点像SOA,这是一种通用定义,主要用作营销卖点,而不是您必须满足的严格标准。
From Wikipedia:
从*:
Commentators disagree over whether to define an Enterprise Service Bus (ESB) as an architectural style, a software product, or a group of software products. While use of an ESB certainly implies adherence to a particular architecture, the term “enterprise service bus” almost always denotes the software infrastructure that enables such an architecture, and in essence, the ESB is considered a platform to realize a service-oriented architecture.
对于是否将企业服务总线(ESB)定义为体系结构样式、软件产品或一组软件产品,评论人士意见不一。虽然ESB的使用当然意味着对特定体系结构的遵循,但是“企业服务总线”一词几乎总是表示支持这种体系结构的软件基础结构,而从本质上说,ESB被认为是实现面向服务的体系结构的平台。
An ESB brings flow-related concepts such as transformation and routing to a Service-Oriented Architecture. An ESB can also provide an abstraction for endpoints.
ESB带来与流程相关的概念,如转换和路由到面向服务的体系结构。ESB还可以为端点提供抽象。
ESB as a term seems to have been coined by Dave Chappel, who is (was?) technical evangelist for Sonic Software (and author "Enterprise Service Bus" - O’Reilly: June 2004, ISBN 0-596-00675-6). I have read the book and have attended a couple of seminars by Chappell, and I am afraid that the book itself is not much of help in helping you decide if Product X is a "true" ESB.
“ESB”这个词似乎是由Dave Chappel创造的,他是Sonic Software的技术福音传道者(兼作者“企业服务总线”——O 'Reilly: 2004年6月,ISBN 0-596-00675-6)。我读过这本书,也参加过Chappell的几次研讨会,恐怕这本书本身并不能帮助您确定Product X是否是一个“真正的”ESB。
In general you should look for something message based (this was the original intent, apparently, even if some other companies, like webMethods, use the term for their product, which is more webservices-oriented).
一般来说,您应该查找基于消息的内容(显然,这是最初的意图,即使其他一些公司,如webMethods,在他们的产品中使用这个术语,这是面向web服务的)。
The idea is to have all the "services" in your IT infrastructure being able to receive and send messages to each other. The ESB provides the routing, and has interface endpoints so that if your original application worked - for example - by invoking a JSP page via HTTP post, you have a small program that can receive a message, use its payload to post it via HTTP, interpret the result and build a message response with these.
其思想是使您的IT基础结构中的所有“服务”能够相互接收和发送消息。ESB提供了路由和接口端点,如果你的原始应用程序的工作——例如,通过HTTP post调用JSP页面,有一个小程序,可以接收一条消息,利用其有效载荷通过HTTP post,解释结果,建立一个与这些消息响应。
Basically, imagine that instead of using webservices for everything, you use message queues, building routing stations, and interface between message queues and other systems. This is an ESB.
基本上,想象一下,您使用消息队列、构建路由站和消息队列与其他系统之间的接口,而不是使用webservices处理所有事情。这是一个ESB。
This is lengthy, but instructive: https://plus.google.com/112678702228711889851/posts/eVeouesvaVX
这很长,但很有指导意义:https://plus.google.com/112678702228711889851/posts/eVeouesvaVX
#2
36
I think you need to understand that ESB is more of a marketing term than a technical term. Many vendors are presenting technologies under that banner.
我认为您需要了解ESB更多的是一个营销术语,而不是一个技术术语。许多厂商都在这条横幅下展示技术。
The thing to look at is the Bus Architectural Style, in which event sources and sinks collaborate. NServiceBus, RhinoServiceBus, and MassTransit have the concept of publishing and subscribing to events built in - the .NET Service Bus does not.
要考虑的是总线架构风格,在这种风格中,事件源和汇聚是协作的。NServiceBus、RhinoServiceBus和masstrand sit都有发布和订阅内建事件的概念——. net服务总线则没有。
The differences between the above three are more in form than in function - stability, documentation, community, etc.
这三者之间的区别更多的是形式上的差异,而不是功能上的差异——稳定性、文档、社区等等。
Hope that helps.
希望有帮助。
#1
36
I agree with the other poster: ESB is a bit like SOA, a general definition that is used mostly as a marketing selling point than as a strict standard you must satisfy.
我同意另一种说法:ESB有点像SOA,这是一种通用定义,主要用作营销卖点,而不是您必须满足的严格标准。
From Wikipedia:
从*:
Commentators disagree over whether to define an Enterprise Service Bus (ESB) as an architectural style, a software product, or a group of software products. While use of an ESB certainly implies adherence to a particular architecture, the term “enterprise service bus” almost always denotes the software infrastructure that enables such an architecture, and in essence, the ESB is considered a platform to realize a service-oriented architecture.
对于是否将企业服务总线(ESB)定义为体系结构样式、软件产品或一组软件产品,评论人士意见不一。虽然ESB的使用当然意味着对特定体系结构的遵循,但是“企业服务总线”一词几乎总是表示支持这种体系结构的软件基础结构,而从本质上说,ESB被认为是实现面向服务的体系结构的平台。
An ESB brings flow-related concepts such as transformation and routing to a Service-Oriented Architecture. An ESB can also provide an abstraction for endpoints.
ESB带来与流程相关的概念,如转换和路由到面向服务的体系结构。ESB还可以为端点提供抽象。
ESB as a term seems to have been coined by Dave Chappel, who is (was?) technical evangelist for Sonic Software (and author "Enterprise Service Bus" - O’Reilly: June 2004, ISBN 0-596-00675-6). I have read the book and have attended a couple of seminars by Chappell, and I am afraid that the book itself is not much of help in helping you decide if Product X is a "true" ESB.
“ESB”这个词似乎是由Dave Chappel创造的,他是Sonic Software的技术福音传道者(兼作者“企业服务总线”——O 'Reilly: 2004年6月,ISBN 0-596-00675-6)。我读过这本书,也参加过Chappell的几次研讨会,恐怕这本书本身并不能帮助您确定Product X是否是一个“真正的”ESB。
In general you should look for something message based (this was the original intent, apparently, even if some other companies, like webMethods, use the term for their product, which is more webservices-oriented).
一般来说,您应该查找基于消息的内容(显然,这是最初的意图,即使其他一些公司,如webMethods,在他们的产品中使用这个术语,这是面向web服务的)。
The idea is to have all the "services" in your IT infrastructure being able to receive and send messages to each other. The ESB provides the routing, and has interface endpoints so that if your original application worked - for example - by invoking a JSP page via HTTP post, you have a small program that can receive a message, use its payload to post it via HTTP, interpret the result and build a message response with these.
其思想是使您的IT基础结构中的所有“服务”能够相互接收和发送消息。ESB提供了路由和接口端点,如果你的原始应用程序的工作——例如,通过HTTP post调用JSP页面,有一个小程序,可以接收一条消息,利用其有效载荷通过HTTP post,解释结果,建立一个与这些消息响应。
Basically, imagine that instead of using webservices for everything, you use message queues, building routing stations, and interface between message queues and other systems. This is an ESB.
基本上,想象一下,您使用消息队列、构建路由站和消息队列与其他系统之间的接口,而不是使用webservices处理所有事情。这是一个ESB。
This is lengthy, but instructive: https://plus.google.com/112678702228711889851/posts/eVeouesvaVX
这很长,但很有指导意义:https://plus.google.com/112678702228711889851/posts/eVeouesvaVX
#2
36
I think you need to understand that ESB is more of a marketing term than a technical term. Many vendors are presenting technologies under that banner.
我认为您需要了解ESB更多的是一个营销术语,而不是一个技术术语。许多厂商都在这条横幅下展示技术。
The thing to look at is the Bus Architectural Style, in which event sources and sinks collaborate. NServiceBus, RhinoServiceBus, and MassTransit have the concept of publishing and subscribing to events built in - the .NET Service Bus does not.
要考虑的是总线架构风格,在这种风格中,事件源和汇聚是协作的。NServiceBus、RhinoServiceBus和masstrand sit都有发布和订阅内建事件的概念——. net服务总线则没有。
The differences between the above three are more in form than in function - stability, documentation, community, etc.
这三者之间的区别更多的是形式上的差异,而不是功能上的差异——稳定性、文档、社区等等。
Hope that helps.
希望有帮助。