·提供消息路由服务。
·为控制对服务的访问提供安全功能。
·可被集中管理,虽然它是一个分布式系统。
·允许对服务的渐进式改变,而不需要停机或者其他对系统可用性的干扰。
这些功能(以及其他更多功能)对于很多类型的服务来说都是基本的要求。CBDIForum的D. Sprott就列举了一系列模式,如果没有ESB将很难实现它们。比如用ESB的路由机制来实现服务版本化(Service Versioning)的策略。
当然,随着WS-*标准集逐渐完整(WS-TX已经完成,可靠消息通讯也接近完成**),会抢掉通讯基础设施的一点点风头,但一个高效的服务容器仍然是成功的企业级SOA的关键。如果厂商们开始大谈他们的“服务容器”而非“总线”,我也不会感到奇怪。毫无疑问,你会开始把各种功能装进服务容器。
Bobby的文章幽默地表达了作为顾问的失落,当面对着一些对SOA一知半解的IT组织,为了跟上荒唐的进度要求,在压力驱使下试图表现出任何形式的进步。毫无疑问,最终完成的一堆毫无业务价值的东西,会被怪罪到顾问身上。我觉得Bobby给我们提了个醒,我总结如下:“不顾情况,一味使用ESB可能是有害的”。这句话可能对任何技术都成立。
*Bobby对他的文章作了一些澄清:“ESB是好的;单纯的ESB项目是坏的。让架构围绕服务,而非总线。这样说够清楚了吧?!:-)”
**如同pascal所指出,随着WS Reliable Messaging在2007年6月作为OASIS标准发布,全套标准已经完整。
文章来源于领测软件测试网 https://www.ltesting.net/