又过一年了,更新一次自己的ESB笔记,内容实在,枯燥无味,浓缩即精华....年度最大发现应该是Fuse ESB 4.0吧。
ESB的类型
ESB最终以两种截然不同的形态存在于实际项目中:
一种是纯粹的SOA交互基础中间件,是系统间松耦合地互操作的基础设施。
一种是ESB风格的应用,联合多个系统提供组合服务,例如电信的ISAG能力网关就是其中典型。既有一个ESB的实现作为其基础设施,同时也遵循ESB的编程模型。
两者间的界限并不明显,在渐变中ESB对周边服务的业务逻辑会越来越了解,直接体现在ESB中的业务逻辑也越来越多。
基础能力
由ESB充当解耦的中介,使得服务消费者对实际服务提供者的身份、物理位置、传输协议和接口定义都是不知道也不关心的。
- 协议转换
(WebService、Http、JMS...)
- 数据转换
(传输协议特定格式与ESB统一消息模型的转换,各服务间数据模型的映射转换)
- 消息路由
(静态端点配置,基于内容的过滤与路由)
- MEP转换
(同步/异步)
- 组合服务
(ESB服务编排、BPEL流程引擎)
ESB支持通过简单而统一的配置完成以上功能,也支持开发者在其上编写富含业务逻辑的数据转换、消息路由甚至业务处理模块。
服务中介
由ESB充当服务的中介,为服务的交互过程自然的提供一系列的基础服务 。
- 服务治理
(服务注册中心)
- QOS
(负载均衡,可靠性传输,异常处理,流量控制)
- 统一安全管理
(ESB的基本安全控制,含业务逻辑的安全控制)
- 服务日志与监控
(服务调用及消息数据的日志清单,系统及服务的性能与状态监控)
- BAM业务活动监测
(如发现某个服务的调用比昨天增加超过了一定的百分比,CEP复杂事件处理)
开源ESB实现
纷纷扰扰后,只剩下有实力的四国 :
- Fuse ESB
, 基于ServiceMix与Camel,由IONA公司(被Progress收购)提供支持,ServiceMix 4.0 重点已从JBI移到OSGI,而且IONA同时也是ActiveMQ与CXF背后的公司,三者整合良好。
- Mule
,最早声势最大的开源ESB,由MuleSource公司提供支持。缺点是Transport质量较差,缺乏强力的AS底层,缺少服务中介能力,服务编排方式不理想.
- JBoss ESB
, JBoss提供支持,中规中矩没什么明显缺点的ESB,部署于JBossAS上,特色是可用JbossRules编写Router,用JBPM实现流程引擎。
- WSO2
,基于Apache Synapse,由Axis2 背后的公司提供支持,但自己对Axis2一系向来不感冒。
商业ESB
- BEA AquaLogic
,作为服务中间件非常好,路由编排再次走了图形编程+XML Context(XQuery)的老路,在业务复杂时不容易玩,同时缺乏直接业务编程能力,只能调Java静态方法或远程EJB2.1方法。
- IBM(Message Broker, Websphere ESB,DataPower),未接触。
- Progress Sonic ESB,最早的ESB,未接触。
分享到:
相关推荐
JBossESB学习笔记 收集了网上1-16系列教程,笔记详细介绍了JBossESB各个组件的特性及配置文件的说明
### JBoss ESB 学习笔记知识点概览 #### 一、搭建ESB开发环境 - **工具准备**: - Eclipse-JEE 3.5:集成开发环境,支持Java EE标准,适合企业级应用程序开发。 - jbossesb-server-4.7:JBoss ESB的具体版本,为...
【JBoss ESB 学习笔记】 JBoss ESB(Enterprise Service Bus,企业服务总线)是Red Hat公司开发的一款开源服务导向架构(SOA)平台,它为分布式应用程序提供了集成和互操作性。本笔记将深入探讨JBoss ESB的核心概念...
【JBoss ESB学习笔记】 JBoss ESB(Enterprise Service Bus)是Red Hat公司开发的一款开源企业服务总线,它是企业级应用集成的核心组件,用于连接不同系统、服务和应用程序,实现服务之间的通信和交互。本学习笔记...
### Fuse ESB 4.3.1 使用笔记 #### 一、概述 Fuse ESB (Enterprise Service Bus) 4.3.1 是一个强大的企业级服务总线平台,基于Apache Karaf容器构建,用于集成不同的应用程序和服务。它支持多种集成模式和技术栈,...
4. **Spring整合**:《JBoss_ESB学习笔记13——第十个ESB应用Spring_AOP.doc》和《JBoss_ESB学习笔记12——第十个ESB应用Spring_helloworld.doc》涉及到Spring框架与ESB的结合,Spring AOP(面向切面编程)在ESB中的...
本篇笔记将详细介绍如何搭建JBoss ESB的开发环境。 首先,我们需要准备的是Eclipse IDE,这里推荐使用Eclipse-JEE 3.5版本,因为该版本对Java EE开发有着良好的支持,同时包含了对各种服务器的集成。如果你还没有...
本篇学习笔记主要围绕 JBoss ESB 的一个基础应用——“Hello World File Action”进行讲解,这个例子展示了如何利用 JBoss ESB 的 File Gateway 功能来监控文件系统变化,并通过 JMS(Java Message Service)消息...
在本篇“Mule ESB 学习笔记(13)CSV数据文件到数据库”中,我们将探讨如何使用Mule ESB(Enterprise Service Bus,企业服务总线)处理CSV(Comma Separated Values,逗号分隔值)数据,并将其有效地导入到数据库中...
MuleESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。MuleESB支持集成现有系统而无论其底层采用何种技术,如JMS、WebServices、JDBC、HTTP以及其他...
前几年听一位高人讲过ESB这个概念,但一直没有时间去仔细了解。而近段时间。找了一本ESBinAction学习.准备好好学习ESB啦,以下主要是该书抽取内容。什么是ESB?ESB,消息服务总线,它是一个较新但又较难理解的技术。...
9. **Spring Integration**:提供异步处理、消息驱动和企业服务总线(ESB)功能,方便系统间的集成。 10. **Spring Batch**:专门用于批量处理任务的框架,支持复杂的批处理需求,如事务管理、错误处理和分页。 ...
9. **Spring Integration**:提供了异步处理、消息驱动和企业服务总线(ESB)等集成解决方案。 10. **Spring Batch**:用于处理批量操作,如数据导入导出,适合大规模数据处理。 在学习笔记中,你可能会找到以下...
ServiceMix学习笔记 ServiceMix是基于Java Business Integration(JBI)规范的企业服务总线(ESB),它提供了一个集成多种系统和应用程序的平台。以下是ServiceMix学习笔记的摘要信息: ESB 消息传输的最低要求 ...
SCA和ESB的关系类似于JPA规范和Hibernate之间的关系,SCA定义了一套面向服务的编程模型,而ESB则为服务间通讯提供了一种实现方式。ESB可以看作是实现SOA的一种重要工具,它为不同服务之间提供了一种集成和通讯的基础...
6. **信息系统集成**:讨论了不同系统之间的接口设计、数据交换、系统集成策略和技术,如ESB(企业服务总线)和SOA(面向服务的架构)。 7. **风险管理与质量管理**:介绍如何识别、评估和应对项目风险,以及如何...
Portal相关标准学习笔记,包括有单点登录SSO,企业服务总线ESB,Portlet开发标准JSR168