ESB (Enterprise Service Bus) 入门
在本文中,ESB相关技术概念和术语。其他需要了解的入门的基础知识,并介绍了一些初步的了解ESB产品。因为它是一个新的ESB。将自己的学习内容与过程,记录下来!
愿在这里与大家分享一下,共同进步与提高!
【转载使用,请注明出处:http://blog.csdn.net/mahoking】
EAI
企业应用集成(Enterprise Application Integration):是完毕在组织内、外的各种异构系统、应用和数据源之间共享、交换信息、协作的途径。方法学,标准和技术。
所连接的应用包含各种电子商务系统,企业资源规划系统,客户关系管理系统。供应链管理系统。办公自己主动化系统,数据库系统。数据仓库等。EAI的原则是集成多个系统并保证各个系统互不干扰。
ESB
企业服务总线(Enterprise Service Bus):由中间件基础设施产品技术实现的、通过事件驱动和基于xml消息引擎。为复杂的面向服务的架构提供软件架构的构造物。
企业服务总线提供可靠消息传输。服务接入。协议转换,数据格式转换。基于内容的路由等功能,屏蔽了服务的物理位置,协议和数据格式。
MQ
消息队列(Message Queue):是进行通信的中间件产品。IBM的这个产品叫MQSeries,如今又叫WebShpere MQ。微软也有产品叫MSMQ,可是微软的产品有平台的依赖性,你们都懂得!
(.net)而IBM这方面做得非常不错。多数操作系统下的版本号都有。
MB
MB即WebSphere_Message_Broker。IBM的ESB(Enterprise Service Bus企业服务总线)产品。
MQ与MB介绍
MQ是消息的中间件,MB是ESB产品。
MQ负责在两个系统之间传递消息。这两个系统能够是异构的。处于不同硬件、不同操作系统、用不同语言编写,仅仅须要简单的调用几个MQ的API。就能够互相通讯,你不必考虑底层系统和网络的复杂性。
MQ作为IBM的一个拳头产品。尽管功能看上去非常easy。就是个消息队列,但他却是IBM中间件的核心,也是相比其它厂商(比方BEA)的一个优势。
MQ不仅有非常高的性能,并且对各种平台的支持非常好,差点儿你能想到的硬件和操作系统平台以及编程语言,MQ都有专门的API支持。
但MQ的功能仅限于消息队列。至于应用A发给应用B的消息格式是如何的、能不能被应用B解析,MQ管不了。他仅仅是尽力将消息发到目的地(MQ可以应付多种异常情况。比如网络堵塞、暂时中断等等)。此外。假设应用的数目多了,那互相之间都要建立MQ连接,网络拓扑就成了蜘蛛网了(就好像是最初的电话系统)。因此,我们将网络的星型拓扑引入系统架构中。把一对一的MQ换成一个中心节点。即ESB。MB即是IBM的ESB产品。
MB处于系统的中心,起到一个总线的作用,全部应用都直接连接到MB。而不是应用之间直接互联,这种优点不言而喻,能够极大的减少应用之间的耦合性。由此引出MB的两大核心功能:消息路由和数据转换
由于各个应用都插入到MB上。所以应用A仅仅管把消息丢给MB,MB自己主动依据消息字段、以及业务逻辑。推断要把消息交给谁。这就像路由器一样。依据数据包的头把包路由到对应地址。MB内部的业务逻辑由开发者设定。当然利用MB的Toolkit,编写业务逻辑也很easy:拖一些节点,用箭头把它们连起来,就像是画流程图一样。很形象简单。
再用MB的脚本语言(类似sql的脚本)实现逻辑推断,通俗地说就是推断要走哪个逻辑分支(if...else.....)。
只是各个应用是如何与MB连接的呢?MB提供了三种方式:MQ、文件和web service。
MQ方式即是利用MQ将MB与应用互联。文件方式则是指定某个文件夹,MB会自己主动监视那个文件文件夹,一旦文件有改变则觉得是新的消息到来,MB自己主动读取指定文件的内容。而web service就不用解释了。直接利用web service进行通讯。MB支持这些互联方式也是为了最大化兼容性,特别是对于那些遗留系统或是不支持主流通讯方式的系统。
最后说说一个比較偏门的ESB产品:websphere ESB。听过的人可能不多,由于IBM在中国推广的比較少。这个WESB非常像是MB的精简版,仅仅支持JMS、WS等少数几种J2EE的通讯方式,所以是为J2EE专门准备的。
不像MB,支持数十种平台和通讯方式。比如FTP。甚至非常多你根本没听说过的非常古老的通信协议。这两者的性能相差不少,价格也有三四倍的差距。
更要命的是,原先在WESB上开发的东西,是不能迁移到MB使用的,IBM似乎铁了心要狠狠宰我们,唯一的方法是再买一个MB。然后用MQ把WESB和MB连接起来。各跑各的。
【转载使用。请注明出处:http://blog.csdn.net/mahoking】
版权声明:本文博客原创文章,博客,未经同意,不得转载。
ESB (Enterprise Service Bus) 入门的更多相关文章
- ESB(Enterprise Service Bus)企业服务总线介绍
ESB(Enterprise Service Bus)企业服务总线介绍 ESB全称为Enterprise Service Bus,即企业服务总线.它是传统中间件技术与XML.Web服务等技术结合的产物 ...
- 企业服务总线Enterprise service bus介绍
企业服务总线(Enterprise service bus). 以往企业已经实现了很多服务, 构成了面向服务的架构,也就是我们常说的SOA. 服务的参与双方都必须建立1对1 的联系,让我们回顾一下SO ...
- 【转载】企业服务总线Enterprise service bus介绍
企业服务总线(Enterprise service bus). 以往企业已经实现了很多服务, 构成了面向服务的架构,也就是我们常说的SOA. 服务的参与双方都必须建立1对1 的联系,让我们回顾一下SO ...
- Oracle Service Bus白皮书
Oracle Service Bus简介 面对变幻莫测的市场需求的变化,企业希望通过推进"服务化"提高敏捷性和响应能力:更方便地与客户和合作伙伴交互,更灵活地设计和构建IT基础架构 ...
- Windows Azure Service Bus (2) 队列(Queue)入门
<Windows Azure Platform 系列文章目录> Service Bus 队列(Queue) Service Bus的Queue非常适合分布式应用.当使用Service Bu ...
- Azure Service Bus(一)入门简介
一,引言 今天开始学习新的内容 Azure Service Bus(服务总线),其实也叫 "云消息服务",和 RabbitMQ,KafKa的一样都是作为消息通信服务,但是它们直接还 ...
- Jumpstart for Oracle Service Bus Development
http://www.oracle.com/technetwork/articles/jumpstart-for-osb-development-page--097357.html Tutorial ...
- Windows Azure Service Bus (3) 队列(Queue) 使用VS2013开发Service Bus Queue
<Windows Azure Platform 系列文章目录> 在之前的Azure Service Bus中,我们已经介绍了Service Bus 队列(Queue)的基本概念. 在本章中 ...
- Windows Azure Service Bus (4) Service Bus Queue和Storage Queue的区别
<Windows Azure Platform 系列文章目录> 熟悉笔者文章的读者都了解,Azure提供两种不同方式的Queue消息队列: 1.Azure Storage Queue 具体 ...
随机推荐
- ios开发网络学习AFN三:AFN的序列化
#import "ViewController.h" #import "AFNetworking.h" @interface ViewController () ...
- iis MP4 不能访问404
为什么我上传了flv或MP4文件到服务器,可输入正确地址通过http协议来访问总是出现“无法找到该页”的404错误呢?这就表明mp4格式文件是服务器无法识别的,其实,这是没有在iis中将相应的MIME ...
- jquery zoom jquery放大镜特效
这是一款非常不错的给图片添加放大镜效果,可以应用在诸如zen cart,magento电子商场之类的开源项目上.如果想看它的效果,你可以直接访问: http://www.mind-projects.i ...
- Android自己定义控件2-简单的写字板控件
概述 上一篇文章我们对自己定义控件进行了一个大体的知识介绍. 今天就来学习自己定义一个简单的写字板控件. 先来看看效果图 就是简单的依据手指写下的轨迹去画出内容 实现 在上一篇文章里提到了androi ...
- Linux下 kprobe工具的使用
此处转载: 一.Kprobe简单介绍 kprobe是一个动态地收集调试和性能信息的工具,它从Dprobe项目派生而来,是一种非破坏性工具,用户用它差点儿能够跟踪不论什么函数或被运行的指令以及一些异步事 ...
- 深度学习框架 —— tflearn 的学习
1. tflearn.data_utils from tflearn.data_utils import to_categorical one_hot 编码: 第一个参数为属性列,第二个参数接受类别个 ...
- 小强的HTML5移动开发之路(28)—— JavaScript回顾3
一.基本数据类型 number:数字类型 string:字符串 (注意s小写:string是基本类型) boolean:布尔类型 //前三个都有对应的包装类 null:空类型 undefined: ...
- 利用spingmvc及servlet实现对url的地址去除后缀,更改后缀为html
效果图 1.在web.xml中加上如下配置.其实就是利用servlet的目录过滤,这样所有带有news的地址都会被拦截 <!-- restfull风格约定,去除前台超链接访问的后缀 --> ...
- 【Dijkstra+邻接表求次短路】POJ Sightseeing 3463
Language: Default Sightseeing Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7766 Ac ...
- PPT之SmartArt功能
在PPT中,我们经常看到这样的漂亮的组合图标: 他们是怎么做出来的呢?其实用ppt自带的SmartArt功能就能做出来了. Tips:SmartArt可以直接先选择组合图标再填文字,还可以写好了文字, ...