WSO2 ESB是一个轻量级的易于使用的企业服务资源总线,基于Apache Software License v2.0. WSO2 ESB 允许系统管理员和SOA架构师轻松的配置消息路由, 虚拟化, 中介, 转换, 日志记录, 任务调度, 负载均衡, 失败路由, 事件中介等等. 运行时被设计为完全异步, 非阻塞 、连续的。基于 Apache Synapse 中介引擎.
WSO2 ESB 4.0.3 在革命性的 WSO2 Carbon platform (Middleware a' la carte)上进行开发, 并基于 OSGi 以便能对面向服务的架构(SOA)提供更好的模块化和组件化 . 这个版本也包含了一些新的特性和可选的组件,可以使用他们来自定义服务。. 更近一步说,如果你不想使用任何内置的特性,你可以毫无顾虑的卸载他们. 换句话说, WSO2 ESB 可以被自定义和调整以适用与你自己的SOA需求
wso2体系结构

WSO2 ESB 支持许多应用层协议和消息协议 (统称为传输), 包括 HTTP/S, E-mail, Java 消息服务 (JMS) and 虚拟文件系统 (VFS). 他还支持域特定协议 如:金融信息交换 (FIX), 高级消息队列协议 (AMQP) and Health Layer 7 (HL7). 新的传输可以被很容易的插入到服务中,这点还得感谢Axis2 传输框架提供的无缝可扩展性.
ESB 使用消息构建器组件来解析不通渠道的传输是如何到达的。. 一个消息构建器通常和内容类型联系在一起. 依靠到达消息的实际内容类型,ESB将会选择一个合适的消息构建器,然后解析这个消息的内容,根据XML信息集把它转化成Apache AXIOM. WSO2 ESB ships with 消息构建器处理文本消息 (纯文本, SOAP, POX 等) 还有二进制消息. 消息转换器是和构建器拥是功能相反的伙伴. 一个消息转换器会把消息根据原来的内容类型转换成原来的格式,在这个消息进入下次传输路由之前。.和传输一样,用户可以实现新的消息构建器和转换器通过使用Axis2 API.
高级端点在传输中保持作为一个逻辑的单元,有三种类型的断点,即地址端点、WSDL端点和默认端点。除了这些之外还有第二种端点类型:负载均衡断点和失败端点,他们有一个或多个高级端点组成. 一种端点可以使用任何有效的传输去分派消息,他们甚至可以在传出消息上实施各种QoS 约束(安全, RM 等) .
代理服务是 WSO2 ESB代理的虚拟服务. 他是用 Axis2 消息接收器实现的 所以能轻松的接受到来的消息.一个代理服务可以用URL访问也可以用规范的Web服务地址. 代理服务也发布一个WSDL 所以客户端连接代理服务就像连接一个真是的Web服务. 任何可用的传输都可以用来接受和请求消息通过这个代理服务. 代理服务是一个NB的方式用来发布已经存在的服务通过不通的传输工具、模式和 QoS配置.
WSO2的强大就在于他全方位的中介库,提供了各种消息处理和中介的功能. 使用这些中介库我们可以实现所有广泛应用的消息转化模式 (MEP)和企业集成模式(EIP). 存在简单的中介提供基本的消息处理功能如:日志记录和内容传输.也存在高级的中介用来访问数据库、对信息流添加安全等. 在这种情况下,内置的中介仍不足以满足一个方案,那么你可以依赖WSO2提供的简单但强大的API写一个自定义的中介.中介可以用多种技术来实现,包括java、脚本和spring。所有的这些都被认为是WSO2的扩展。
序列是特殊的中介充当中介的配置组件。序列允许组织中介实现命令管道和过滤器模式来实现实际的消息处理和中介 .
任务为WSO2 ESB 提供了配置计划任务的能力,他们为中介执行内部和外部的命令. QoS 组件 实现可靠消息、安全代理服务和中介,他和Apache的两个模块的实现都是为了 Axis2, 这两个模块是 Rampart 和 Sandesha.
WSO2 ESB 拥有内置的注册/存储库来存储配置和配置元数据 并且也提供了设备用来远程存储. 组件像集群、负载均衡和高可用性是WSO2成为了一个生产准备服务器。. 最后 GUI 组件提供了综合管理、配置和监视能力. GUI 建立在一个通过分离前端和后端的分层的架构上,. 这样就使得用户可以连接多个服务端通过一个 GUI控制台.这个基于WSO2的架构的组件提高了和OSGI之间的松耦合. 所有的这些组件都建立为 OSGi 包.

wso2esb简介的更多相关文章

  1. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  2. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  3. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  4. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  5. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  6. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  7. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

  8. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  9. Cesium简介以及离线部署运行

    Cesium简介 cesium是国外一个基于JavaScript编写的使用WebGL的地图引擎,一款开源3DGIS的js库.cesium支持3D,2D,2.5D形式的地图展示,可以自行绘制图形,高亮区 ...

随机推荐

  1. 玩转Django的POST请求 CSRF

    玩转Django的POST请求 CSRF 不少麻油们玩django都会碰到这个问题,POST请求莫名其妙的返回 403 foribidden,希望这篇博文能解答所有问题 三种方法 To enable ...

  2. JS在IE和FireFox之间常用函数的区别小结

    1.event.srcElement 复制代码 代码如下: //srcElement只能在IE下使用target是FireFox使用的,下面是兼容性写法 var obj = e.srcElement ...

  3. android studio 使用gradle 导出jar包,并打包assets目录

    警告:本文年久失修. 随着android studio的升级 ,gradle的升级,严格按照本文的代码去做可能不会成功,希望依然可以作为解决问题的思路. 最近项目在做一个sdk,供别的开发者使用,所以 ...

  4. Cocos2d-x 3.2 学习笔记(五)Sprite Node

    游戏中最重要的元素Sprite精灵,关于精灵的创建,精灵的控制等等. 涉及到的类Class: AnimationFrame 动画帧. Animation 动画对象:一个用来在精灵对象上表现动画的动画对 ...

  5. js提取正则中的字符串

    代码如下: var results = data.match(/(start=').*?(')/); if (results != null) { console.log(data[0]); }

  6. Greenplum测试环境部署

    1.准备3台主机 本实例是部署实验环境,采用的是Citrix的虚拟化环境,分配了3台RHEL6.4的主机. |------|------| |Master|创建模板后,额外添加20G一块磁盘/dev/ ...

  7. 可视化工具gephi源码探秘(二)---导入netbeans

    在上篇<可视化工具gephi源码探秘(一)>中主要介绍了如何将gephi的源码导入myeclipse中遇到的一些问题,此篇接着上篇而来,主要讲解当下通过myeclipse导入gephi源码 ...

  8. web前端学习笔记(CSS盒子的定位)

    相对定位 使用相对定位的盒子的位置常以标准流的排版方式为基础,然后使盒子相对于它在原本的标准位置偏移指定的距离.相对定位的盒子仍在标准流中,它后面的盒子仍以标准流方式对待它.      使用relat ...

  9. equals和==的区别 你真的掌握了吗?

    PS:最近读Java编程思想的时候发现了一些小问题.就是equals方法和==,感觉自己是真正掌握了,其实并没有.简单的记录一下. 学习内容: 1.equals 和 == 的区别  equals和== ...

  10. [C++][操作符]四种显示转换操作符

    整理了C++ Primer中提到的四种显示转换,用思维导图写出来,是不是很清晰O(∩_∩)O.