SOA和ESB之间的区别

use*_*774 21 soa esb

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

有人请解释一下.

Ani*_*kur 25

SOAservice oriented architecture.在SOA中services are decoupled,无论服务类型如何,都可以相互交互.意味着特定服务可以是平台或协议特定的,但SOA使这些服务能够交互和交换数据.这些数据基本上是通过ESB(Enterprise service bus)交换的,它构成了任何SOA架构的主干.

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

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

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

在此输入图像描述


Ebe*_*oux 21

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

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