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 具体 ...
随机推荐
- vuejs及相关工具介绍
轻量级前端mvm的框架 图片.png 对es6语法的简单描述 图片.png 融合了react和angular的优点,组件化和灵活应用和指令,在国际上是一款极有潜力的前端框架. 1.双向绑定 两段相加得 ...
- [AngularFire2] Build a Custom Node Backend Using Firebase Queue
In this lesson we are going to learn how to build a custom Node process for batch processing of Fire ...
- Linux 网络编程系列教程
一.基础理论篇 01.网络协议入门 02.LAN.WAN.WLAN.VLAN 和 VPN 的区别 03.IP 地址介绍 04.广播地址介绍 05.无连接和面向连接协议的区别 06.因特网的IP协议是不 ...
- Android6.0动态申请权限那些坑--以及避免用户选择不再提示后无法获取权限的问题
Android 6.0 为了保护用户隐私,将一些权限的申请放在了应用运行的时候去申请, 比如以往的开发中,开发人员只需要将需要的权限在清单文件中配置即可,安装后用户可以在设置中的应用信息中看到:XX应 ...
- js进阶 10-4 jquery中基础选择器有哪些
js进阶 10-4 jquery中基础选择器有哪些 一.总结 一句话总结: 1.群组选择器用的符号是什么? 群组选择器,中间是逗号 2.jquery中基础选择器有哪些? 5种,类,id,tag,群组, ...
- 使用CentOS7卸载自带jdk安装自己的JDK1.8
不管在什么地方,什么时候,学习是快速提升自己的能力的一种体现!!!!!!!!!!! 关于JDK1.8 与之前的版本相比有哪些变化和新特性我也不在这详细的说明了,毕竟一度娘啥都有了,既然不多说那就直接开 ...
- 带你轻松看源代码---AsyncTask(异步任务)
本文出自博客Vander丶CSDN博客,如需转载请标明出处,尊重原创谢谢 博客地址:http://blog.csdn.net/l540675759/article/details/62893318 写 ...
- 【codeforces 782B】The Meeting Place Cannot Be Changed
[题目链接]:http://codeforces.com/contest/782/problem/B [题意] 每个人都有一个速度,只能往上走或往下走; 然后让你找一个地方,所有人都能够在t时间内到达 ...
- SQL表的最基本操作练习
use test go --select * from stu2 drop table stu2--删除表 go create table stu2 --新建一个名为stu2表 ( id int pr ...
- 在深入分析:Fragment与Activity一些互动的方式(一,使用Handler)
在这里,我不再具体介绍了编写更传统的方式,比如静态变量,静态方法.持久性,application全局变量.发送和接收广播等等.. 首先让我们介绍使用Handler实现Fragment与Activity ...