ESB企业服务总线到底是什么东西呢?
顾名思义,企业服务总线(ESB)就是一条企业架构的总线,所有的企业服务都挂接到该总线上对外公布,企业服务总线负责管理服务目录,解析服务请求者的请求方法、消息格式,并对服务提供者进行寻址,转发服务请求。说白了,它就是服务的请求者和服务的提供者之间的一个中间件,就是对服务使用者屏蔽服务提供方的技术实现方式。如果没有这个总线,那么服务的请求者则必须自己知道它所需要的服务的地址,并要知道相应的服务调用方法,消息格式,这样的调用是点到点的,不利于服务的统一管理,不利于不同格式的服务的集成。
ESB可以说是搭建SOA架构所必须实现的核心功能组件。总的来说,它的主要功能和职责是消息解析,验证,服务路由转换,请求的传递,服务目录管理。ESB使用SOAP消息格式,支持HTTP(S)、JMS、MQ、FTP、SMTP等传输协议。
ESB也可以说是传统中间件技术与XML、Web服务等技术相互结合的产物。
从软件设计的角度上来说,ESB是一个抽象的间接层,提取了服务调用过程中调用与被调用动态交互中的一些共同的东西,减轻了服务调用者的负担。要记住一句话:“所有的软件设计的问题都可以通过增加一个抽象的间接层而得到解决或者得到简化!!!”这句话在java编程思想这本书上有,但还是要通过不断的实践才能真正深入地理解它!
ESB企业服务总线到底是什么东西呢?的更多相关文章
- (转) ESB 企业服务总线基本内容概述
ESB全称为Enterprise Service Bus,即企业服务总线. 它是传统中间件技术与XML.Web服务等技术结合的产物(SOAP协议= HTTP协议+ XML数据格式). 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服务等技术结合的产物 ...
- 面向服务架构(SOA)和企业服务总线(ESB)
http://www.cnblogs.com/shanyou/archive/2008/04/19/1161452.html 学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点 ...
- ERP_基于Oracle SOA的企业服务总线整合
2015-01-01 Created By BaoXinjian
- CPU到底是什么东西?它为什么能够执行数学运算?
CPU到底是什么东西?它为什么能够执行数学运算? 本文地址http://yangjianyong.cn/?p=20转载无需经过作者本人授权 简单的物理电路 先来看一张初中学过的物理电路图: 从图中我们 ...
随机推荐
- Python之路(第四十四篇)线程同步锁、死锁、递归锁、信号量
在使用多线程的应用下,如何保证线程安全,以及线程之间的同步,或者访问共享变量等问题是十分棘手的问题,也是使用多线程下面临的问题,如果处理不好,会带来较严重的后果,使用python多线程中提供Lock ...
- /bin/false 和 /usr/sbin/nologin
比较常用的用法: #添加一个不能登录的用户 useradd -d /usr/local/apache -g apache -s /bin/false apache 要拒绝系统用户登录,可以将其shel ...
- Python内置函数复习
filter sorted heapq counter namedtuple reduce deque pickle islice re.split endswith stat os #filter ...
- 使用Matplotlab画图
1.绘制折线图 #! /usr/bin/env python#encoding=utf-8 # 用于python2import sys reload(sys) sys.setdefaultencodi ...
- linux下activemq安装与配置activemq-5.15.2
linux下activemq安装与配置 前提 配置好jdk环境 一.下载:apache-activemq-5.15.2-bin.tar.gz https://archive.apache.org/ ...
- 基于gin web框架搭建RESTful API服务
这篇主要学习go项目中的项目结构.项目规范等知识,ROM采用的database/sql的写法. 1.技术框架 利用的是ginweb框架,然后ROM层选用database/sql,安装mysql驱动.安 ...
- 轻量级C#编辑器RoslynPad((基于Roslyn编译器))
简介 RoslynPad是一个Apache 2.0协议开源的轻量级C#编辑器.支持自动完成,语法提示,修改建议等功能.很适合平时随手写个C#程序看看运行结果. 目前版本:0.10.1,无需保存也可以运 ...
- MATLAB 下GUI的学习
做界面,然后在对应程序里做调用. 0.打开文件:命令行输入 guide 或者 新建——图形用户界面1.文件-预设可以对字体.代码等进行设置.2.工具-GUI选项可以改变行为大小. 3,添加轴,面板,按 ...
- c#每天生成漂亮桌面背景、英文名言、翻译
阅读目录 一.1. 下载bing.com壁纸查询API 二.2. 解析返回的壁纸JSON信息 三.3. 下载完成的壁纸图片 阅读目录 .NET生成漂亮桌面背景 .NET生成漂亮桌面背景 总结 回到目录 ...
- mysql 的 3306、33060 端口区别
Port 3306 is the default port for the MySQL Protocol, which is used by the mysql client, MySQL Conne ...