(转) ESB 企业服务总线基本内容概述
ESB全称为Enterprise Service Bus,即企业服务总线。
它是传统中间件技术与XML、Web服务等技术结合的产物(SOAP协议= HTTP协议+ XML数据格式)。
ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。

整个架构体系里面分为三个组件或子系统,即偏开发态的设计器,偏运行态的ESB核心引擎和SOA治理管控平台三个方面的内容。以上三者组合和集成形成一款完整的ESB服务总线产品。对于三者之间的关系可以简单的描述为:
首先对于ESB总线引擎是一个完全相对独立的内容,即常说的ESB的Server端,一个完整的ESB引擎一般都会集成消息中间件的能力。类似ServiceMix的ESB可以看到核心是基于OSGI运行框架下的ActiveMQ+CXF组件来实现基础核心功能。没有设计器和管控平台,引擎也可以独立部署和运行,即可以自己写代码或写配置文件,将开发好的服务包部署到ESB引擎环境里面。
其次是ESB设计器,设计器是属于开发和设计态的一个内容,重点则是对http,rest,已经服务+DB,消息等各种内容进行集成。
最后一个内容是SOA管控平台,主要的作用是实现服务的全生命周期管理,包括服务的元数据管理,服务目录库,服务的申请,服务的开通和鉴权,服务运行日志审计和监控,服务运行分析,服务预警,服务SLA等各种功能。即SOA管控平台提升了对ESB引擎本身的管控和治理能力。
一、ESB的五个基本功能:
1)服务的MetaData管理:在总线范畴内对服务的注册命名及寻址进行管理。
2)传输服务:确保通过企业总线互连的业务流程间的消息的正确交付,还包括基于内容的路由功能。
3)中介:提供位置透明的路由和定位服务;提供多种消息传递形式;支持广泛使用的传输协议。
4)多服务集成方式: 如JCA,Web服务,Messaging ,Adaptor等.
5)服务和事件管理支持: 调用服务的记录、测量和监控数据;提供事件检测、触发和分布功能。
二、ESB的八个扩展功能:
1) 面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述;
2) Mediation :它必须具有某种机制能够完成中介的作用,如协议转换;
3) 通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等;
4) 集成: 遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。
5) 服务交互: 服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。
6) 服务安全: 认证和授权、不可否认和机密性、安全标准的支持等;
7) 服务质量: 事务,服务的可交付性等;
8) 服务等级: 性能、可用性等。 ESB 中最常提到的两个功能是消息转换和消息路由。
三、ESB的出现改变了传统的软件架构
ESB 是传统中间件技术与XML、Web服务等技术相互结合的产物,ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,
同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,
以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
四、企业服务总线(ESB)的用处
ESB 不是万能的,他不是一个应用程序框架,也不是一个企业应用的解决方案.它只是一个基于消息的调用企业服务的通信模块!
你可以把它嵌入到你的应用程序框架中,例如嵌入到spring容器里面,或者嵌入到工作流系统中.它的作用是对企业里面的SOA服务的调用提供一个框架和简便的方法。
五、企业服务总线(ESB)的应用特征
大规模分布式的企业应用需要相对简单而实用的中间件技术来简化和统一越来越复杂、繁琐的企业级信息系统平台。
面向服务体系架构(SOA)是能够将应用程序的不同功能单元通过服务之间定义良好的接口和契约联系起来。
SOA使用户可以不受限制地重复使用软件、把各种资源互连起来,只要IT人员选用标准接口包装旧的应用程序、把新的应用程序构建成服务,那么其他应用系统就可以很方便的使用这些功能服务。
支撑SOA的关键是其消息传递架构-企业服务总线(ESB)。ESB是传统中间件技术与XML、Web服务等技术相互结合的产物,
用于实现企业应用不同消息和信息的准确、高效和安全传递。ESB的出现改变了传统的软件架构,
可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务协调运作,实现不同服务之间的通信与整合。
(转) ESB 企业服务总线基本内容概述的更多相关文章
- ESB企业服务总线到底是什么东西呢?
顾名思义,企业服务总线(ESB)就是一条企业架构的总线,所有的企业服务都挂接到该总线上对外公布,企业服务总线负责管理服务目录,解析服务请求者的请求方法.消息格式,并对服务提供者进行寻址,转发服务请求. ...
- 关于ESB(企业服务总线)的学习笔记
MQ(消息队列 message queues),它是一种应用程序对应用程序的通信方法.排队指的是应用程序通过队列来通信.队列的使用除去了接收和发送应用程序同时执行的要求. Web Sevice 技术, ...
- ESB雏形 -- 项目企业服务总线初始
今天要厚着脸皮给大家推荐一个自己做的通信中间件——ServiceAnt,目前已经在我们团队的两个产品线上投入了使用. ServiceAnt是什么 它最初的定位是ESB(企业服务总线),但目前还没有达到 ...
- 企业服务总线(ESB)
思考: 1.ESB的定义到底是什么?是一款产品还是一种架构模式? 2.ESB有何实际用处? 定义ESB 对于企业服务总线(Enterprise Service Bus),目前还没有公认的定义,根据供应 ...
- 几种ESB(企业服务总线)介绍
ESB(Enterprise Service Bus,即企业服务总线)是传统中间件技术与XML.Web服务等技术结合的产物.ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素. 企业服务 ...
- ESB(Enterprise Service Bus)企业服务总线介绍
ESB(Enterprise Service Bus)企业服务总线介绍 ESB全称为Enterprise Service Bus,即企业服务总线.它是传统中间件技术与XML.Web服务等技术结合的产物 ...
- ERP_基于Oracle SOA的企业服务总线整合
2015-01-01 Created By BaoXinjian
- 面向服务架构(SOA)和企业服务总线(ESB)
http://www.cnblogs.com/shanyou/archive/2008/04/19/1161452.html 学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点 ...
- TCP系列55—拥塞控制—18、其他拥塞控制算法及相关内容概述
前面我们演示分析了100+个wireshark TCP实例,拥塞控制部分也介绍常见的拥塞处理场景以及4种拥塞撤销机制,但是我们一直使用的都是reno拥塞控制算法.实际上拥塞控制发展到今天已经有了各种各 ...
随机推荐
- 前端学习框架之layui
学习地址:https://www.layui.com/demo/laytpl.html
- Selenium 2自动化测试实战9(简单元素操作)
一.简单元素操作 1. webdriver中常用的几个方法: clear():清除文本 send_keys(*value):模拟按键输入 click():单击元素 clear()方法用于清除文本输入框 ...
- 运行上次失败用例(--lf 和 --ff)
前言 “80%的bug集中在20%的模块,越是容易出现bug的模块,bug是越改越多“平常我们做手工测试的时候,比如用100个用例需要执行,其中10个用例失败了,当开发修复完bug后,我们一般是重点测 ...
- java:LeakFilling(JSP,servlet,Ajax,Json,Path)
1. request.setAttribute("test", "测试"); request.getRequestDispatcher(" ...
- Python学习之面向对象(一)
第六章 面向对象 6.1 面向对象的初识 6.1.1 什么是面向对象 面向过程式编程: 好处:出色的完成所有的需求 坏处:凡是更改或者增加一条需求,可能整个项目都随之改变 面向对象式编程: 类 ...
- python学习之内置函数(一)
4.7 内置函数 4.7.1 内置函数(1) eval 执行字符串类型的代码,并返回最终结果. eval('2 + 2') # 4 n=81 eval("n + 4") # 85 ...
- LeetCode.1010-歌曲总长度可被60整除的对数
这是小川的第377次更新,第405篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第239题(顺位题号是1010).在歌曲列表中,第i首歌曲的持续时间为[i]秒. 返回其总 ...
- 关于java中设计原则总结(7)
开闭原则: 对于类,模块函数等扩展要开放,对于修改要关闭. 依赖倒置: 接口或抽象是高层,要面向高层编程,不应该面向实现类(实现类是低层)去变成. 单一职责: 对一个类,或者一个功能,只用负责一个职责 ...
- 如何解决idea本身的乱码以及解决代码中出现的乱码?
1:解决idea中控制台的乱码现象(3中方法): 第一种: 如图需要找到idea的安装路径: idea\IntelliJ IDEA 2018.3.2\bin 在这个路径下面有一个文件叫:idea64. ...
- 【VS开发】浅谈UDP(数据包长度,收包能力,丢包及进程结构选择)
UDP数据包长度 UDP数据包的理论长度 udp数据包的理论长度是多少,合适的udp数据包应该是多少呢?从TCP-IP详解卷一第11章的udp数据包的包头可以看出,udp的最大包长度是2^16-1的个 ...