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开发runtime学习二:runtime交换方法
#import "ViewController.h" /* Runtime(交换方法):主要想修改系统的方法实现 需求: 比如说有一个项目,已经开发了2年,忽然项目负责人添加一个功 ...
- PHP+Aax实现异步验证
利用Ajax技术来检测用户名是否存在的原理流程图: 最终结果截图: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional/ ...
- 获取WebConfig 配置项的值
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.C ...
- 【u027】神秘大三角
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 判断一个点与已知三角形的位置关系. [输入格式] 前三行:每行一个坐标,表示该三角形的三个顶点 第四行 ...
- oracle2c-r2(12.2.0.1) 的镜像
docker- 构建 oracle2c-r2(12.2.0.1) 的镜像 需求 由于公司的数据库需要使用新的oracle版本(12c-r2 -->12.2.0.1),从之前的oracle11 ...
- 解决离线Could not parse configuration:hibernate.cfg.xml错误
离线使用hibernate tool 生成反向工程,在配置 配置文件完,生成配置文件后,会报出org.hibernate.HibernateException: Could not parse con ...
- Oracle数据库零散知识04 --- 其常用内置函数
1,数值函数 Select abs(-9),--9 绝对值 Mod(5,3),--2 余数 Sign(-9),-- -1 标记 Ceil(9.4),--10 Floor(9.8),--9 Sqrt(1 ...
- 【codeforces 779B】Weird Rounding
[题目链接]:http://codeforces.com/contest/779/problem/B [题意] 问你要删掉几个数字才能让原来的数字能够被10^k整除; [题解] /* 数字的长度不大; ...
- shell脚本一键安装mysql5.7.x(免安装版)
使用脚本一键安装mysql5.7.x,初始化数据库,启动数据库---- mysql版本:源码mysql5.7.10 linux版本:centos6.5 x86_64 #!/bin/bash GROUP ...
- 【records】10.24..10.30
做的题越来越少了; 我是不是该学下网络流.