在哪里可以找到有关企业服务总线 (ESB) 的用途和优势的一些信息?
我正在寻找有关以下方面的信息:
- 问题的种类和 ESB 帮助解决的问题
- ESB 的替代方案 - 以及在它们之间进行选择时的权衡
- 作为开发人员构建 ESB 兼容系统需要做什么
我正在寻找比维基百科或供应商提供的在线营销手册更详细的信息。理想情况下,一些示例代码将有助于阐明利用 ESB 所涉及的内容。来自 .NET 或 Java 的信息将是最有用的。
谢谢。
在哪里可以找到有关企业服务总线 (ESB) 的用途和优势的一些信息?
我正在寻找有关以下方面的信息:
我正在寻找比维基百科或供应商提供的在线营销手册更详细的信息。理想情况下,一些示例代码将有助于阐明利用 ESB 所涉及的内容。来自 .NET 或 Java 的信息将是最有用的。
谢谢。
我建议使用ESB 或不使用 ESB,由Mule的创建者编写。
ESB 是实现企业集成模式的好方法。
替代方案实际上取决于您要解决的问题。
这将取决于您选择的 ESB,尽管鉴于大多数好的 ESB 旨在调用各种协议以及托管 POJO,您不需要做太多构建 ESB 兼容系统的工作。尝试使您的代码异步是值得的。
例如,Apache Camel 可能具有最简洁的配置,这里有一个教程。
三大关键优势:
但是,请确保这些将为您的情况提供商业价值。拥有 ESB 为您的企业增加了另一个复杂性。理想情况下,您不应该基于几个应用程序,而是整个组织来选择它。组织应该只有一个生产 ESB 集群。
备择方案:
实用性:
我已经说明了可能的替代方案。起初它们可能看起来很糟糕,但这并不是说你不能这样开始。我个人编写的东西直接与远程通信,而不通过 ESB 以确保它可以正常工作,而不必过多担心集成问题。
如果您没有 ESB,我建议您尝试使用 Mule 进行开发,使用 WebSphere ESB 进行测试和生产。我倾向于使用两种据称遵循标准的产品,以确保我们让供应商诚实,并确保您的开发人员遵守标准,防止无意中锁定供应商。
最后,只需回答以下问题:从长远来看,为简化企业的其他复杂性而增加一点复杂性的时间值得吗?
除了已经提到的网站。您应该阅读这篇关于“除非绝对必须,否则不要使用 ESB ”的文章。它由 MuleSource 的 CTO 编写,MuleSource 是最流行的开源 ESB 之一。不完全是您问题的答案,更多的是问自己“我需要 ESB”吗?
IBM有一个关于 ESB 的不错的 3 部分系列,它非常面向概念且与供应商无关(大部分情况下)。通过浏览 IBM 的站点,我在 ESB 上发现了很多好东西。BizTalk 网站上也有一些不错的信息和视频等。
看看这个Hanselminutes 播客。它回答了在实施服务总线之前您应该真正问自己的几个问题。
企业服务总线 (ESB) 是一种用于中间件的软件架构,它为更复杂的架构提供基础服务。例如,ESB 包含实现面向服务的体系结构 (SOA) 所需的特性。在一般意义上,ESB 可以被认为是一种管理对应用程序和服务(尤其是旧版本)的访问的机制,通过基于 Web 或表单的客户端向最终用户提供单一、简单且一致的界面前端。
本质上,ESB 为分布式异构后端服务和应用程序以及分布式异构前端用户和信息消费者做了中间件真正应该做的事情:隐藏复杂性,简化访问,允许开发人员使用通用的、规范的查询、访问和交互,在后台处理复杂的细节。ESB 的吸引力以及它未来成功的关键在于它能够支持由业务需求驱动的增量服务和应用程序集成,而不是由可用技术控制。
http://searchsoa.techtarget.com/definition/enterprise-service-bus
WSO2企业服务总线(产品)
WSO2 企业服务总线 (ESB) 4.7.0 文档!WSO2 ESB 是一个快速、轻量级、100% 开源且用户友好的 ESB,在 Apache 软件许可证 v2.0 下分发。WSO2 ESB 允许系统管理员和开发人员方便地配置消息路由、中介、转换、日志记录、任务调度、故障转移、负载平衡等。它支持最常用的企业集成模式 (EIP),并支持传输交换、事件、基于规则的中介和基于优先级的中介,以满足高级集成需求。ESB 运行时设计为基于 Apache Synapse 中介引擎的完全异步、非阻塞和流式传输。
WSO2 ESB 是在革命性的 WSO2 Carbon 平台之上开发的,这是一个基于 OSGi 的框架,可通过组件化为您的 SOA 提供无缝模块化。它包括许多可以安装在 ESB 中的功能和可选组件(附加组件),并且您可以轻松删除您的环境中不需要的功能,从而允许您完全自定义和定制 WSO2 ESB 以满足您确切的 SOA 需求。
架构 企业上的应用程序基础设施可能天生就很复杂,包括数百个语义完全不同的应用程序。其中一些应用程序是定制的,一些是从第三方获得的,还有一些可以是两者的组合,并且可以在不同的系统环境中运行。
这些异构应用程序之间的集成对企业至关重要。不同的服务可能使用不同的数据格式和通信协议。服务的物理位置可以任意更改。所有这些限制意味着您的应用程序仍然紧密耦合在一起。ESB 可用于放松不同服务和服务消费者之间的这些耦合。
WSO2 ESB 是成熟的企业级 ESB。它基于 Apache Synapse 项目构建,该项目是使用 Apache Axis2 项目构建的。所有组件都构建为 OSGi 包。
看看我的演讲“ Spoiled for Choice - How to select the right ESB ”。
我解释了何时使用 ESB、集成套件或仅使用集成框架(例如 Apache Camel)。我还讨论了开源 ESB 和专有 ESB 之间的区别。
使用 ESB 的理由为零。不要这样做。不必要的复杂性。既然可以直接走,为什么还要通过中介?ESB 的人会告诉你点对点是不好的,但不知何故,指向和来自 ESB 的点对点是好的。
您需要问自己的第一个问题是为什么需要 ESB?
ESB 通常用于 Event SOA 分布式架构中,这似乎是当今的热门词汇。在您进入 ESB 之前,让我提醒您 Martin 的 Fowler 分布式系统第一定律:
http://martinfowler.com/bliki/FirstLaw.html
“我的分布式对象设计第一定律:不要分发你的对象(来自 EAA 的 P)。
相关章节可在线获取。”
当您构建一个新系统时,最重要的方面是它是面向未来的,这意味着易于扩展和维护。如果您围绕松散服务的概念构建系统,并在网络环境中分发静态定义的合约,您可以“隐藏”您想要的特定服务的架构,因为接口仍然存在。
ESB 与异步消息传递系统密切相关,因此在开始实施这种实现之前,要知道架构不必是同构的,即所有服务都以相同的方式实现,不要开始最大的错误是从一开始就分发您的系统,您应该只在需要扩展时分发,而不是事先分发。但是,您需要确保的是,如果需要,您的服务应该能够轻松分发,而不会违反任何合同,这意味着对该服务的客户进行更改。
至于 ESB 的好处,它们与 SOA 相同,ESB 增加了异步消息(事件)操作的上下文。
首先让我解释一下SOA。它将架构构建为一组可重用的软件模块,这些模块公开为具有明确定义的接口的“服务”。这些服务促进松散耦合并从客户端抽象其实现细节。
如果每个组件都直接调用服务,SOA 最终可能会变得一团糟。因此,它具有以下常见问题。
ESB 是上述问题的解决方案。ESB…</p>
可以在此处找到一些示例用例。请注意,它们来自 AdroitLogic 的开发人员站点,并且与 AdroitLogic 的 ESB UltraESB 严格耦合。