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.
分享到:
相关推荐
WSO2 ESB 使用手册,项目中使用到了WSO2的ESB功能作为ESB使用
### ESB原理及Mule ESB实践 #### ESB(Enterprise Service Bus)原理概述 **ESB**(企业服务总线)是SOA(面向服务架构)架构中的关键组件之一,用于实现服务间的智能集成与管理。其核心作用在于简化不同系统间的...
**ESB标准产品功能模型详解** 企业服务总线(Enterprise Service Bus,ESB)是面向服务架构(Service-Oriented Architecture,SOA)的核心组件,它提供了服务之间的通信和集成能力。ESB的标准产品功能模型涵盖了多...
3. **集成**:集成是ESB的核心功能之一,它连接各种数据库、聚合服务、适配遗留系统和应用程序,以及使用EAI中间件实现不同系统的互联。ESB还进行服务映射、协议转换,并支持各种应用程序服务器环境和语言接口。 4....
企业服务总线(Enterprise Service Bus,简称ESB)是企业级集成的重要工具,它作为服务导向架构(Service-Oriented Architecture,简称SOA)的核心组件,用于连接不同系统和应用程序,实现数据和服务的高效交互。ESB...
然而,由于WSO2 ESB产品已被整合进WSO2 Enterprise Integrator (WSO2 EI) 或者 Micro Integrator (WSO2 MI),因此在最新版本中,我们可能需要从WSO2官方网站下载WSO2 EI或MI来实现类似的功能。以下是对WSO2 ESB 5.0...
【标题】"ESB3实例代码及文档"指的是企业服务总线(Enterprise Service Bus,ESB)的第三阶段实现的相关实例代码和配套文档。ESB是企业级集成的关键技术,它提供了一种在不同系统之间交换信息和服务的方式,使得应用...
ESB使用及普通服务配置说明ESB使用及普通服务配置说明
ESB的核心概念是解耦,它作为连接各个系统的桥梁,使得系统的扩展和维护变得更加灵活。 在提供的压缩包文件中,我们可以看到一系列与ESB相关的项目和组件,这将是一个很好的学习资源,特别是对于ESB初学者。下面,...
企业服务总线(Enterprise Service Bus,简称ESB)是企业级集成解决方案的核心组成部分,它提供了一种标准化的方式,使不同系统、应用和服务之间能够进行通信和交互。ESB的主要目标是打破信息孤岛,促进企业内部以及...
在使用Fuse ESB 4.3.1的过程中,首先需要安装一系列的功能特性(feature),这些特性提供了不同的功能模块。下面是一些关键特性的安装示例: 1. **Camel NMR**: 安装Camel组件,支持基于消息驱动的架构。 ```shell ...
本指南将深入探讨WSO2 ESB的安装、配置、使用以及相关功能特性。 一、WSO2 ESB概述 WSO2 ESB是基于Java和OSGi框架构建的,它提供了灵活的服务代理、路由、转换和协议适配等功能。作为中间件,WSO2 ESB能够处理不同...
一、Jboss ESB的简介 1、 什么是ESB。 ESB的全称是Enterprise Service Bus,即企业服务总线。ESB是过去消息中间件的发展,ESB采用了“总线”这样一种模式来管理和简化应用之间的集成拓扑结构,以广为接受的开放...
银行esb开发全过程(使用webservice) 本文档描述了银行esb开发的全过程,包括所需软件、操作步骤和相关代码。使用javawebservice技术。 一、相关软件: 1. JDK环境:Java开发的基础环境。 2. apache-cxf:一个...
Mule ESB Studio 3.3 中文使用手册(官方翻译) Mule ESB Studio 3.3 是一款功能强大且灵活的集成平台,旨在帮助开发者快速构建、部署和管理企业级集成解决方案。该手册旨在指导用户如何安装、配置和使用 Mule ESB ...
通常,Mule ESB使用log4j或Logback作为日志框架,`log4j.properties`文件即为该框架的配置文件,它允许我们定制日志级别、输出目的地和格式。 `openejb.conf`和`openejb.properties`涉及到OpenEJB,这是一个开源的...
摘要:随着面向服务体系结构(s0A)的推出及其深入应用,企业服务总线(EsB)在理论和应用方面成为软件开发、集成与部署的 热点技术。...从而对ESB的概念、原理、架构、平台及应用现状作一个 总体的阐述