又过一年了,更新一次自己的ESB笔记,内容实在,枯燥无味,浓缩即精华....年度最大发现应该是Fuse ESB 4.0吧。
ESB的类型
ESB最终以两种截然不同的形态存在于实际项目中:
一种是纯粹的SOA交互基础中间件,是系统间松耦合地互操作的基础设施。
一种是ESB风格的应用,如电信的能力网关那样联合多个系统提供组合服务。此时它既有一个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,未接触。
分享到:
相关推荐
自己辛苦整理的网上的JBoss ESB学习笔记 ,非常详细,代码操作都有截图; 希望大家多支持! 学习笔记PDF的目录如下: 1——搭建ESB开发环境 2 2——第一个ESB代码Hello World 12 3——第二个ESB代码Hello World ...
Fuse ESB 4.3.1 个人使用 笔记
JBossESB学习笔记 收集了网上1-16系列教程,笔记详细介绍了JBossESB各个组件的特性及配置文件的说明
Jboss_ESB学习笔记以及总结和实例
Jboss_ESB学习笔记,介绍的很详细,可以作为入门文档来看。
Jboss_ESB学习笔记.doc
MuleESB是一个基于Java的轻量级企业服务总线和集成平台,允许开发人员快速便利地连接多个应用,并支持应用间的数据交换。MuleESB支持集成现有系统而无论其底层采用何种技术,如JMS、WebServices、JDBC、HTTP以及其他...
。。。
NULL 博文链接:https://topmanopensource.iteye.com/blog/1931175
前几年听一位高人讲过ESB这个概念,但一直没有时间去仔细了解。而近段时间。找了一本ESBinAction学习.准备好好学习ESB啦,以下主要是该书抽取内容。什么是ESB?ESB,消息服务总线,它是一个较新但又较难理解的技术。...
SOA已经在中国喊了几年,连象牙塔的大学生都知道了,但实施的案例并不多,而作为SOA基础设施的企业服务总线ESB,在国内的应用更是稀少,主要都是银行和电信等大牌企业在使用。我算非常好彩,打工所在的公司恰好要为...
运算符递增 / 递减 运算符:初学者总是分不清 ++ / -- 运算在 C# 中 ++var 称为前置递增, var++ 称为后置递增。 两者的区别体现在返回给表达式的值上。
Portal相关标准学习笔记,包括有单点登录SSO,企业服务总线ESB,Portlet开发标准JSR168
今天阅读了两篇关于微服务的文章,总结一些笔记,简单翻译了一篇文章。说明:并没有严格按照原文一字语句翻译,有部分自己的理解,还有部分是意译。微服务(microservices)这个概念不是新概念,很多公司已经在实践了...
SERVICEMIX学习笔记最终版.pdf