SOA和ESB之间的区别

时间:2013-02-14 09:53:20

标签: soa esb

我对这些Web服务术语SOA,ESB感到困惑。

任何人请解释。

5 个答案:

答案 0 :(得分:20)

SOAservice oriented architecture。在SOA services are decoupled中,无论服务类型如何,都可以相互交互。意味着特定服务可以是平台或协议特定的,但SOA使这些服务能够交互和交换数据。这些数据基本上通过ESBEnterprise service bus)进行交换,JMS servers构成了任何SOA架构的支柱。

让我继续并提供具体的例子来帮助更好地理解这一点。通过使用XML/XSD并使用adapters作为在各种服务之间传输数据的方式,可以实现ESB的一种方式。因此,各种服务将注册或连接到这些JMS服务器并使用XML格式交换数据。通常,SOA套件包含所谓的FIX捆绑包,它有助于将消息转换为服务和XML所理解的格式。

例如考虑股票交易系统。来自证券交易所的消息来自JSON协议。您可能已经构建了一个期望{{1}}的应用程序。要使这两个系统工作,您将使用SOA - FIX适配器将FIX消息转换为XML,然后此xml将通过ESB传输到JSON适配器,然后根据系统端点的要求转换为JSON。

最后希望下面的图片非常清楚。

enter image description here

答案 1 :(得分:18)

SOA是一种架构方法,您可以以粗粒度的方式公开和封装“服务”。它没有规定任何技术机制或实施。 SOA与系统之间的边界/集成交互更相关。因此,如果系统A使用SOA公开服务,我可以与系统B中的那些服务进行交互。

另一方面,ESB是一种有助于提供SOA的技术实现。

答案 2 :(得分:1)

SOA: - 基本上在SOA中,一方面我们有生产者/提供者,另一方面我们有消费者,由Bridge(网络)隔开,双方沟通。因此,重点是两方如何互动(生产/消费)服务

ESB: - ESB是一种架构模式,它遵循SOA原则,多个应用程序/组件/系统如何相互通信/交互,尽管这里没有直接的生产者/消费者。在这里,我们关注多个异构应用程序如何相互交互并实现业务目标。

此外,ESB提供的API可用于开发服务并使服务可靠地相互交互。从技术上讲,ESB是一个消息代理,它执行协议转换,消息格式转换,路由,接受和传递来自各种服务和应用程序的消息 到ESB。

答案 3 :(得分:0)

答案 4 :(得分:-3)

SOA 代表Service Oriented Architecture ESB 代表Enterprise Service Bus。 您可以参考this IBM site.this