首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >何时通过ESB公开服务?

何时通过ESB公开服务?
EN

Stack Overflow用户
提问于 2012-08-09 15:35:10
回答 1查看 2.4K关注 0票数 4

我目前参与的项目要求必须在Web服务中实现业务逻辑,该服务将由表示层组件(即Web应用程序)使用。

该公司有一条企业服务总线,几乎所有开发的Web服务都是通过这条总线公开的。我询问了一些同事关于何时通过ESB公开服务的问题,我得到了以下答案:

  • 如果存在ESB,则通过ESB公开一切:有几个好处,比如负载平衡和位置透明性。
  • 如果ESB仅充当代理-i.e,则不进行消息转换--只是不要使用它:您将使ESB过载并失去性能。你最好做一个点对点的连接。
  • 如果存在协议转换,则应该通过ESB公开组件(比如将存储过程公开为SOAP服务)。如果这不是现在,你最好点对点。

因此,我很好奇,对于何时通过它公开一个Web服务是否有一个普遍的协议或最佳实践,我很好奇。任何阅读/参考都会有很大的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-09 16:03:51

从我的观点来看,在使用SOA技术4年之后,使用ESB总是会使系统过载,因为您正在添加一个新层并使您的所有通信都通过它。在没有ESB的情况下,转换(消息传递或协议)和路由并不难完成,而且点到点通信具有更高的吞吐量。业务流程自动化也会发生同样的情况,有一些方法可以不需要ESB就可以到达那里。

另一方面,ESB的使用在公司范围内有几个好处,但它必须在远景和策略的范围内。最好的例子之一是一家长期使用各种工具的公司,每一种工具都是为了特定的目的而工作,并使公司分成几个小组,在筒仓里工作,而其他的则是孤立的。过了很长一段时间后,团队之间的互动变得复杂而缓慢。计划良好的SOA策略将有助于集成所有这些工具,并开始将它们替换为更有意义的轻量级项。

因此,使用ESB来解决单个项目中没有公司战略的一些“问题”,这不是一个好主意,最终, SOA 一词将在您的公司被禁止,而问题不是SOA本身,而是缺乏远见和企业战略。

关于ESB的使用,我发现的唯一经验法则是:单个项目中的转换、路由、业务流程自动化(有或没有人工交互)等需求并不是SOA的症状(几乎每个项目都必须执行转换、路由和业务流程自动化),但是当这些需求是整个企业的需求时,就值得从业务的角度来考虑,而不是从技术的角度考虑。如果没有业务视角,那么SOA就会失败。

这是一个非常广泛的话题,讨论可能会持续很长时间,我会建议你进一步阅读以下几个链接:

  • 一些SOA案例研究
  • SOA失败的十大原因
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11886871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档