企业服务总线(Enterprise service bus). 以往企业已经实现了很多服务, 构成了面向服务的架构,也就是我们常说的SOA. 服务的参与双方都必须建立1对1 的联系,让我们回顾一下SOA架构有哪些基本的要求:
- SOA在相对较粗的粒度上对应用服务或业务模块进行封装与重用;
- 服务间保持松散耦合,基于开放的标准, 服务的接口描述与具体实现无关;
- 灵活的架构 -服务的实现细节,服务的位置乃至服务请求的底层协议都应该透明;
在SOA中,我们还需要这样一个中间层,能够帮助实现在SOA架构中不同服务之间的智能化管理。这是我们就需要企业服务总线(Enterprise service bus).
在N层结构的ESB:
企业服务总线(Enterprise service bus)通讯层:
ESB的主要功能是:
1.对各个服务之间消息监控与路由
2.解决各个服务组件之间通信
3.控制服务版本与部署
4.满足服务像事件处理,数据转换与映射,消息与事件查询与排序,安全或异常处理,协议转环,保证服务通讯的质量.
又有下表:
定位清晰
ESB有助于从服务消费者服务提供者之间解耦。ESB提供了一个集中的平台使任何应用程序进行相互通信,使消息发送者到信息接收者解耦。
协议转换
ESB应该能够无缝地集成不同传输协议应用程序如HTTP,JMS,FTP,文件批处理和SMTP,TCP。
消息转换
ESB提供将消息从一种格式转换为其他基于开放的标准,如XSLT和XPath。
消息路由
ESB一个重要的功能是决定传入消息的最终目的地,通常这归类为消息路由。
消息增强
ESB提供基于传入消息附加丢失数据的消息增强机制.
安全
身份验证,授权与加密功能,为确保传入的消息安全, 防止有人恶意使用的ESB,以满足服务提供者信息安全。
监控与管理
监控和管理环境可配置高性能和可靠的特性,并且还可以监视的运行时消息流.
主要优点:
增加灵活性,更容易适应需求变化
由点扩展到整个企业的部署解决方案(分布式总线)
更多的配置,而不是集成代码
没有集中的规则引擎,没有集中的broker
零停机时间;使企业成为“可重构”的解决方案
主要缺点:
增加系统开销
通信速度较慢,特别是对那些已经兼容的服务
目前开源ESB产品与项目:
- Apache ServiceMix
- Apache Synapse
- JBoss ESB
- MassTransit
- NetKernel
- NServiceBus
- Petals ESB
- Spring Integration
- Open ESB
- WSO2 ESB
- Mule
- UltraESB
- Talend ESB
- Shuttle Service Bus
希望对您软件架构有帮助.
【转自】http://www.cnblogs.com/wintersun/archive/2013/03/23/2977875.html
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/119412.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...