企业服务总线和消息代理

问题描述 投票:0回答:3

我想开始研究 WCF,但说实话,在此之前我想了解更多关于 SOA 的总体知识。

我不太理解“企业服务总线”的概念,也不确定它是一种模式/方法还是一个软件。此外,“消息代理”也是如此。

除此之外,大型 SOA 框架(例如 BizTalk、WebSphere 等)如何融入其中?就此而言,WCF 如何融入其中?

wcf remoting soa
3个回答
3
投票

简单来说,SOA 将与演示相关的组件与获取内容的机制分离。

这听起来很微不足道,但其想法是演示组件不仅应该独立于获取数据的程序,而且应该与它无关。

为了实现这一目标,创建了一个“服务”抽象层,其中包含著名的“企业服务总线”(ESB)。 ESB 是一个程序,它知道服务位于何处,以及如何调用它们以将数据转发给请求者。

如今,SOA 已成为企业级系统的标准,而不仅仅是一种选择,原因很简单,数据是从不同来源获取的(而不是“可能是”)。例如。登录/身份验证服务可以是基于集中式 LDAP 的;可以使用 JDBC 连接到托管数据库引擎来获取订单详细信息;信用卡授权可以使用支付网关 Web 服务调用;等等...

使用此架构的最大优势是,如果明天可以从不同的资源获得相同的服务,那么对核心应用程序设计的影响为零或最小。

我同意,将流行语与现实脱钩可能很棘手。

1
投票
我的想法是这样的:

SOA 旨在围绕服务定位您的业务功能。这意味着要考虑具有(通常)定义良好的接口的功能黑匣子。 SOA 通常还涉及使服务可用的前期工作 - 这将它与更老式的“集成”区分开来 - 尽管两者之间存在高度交叉。

ESB 只是一个架构层,允许您将服务连接在一起。通常它会添加连接、路由、协议转换等。它是可选的,但仍然是许多 SOA 项目的典型组件。这是一种模式,但许多软件供应商都有 ESB“产品”可以帮助实现该模式。

这些无疑是模糊的答案,一些软件/服务供应商有更具体的定义(以及实现它们的多种技术)。你必须自己做出决定。

免责声明

:我在 IBM 担任 WebSphere 顾问,但我并不是以官方身份代表他们发言。

ESB 提供了一个基于标准的集成平台,在事件驱动的 SOA 中结合了消息传递、Web 服务、数据转换和智能路由。 ESB 是迈向完整 SOA 的重要步骤之一。

0
投票
Biztalk Server 2006 等框架及其 ESB 指导工具包旨在成为 ESB。您可能已经知道,Biztalk 提供开箱即用的消息传递、Web 服务和转换功能。借助 ESB Guidance 工具包 (

www.codeplex.com/esb

),BizTalk 现在可以提供基于内容的智能路由和基于行程的处理。这使得集成架构比具有重量级集成代理的传统 EAI 架构更加松散耦合。

WCF 可以作为托管服务的轻量级容器,消费者可以通过 ESB 访问这些服务。

以硬件世界为例,ESB 就像 PC 中的主板,所有设备都通过总线插入主板,并且由主板来确定不同设备如何相互通信。设备只需要知道它们与总线接口的方式即可。

© www.soinside.com 2019 - 2024. All rights reserved.