热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

ESB企业服务总线ESB概述

谈及企业服务总线(ESB),在有面向服务的架构(SOA)实施经验的开发者眼中一定不会陌生。这些年,
谈及企业服务总线(ESB),在有面向服务的架构(SOA)实施经验的开发者眼中一定不会陌生。
这些年,人们一直在谈论它,以至有些人认为“实施SOA一定需要ESB”,或“只要将ESB架起来了,
我们就SOA了”。这些说法有可取之处,也存在片面之嫌,由于业界对于ESB没有统一、标准的定义,
所以一千个人眼中有一千个“ESB”也就成了情理中的事情了。然而,怎么才能将ESB用好?我们需要
清楚地认识ESB在SOA中所扮演的角色,理解哪些工作是ESB的职责之内?哪些却不是?

从下面可以看出ESB在各个系统服务之间发挥的作用,看看你是否理解正确了。





从上图可以看出,ESB是为各个系统的服务又管理各个系统的服务,它可以利用现有的服务组合新的系统,
图上它把OA、CRM、ERP整合等,那么它是不是就是一个万能的中间平台,任何服务都可以接入到上面?
这是一个很理想的目标,但这个目标是不可能实现的。
原因有两点:其一,仲裁逻辑一般是非常具体的,具体的服务有具体的整合需求。我的理解是它们在某些
更详细的小的方面也有很多不同,需要把所有的不同大的差异还是小的差异都屏蔽掉,是不容易做到的。
我们要考虑的不仅仅是协议之间的差别,还需要考虑消息格式的差别。其二,如果有这样的设计/实现存在,
ESB产商为何不把这个特性直接实现了呢?你也许会说产商不理解具体的业务,而具体的业务是复杂的,SI/ISV
却了解这些复杂业务。而事实上,ESB解决的更多是技术层面的工作,业务层面的工作大多数不属于ESB的范畴,
复杂的业务逻辑不是在业务系统中实现,就是在其它SOA组件中实现。



推荐阅读
author-avatar
zhaoxiao2012_549
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有