摘 要
ESB是信息集成平台核心组件,是构建企业神经系统的必要元素,是一种对业务适应性比较强的软件架构与IT基础软设施,提供第三方系统插拔式的服务接入,实现跨部门与跨机构业务高效协同。本文对信息集成中的ESB的核心功能、消息机制、技术参数三个方面进行全面的介绍,期待同行业对ESB有更加清晰与准确的定义与认识。
关键词 :中间件;集成平台;ESB、消息队列、Web Services、发布/订阅
正文
1、引 言
ESB是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
2、核心功能
1、服务注册
在总线范畴内对服务的注册命名及寻址进行管理,提供内外客户类似于在一个可控的方式内发现服务,这是消除“服务隐没”并提供服务获取访问的关键步骤。为能开发人员能快速发现满足他们的服务,服务注册提供了对企业服务的发布,目录和分类功能。
另外,服务注册服务作为SOA管理的一个单独、集中的控制点,被认为是SOA中一个重要组件,包括:服务和资源的生命周期管理,确保质量的内外部标准的遵循,告知利益相关者变化,控制对服务的接入等。
2、协议转换
协议转换是ESB作为中介的重要体现,为企业内部各业务系统的松耦合通信和快速部署与调整业务功能创造了有力的条件,降低了因为频繁修改现有系统的通信协议而带来的稳定性风险。
直接支持业界普遍的标准协议:为了能够更好地与企业内部现有纷繁负载的业务系统很好地非侵入性的融合在一起ESB直接支持国内企业信息化建设过程中普遍采用的SOAP/HTTP、JMS、Http/Https、Socket、JDBC等标准协议,从而体现了ESB作为基本企业IT架构中基本的中介功能。
灵活的扩展框架支撑协议扩充:为了能够适应个性化的特殊情况ESB基于可扩展的多协议架构,一方面增强了ESB产品本身适应环境的能力,同时也为客户增值。
3、消息路由
消息路由能力同样提升了相关通信系统之间的松耦合性,数据的发送方只负责发送数据,对于数据接收方的通信协议、数据格式、所处位置和运行状态都可以不用关心,从而直接地提高了企业内部应用系统对业务的整体服务能力。
ESB提供的路由能力包含:静态路由、动态路由、广播、消息拆分、聚合、穿透等方式,
从而增强了在ESB上部署业务逻辑的能力,收敛了因为应用之间的通信而所需要的融合逻辑能力。
4、Push智能推送
信息系统获取消息的方式,主流的方式是按“拉”(Pull)的方式进行的,系统通
过向服务器发出请求,服务器响应请求后进行相应的计算,把处理的结果发送给系统。
采用在Push智能推送方式进行消息推送,在客户端系统没有发起请求时,服务端有相应的信息给客户端时,服务器主动把信息“推”给用户终端系统。实现第三方系统第一时间获取相应的消息,实时处理相应的业务。
5、服务质量
服务质量是实施服务级别协议(SLA)的重要基础支撑,有助于建设更加可量化的应用调用关系,为建设可控的业务支撑提供了可能,譬如用户可以根据SLA的指标配置触发提示的规则,并可以配置多级严重性,包括正常、提示、轻微、重大、危险和严重等。服务质量的具体指标体现在下列参数:
1、流量控制(并发、挡板、超时)
2、成功率,失败率
3、消息数
4、错误数
5、故障切换/重试次数
6、验证错误数
7、响应时间
6、服务监控
支撑起业务可视化特性的关键功能,因为实施ESB是客户想集中管理企业内部纷繁负载的业务调用的目标之一,而为了达到这个目标进行服务血缘关系管理,调用状态管理是公认的必要手段,ESB提供了多维度统计分析,同时还提供了灵活的扩展接口,旨在允许客户可以通过扩展开发完成符合自身要求的多维护的统计分析或运营报告:
1、 服务运行情况。
2、 消费者访问情况。
3、 提供者提供情况。
4、 SLA满足程度。
5、 提供者与消费者之间的依赖关系。
6、 依赖分析,从而能确定哪个客户端在使用服务。
7、 ESB整体运行情况【失败、拒绝、超时、非法、正常】
3、消息机制
为了支持异构环境,提供了多个通讯方式:
1、发布/订阅:根据对消息的订阅规则,同一个消息可以被多个订阅者消费。
2、单路:Endpoint单向发出消息,并不期待有回复信息。
3、请求/应答:Endpoint向队列中发出消息,并且可以从另一个队列中取得消息消费
者的反馈信息。或者服务调用者一直等待服务的处理结束并有返回结果时。
4、请求/回调:服务调用者异步调用某一服务并传递给该服务一个回调的服务地址,当该服务处理处理完后就调用该回调函数。
5、同步和异步:同步/异步是最基础的调用机制。
4、技术参数
通信 | 服务交互 | ||
1 | 路由 | 1 | 服务接口定义(WSDL) |
2 | 寻址 | 2 | 支持替代服务实现 |
3 | 通信技术、协议和标准(HTTP、HTTPS、MQ、JMS、FTP) | 3 | 通信和集成服务消息传递模型(SOAP、EAI企业应用程序集成) |
4 | 发布/订阅 | 4 | 服务目录和发现 |
5 | 请求/响应 | ||
6 | Fire-and-Forget事件 | ||
7 | 同步和异步消息传递 | ||
集成 | 服务质量 | ||
1 | 数据库 | 1 | 事务(原子服务、补偿、Web服务事务WS-Transaction) |
2 | 服务聚合 | 2 | 消息可靠传递 |
3 | 遗留系统和应用程序适配器 | ||
4 | EAI中间件的连续性 | ||
5 | 服务映射 | ||
6 | 协议转换 | ||
7 | 应用系统框架(例如:J2EE或.NET) | ||
8 | 程序语言(例如:Java和C/C++/C#) | ||
安全性 | 服务级别 | ||
1 | 身份验证 | 1 | 性能(并发量、消息延迟时间) |
2 | 授权 | 2 | 吞吐量 |
3 | 不可抵赖性 | 3 | 可用性 |
4 | 机密性 | ||
5 | 安全标准(例如:Kerberos和Web服务安全性WS-Security) | ||
消息处理 | 管理和自治 | ||
1 | 编码的逻辑 | 1 | 服务预置和注册 |
2 | 基于内容的逻辑 | 2 | 记录、测量和监控 |
3 | 消息和数据转换 | 3 | 服务发现 |
4 | 消息有效性 | 4 | 系统管理和管理工具的集成 |
5 | 中介 | 5 | 自监控和自管理 |
6 | 对象标识映射 | 6 | 业务规则 |
7 | 数据压缩 | 7 | 开发、部署、测试、验证工具 |
8 | 消息完整性 | ||
9 | 订阅错误处理策略 | ||
部署 | 基础架构智能 | ||
1 | 操作系统(Windows、Linux、Sun Solaris) | 1 | 业务规则 |
2 | 应用服务器(Tomcat、WebLogic) | 2 | 策略驱动的行为(例如:WS-Policy) |
3 | 数据库(Oracle、SQL Server、Mysql) | 3 | 基于内存的消息队列 |
4 | 支持Hadoop大数据平台 | 4 | 分成式计算 |
5 | 分布式部署 | 5 | 智能推送 |
6 | 集群部署 |
总结
本文对信息集成平台核心组件ESB组件进行深入浅出的探讨,对ESB的核心功能、消息机制、技术参数等进行全面的介绍,ESB实际是一种IT软设施基础,目前医疗行业对这种软件设施基础的重视程度还不够,希望通过本文能让大家对ESB更加深刻的认识,同时重视这种软设施基础的建设。
|