首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

ESB核心功能及应用场合

2012-08-26 
ESB核心功能及使用场合??? ESB是达到终点的手段,而不是终点本身。1. ESB核心功能:? ? (1) 协议适配器??? 也

ESB核心功能及使用场合

??? ESB是达到终点的手段,而不是终点本身。

1. ESB核心功能:

? ? (1) 协议适配器

??? 也被称作组件或服务,让ESB可以轻松地与基于HTTP,FTP,POP3/SMTP(电子邮件)和文件系统等通信协议的

??? 传输方式对接。ESB适配器通常要么用作服务器端,要么用作客户端。例如,可以设置好一个HTTP监听器/消费

??? 者来接受传入的请求或是作为客户端向外发送HTTP请求。下面给ServiceMix定义一个HTTP客户端适配器的

??? XML配置文件示例:

??? <http:endpoint service="testBasicAuth:MyProviderService" endpoint="myProvider"
????????? role="provider" locationURI="https://localhost:8193/Service/">
????????? <http:basicAuthentication>
??????????????? <http:basicAuthCredentials username="testuser" password="testpass" />
????????? </http:basicAuthentication>
??? </http:endpoint>

? ? (2) 面向消息的中间件

??? 基于Java的ESB使用JMS,而通常JMS被直接嵌入到ESB应用程序当中。JMS支持两种消息传递模型或通道:发布

??? /订阅(pub/sub),以及点对点。两者的区别是:

??? A. 在pub/sub模型中,多个消费者(订阅者)可以订阅并接受发布出来的消息;

??? B. 在点对点模型中,队列的方式使用更加普遍,因为通常不希望给定消息被多次处理。

??? (3) 基于XML的消息传递

??? (4) 智能路由和分发

??? ESB使用的路由规则根据消息的内容而有所不同(即动态的),或者也可以使用固定管线模式静态的建立路由。常

??? 见的实现ESB路由的不同方法:

??? A. 处理管线

??? B. 路由票

??? C. 中央路由器

??? D. 基于内容的路由

??? E. 基于组件的路由

??? 分发:是将消息拆分到多个消息通道或挂起时基于某种条件聚合消息。

??? (5) 消息转换

??? (6) 任务/定时器

??? (7) 服务质量/Web中介

? ? (8) 监控和管理

??? (9) 可扩展的API

2. 适用ESB的场合:

??? (1) 服务化:有明确的业务需要,需要整合应用程序;

??? (2) 服务虚拟化:指的是能够逻辑定义抽象的服务端点,而不是使用实际物理地址的能力;

??? (3) 异步通信: 应用程序位于不同主机或不在同一个Domain时;

??? (4) 协议桥接: 应用程序采用不同的协议进行访问。

3. 不适用个ESB的场合:

??? (1) 服务编写:至按照某种特定的协议来编写服务,然后让ESB去操心可能存在的协议桥接问题;

??? (2) 协同与ESB:BPM的协同旨在传达一种视觉上可以理解的,甚至领域专家可以修改的业务流程;而ESB的数据

??? 流转是一种供开发人员使用的工具,用来简化创建多步操作的工作。因此,ESB的数据流转功能应该只用在简单的

??? 系列 步骤上,而不用作为BOM协同的替代。

??? (3) 同步的高通量分布式处理

??? 总之,ESB是实现SOA的有一个技术工具,不过SOA不只是技术,还包括治理,流程甚至文化!

4. EAI与ESB的区别

??? (1) 架构思想

??? EAI产品是基于hub-and-spoke的model,而ESB是bus-based的model.

??? Hub-and-spoke是Centralized的架构,所有数据的搅浑有一个hub或者broker处理;而bus model使用的是

??? 分布式的架构思想,ESB的功能可以由若干戈不同的的功能合作实现。

??? (2) 实现标准

??? EAI产品,如:WebSphere Message Broker, TIBCO BusinessWorks, and Sonic XQ都是基于专利技术实

??? 现消息功能和转换逻辑(不过新版的这些产品也已经采用了bus model);ESB基于开放标准:JMS,XML,JCA,

??? Web Service.

热点排行