在本文中,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) 入门的更多相关文章

  1. ESB(Enterprise Service Bus)企业服务总线介绍

    ESB(Enterprise Service Bus)企业服务总线介绍 ESB全称为Enterprise Service Bus,即企业服务总线.它是传统中间件技术与XML.Web服务等技术结合的产物 ...

  2. 企业服务总线Enterprise service bus介绍

    企业服务总线(Enterprise service bus). 以往企业已经实现了很多服务, 构成了面向服务的架构,也就是我们常说的SOA. 服务的参与双方都必须建立1对1 的联系,让我们回顾一下SO ...

  3. 【转载】企业服务总线Enterprise service bus介绍

    企业服务总线(Enterprise service bus). 以往企业已经实现了很多服务, 构成了面向服务的架构,也就是我们常说的SOA. 服务的参与双方都必须建立1对1 的联系,让我们回顾一下SO ...

  4. Oracle Service Bus白皮书

    Oracle Service Bus简介 面对变幻莫测的市场需求的变化,企业希望通过推进"服务化"提高敏捷性和响应能力:更方便地与客户和合作伙伴交互,更灵活地设计和构建IT基础架构 ...

  5. Windows Azure Service Bus (2) 队列(Queue)入门

    <Windows Azure Platform 系列文章目录> Service Bus 队列(Queue) Service Bus的Queue非常适合分布式应用.当使用Service Bu ...

  6. Azure Service Bus(一)入门简介

    一,引言 今天开始学习新的内容 Azure Service Bus(服务总线),其实也叫 "云消息服务",和 RabbitMQ,KafKa的一样都是作为消息通信服务,但是它们直接还 ...

  7. Jumpstart for Oracle Service Bus Development

    http://www.oracle.com/technetwork/articles/jumpstart-for-osb-development-page--097357.html Tutorial ...

  8. Windows Azure Service Bus (3) 队列(Queue) 使用VS2013开发Service Bus Queue

    <Windows Azure Platform 系列文章目录> 在之前的Azure Service Bus中,我们已经介绍了Service Bus 队列(Queue)的基本概念. 在本章中 ...

  9. Windows Azure Service Bus (4) Service Bus Queue和Storage Queue的区别

    <Windows Azure Platform 系列文章目录> 熟悉笔者文章的读者都了解,Azure提供两种不同方式的Queue消息队列: 1.Azure Storage Queue 具体 ...

随机推荐

  1. [Recompose] Add Local State to a Functional Stateless Component using Recompose

    Learn how to use the 'withState' and 'withHandlers' higher order components to easily add local stat ...

  2. 正确使用pthread_create,防止内存泄漏

    近日,听说pthread_create会造成内存泄漏,觉得不可思议,因此对posix(nptl)的线程创建和销毁进行了分析.   分析结果:如果使用不当,确实会造成内存泄漏. 产生根源:pthread ...

  3. php 字符串 去掉 html标签

    echo strip_tags("Hello <b>world!</b>");

  4. 小雷FansUnion:我有了第一个付费客户(第一个徒弟)

    很高兴地告诉大家一个振奋人心的消息,我刚刚拥有了第一个付费客户. 第一个付费客户是山东青岛的一个上班族,有2年.Net经验,今年转Java开发.对我比较信任,在我的建议下,选择了"拜师学艺& ...

  5. ArcEngine数据编辑--选择要素

    转自原文ArcEngine数据编辑--选择要素 好久没有写博文了,这段时间相对空闲一点,把AE数据编辑实现总结下. 要编辑要素,首先要选中要素,按shift键进行多选,按esc键清空选择. 个人了解的 ...

  6. Java编程思想第四版 *第五章 个人练习

    练习3:(1)创建一个带默认构造器(即无參构造器)的类.在构造器中打印一条消息.为这个类创建一个对象.P116 public class Test{ public Test(){ System.out ...

  7. css样式继承规则详解

    css样式继承规则详解 一.总结 一句话总结:继承而发生样式冲突时,最近祖先获胜(最近原则). 1.继承中哪些样式不会被继承? 多数边框类属性,比如象Padding(补白),Margin(边界),背景 ...

  8. nodejs版本号更新问题:express不是内部或外部命令

    版本号更新后,我们使用熟悉的npm install -g express命令安装,可是,成功安装之后竟然提示express不是内部或外部命令. nodejs小问题:[1]express不是内部或外部命 ...

  9. 网络异常与SQL Server事务

    SQL Server事务遭遇网络异常时的处理机制浅析 SQL Server数据库中,如果应用程序正在执行一个事务的时候突然遭遇了网络异常,例如网络掉包,网络中断等,那么这个事务会怎么样? SQL Se ...

  10. NOIP 模拟 路径求和 - Tarjan+dfs+码

    题目大意: 各一个奇环内向森林,求每两个点对间的距离之和.无法到达则距离为-1. 分析: 首先Tarjan找出size大于1的连通分量(环),环中的边的贡献可以单独计算. 然后从入度为0的点向内dfs ...