【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

Apache Synapse 1.0 和 WSO2 ESB 1.0 发布

  • 2007-06-13
  • 本文字数:2025 字

    阅读完需:约 7 分钟

Apache 软件基金会发布了 Apache Synapse 1.0 ;同时, WSO2 ——Axis2 背后的公司——也发布了基于 Synapse 的商业产品,名为 WSO2 ESB 1.0

发布声明中说,

Apache Synapse 是一个简单而高效的 Web Service 中介和 SOA 框架。它可以很容易地作为服务网关或者 HTTP 代理加入到你现有的网络中。一旦你的服务请求开始交由 Apache Synapse 中转,Apache Synapse 就可以执行许多功能,包括路由、负载平衡、变换(transformation)和协议交换(protocol switching)。Apache Synapse 可以用来构建 Enterprise Service Bus(ESB)或者 Service Oriented Architecture(SOA)。

Synapse 的主要功能包括:

  • 支持 XML/HTTP、JMS、SOAP 1.1/1.2、WS-Addressing 和 MTOM 二进制附件
  • XML/HTTP (POX) 和 SOAP、JMS 和 HTTP 之间的简单协议交换
  • 内建支持基于 XPath 和 Regex 的路由,以及基于 XSLT 的变换
  • 支持高性能非阻塞的 HTTP 和 HTTPS(基于 Apache HttpCore)
  • 支持负载平衡、故障转移和流量调节
  • 支持先进的 Web Services 标准
  • WS-ReliableMessaging
  • WS-Security
  • WS-Policy
  • JMS 支持包括文本、二进制数据、XML 和 SOAP/JMS
  • 日志和协议头修改
  • 可通过脚本语言包括 JavaScript、Groovy 和 Ruby 进行扩展
  • 定制的 Java 类和 Spring Framework 构件使 Synapse 得以扩展
  • 可扩展性模型令核心 XML 配置语言可通过 JAR 插件包扩充
  • 支持超时、失败处理和恢复
  • 大量的示例,涵盖了基于内容的路由、XSLT、WS-Security 等等方面。
  • 内建以 Apache Axis2 为基础的测试 / 范例服务器,方便进行原型设计和测试
  • 从远程登录库(registry)加载脚本、元数据、配置和资源的能力
  • 可选的对路由表及其他配置信息的动态更新
  • 支持 JDK 1.4 和 1.5

跟 Axis2 不同,Synapse 不是一个编程环境。相反,它是通过 XML 配置文件(就 Synapse 而言)或者图形用户界面(就 WSO2 ESB 而言)来进行配置和管理的。在 1 月份,InfoQ 曾报道过 Synapse孵化成功的情况;从那以来,Synapse 已经升级到使用Apache Axis2 1.2,并增加了对非阻塞HTTP 和HTTPS 传输的支持。除了在范例和文档上的改进,对WSDL 端点以及高可用性的支持也都得到了增强。

InfoQ 趁 1.0 版发布的机会对 WSO2 的 CTO Paul Fremantle 进行了进一步的访问。显然,WSO2 ESB 附带商业支持和由 WSO2 提供的训练课程;另外,WSO2 ESB 还附带了一个管理用的 Web 界面和一个注册库(registry)。Paul 在一篇博客文章中说:

我们内建了一个注册库(registry)和仓库(repository),你可以通过 Web 界面来管理它们。这意味着你可以在同一个地方存储、管理和使用所有的资源——WSDL、URL、XSLT、脚本、WS-Policy、Synapse.xml 等等。我认为,这是用 Synapse(或者其他产品)来真正构建 ESB 的一个关键方面。我们在这个方面还要继续增强,敬请关注。

当被问到这次发布的工具中对注册库的支持时,Paul Fremantle 解释说,

通过 HTTP GET 接口或者文件系统,Synapse 可以使用提供 XML 或其他配置信息的注册库。作为 ESB 一部分的“注册库”本质上是一种以文件系统的方式来管理所需资源(WSDL、WS-Policy、XSLT、Synapse XML 配置文件等)的手段。

我们还向 Paul 询问了如何决定是使用 Synapse/ESB 还是 Axis2/WSAS(WSAS 是 WSO2 在 Axis2 基础上提供的商业版本):

首先 ESB 和 Synapse 都应该能够与其他运用 SOAP 或 XML 的系统(包括经由 JMS)互操作。ESB 实际上是一个管理、路由和监控系统。它不是被设计来作为实际服务的宿主,而仅仅是虚拟服务,这些虚拟服务是由在其他地方运行的实际服务实现的。因此你会使用 Axis2/WSAS 来构建实际的服务,而使用 ESB 或 Synapse 来给一组运行在其他地方的服务(可能使用 WSAS、Axis2、Axis1、.NET、Perl、PHP、JMS)创造一个总线(一组虚拟的、受控的、一致的服务)。

Paul 声称WSO2 的 ESB(包括 Synapse)的性能,要远远超越另一个他没提到名字的处于领先地位的商业 ESB 产品:

ESB 被设计成快得冒烟。我们不能说出名字(因为专有厂商通常都写进许可协议里面的那些屁话),但我们对 WSO2 ESB 和一个处于领先地位的专有 / 闭源 ESB 进行了对比测试。结果显示我们在简单路由上快 20%、基于内容的路由上快 30%、XSLT 则快 100%。我们很快会发布这些性能数据。我们有一个完整的非阻塞异步模型——甚至包括 HTTP 和 HTTPS,这意味着我们可以将规模扩展到处理数千个并发连接而没有一点性能下降。

WSO2 已经公开发布了测试结果和基准测试的配置环境。

Apache Synapse 的源码和编译版本都可以从 http://ws.apache.org/synapse 下载。

查看英文原文: Apache Synapse 1.0 and WSO2 ESB 1.0 Released - - - - - -

译者简介:郭晓刚是一名独立开发者。在经过了 10 年修练之后,总算是懂得一点编程了。目前主要关注以 SpringFramework 和 Hibernate 为主干的 Java Stack 和 Adobe Flex。Microsoft Office 的插件开发也是关心的方向之一。同时也在尽力做一些技术翻译工作,把知识分享给更多的人。参与 InfoQ 中文站内容建设,请邮件至 china-editorial@infoq.com

2007-06-13 22:121120
用户头像

发布了 225 篇内容, 共 60.9 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

如何在复杂业务场景中优雅实现Android指纹验证?,rust移动端跨平台开发

android 程序员 移动开发

如何看待:程序员(研究生学历,kotlin协程切换线程

android 程序员 移动开发

如何通俗理解设计模式及其思想_,Android自学资料

android 程序员 移动开发

如果你打算跳槽BAT这样的大厂,不妨看看这篇文章,android蓝牙串口收发

android 程序员 移动开发

字节跳动最新开源!超实用的UI轮子库,我只是个轮子搬运工

android 程序员 移动开发

如何缩减接近 50% 的 Flutter 包体积,android开发计算器课程设计

android 程序员 移动开发

如何高效、快速学习Flutter?如何避坑,膜拜大牛

android 程序员 移动开发

字节码插桩--你也可以轻松掌握,2021年Android工作或许更难找

android 程序员 移动开发

字节跳动技术整理:Android-Camera内存问题剖析,为什么Flutter能最好地改变移动开发

android 程序员 移动开发

如何实现一个 System Services?,超详细

android 程序员 移动开发

如果你使用Jetpack中还没踩过这些坑,请务必收下这篇文章

android 程序员 移动开发

字节一面:https-真的安全吗?可以抓包吗,分享一点面试小经验

android 程序员 移动开发

字节码插桩--你也可以轻松掌握(1),收割快手,字节,百度,美团的Offer之旅

程序员 移动开发

如何用10行代码让app全局置灰,扫地阿姨看完都学会了

android 程序员 移动开发

字节三面:ButterKnife为什么执行效率为什么比其他注入框架高?它的原理是什么(1)

android 程序员 移动开发

妈蛋!HR你搞我,我的缺点就是身体不好不能加班,安卓面试题及答案2020百度

android 程序员 移动开发

字节跳动正式启动2021届秋季校招!这份字节跳动历年校招Android面试真题解析,你确定不收藏

android 程序员 移动开发

如何有效地刷算法题?,武汉软通动力android面试

android 程序员 移动开发

如何评价-Google-的-Fuchsia、Android、iOS-跨平台应用框架-Flutter

android 程序员 移动开发

如何高效、快速学习Flutter?如何避坑(1),安卓消息分发机制

android 程序员 移动开发

如果你在中小厂,这些你一定要搞懂,分享一些行业经验

android 程序员 移动开发

如果你使用Jetpack中还没踩过这些坑,请务必收下这篇文章(1)

android 程序员 移动开发

字节跳动+京东+360,字节跳动+京东+美团+腾讯面试总结

android 程序员 移动开发

如果你不是天才,那么你一定要看看这篇—,android开发书籍推荐

android 程序员 移动开发

字节跳动1面Too simple2面怀疑人生,宅家修炼“65天,flutter开源项目集合

android 程序员 移动开发

字节跳动厂内部超高质量Flutter+Kotlin笔记!技术与实战篇

android 程序员 移动开发

字节跳动+京东+360(1),Android工程师必备知识

android 程序员 移动开发

如何让你的app在后台被干掉后优雅的启动,flutter调用原生sdk

android 程序员 移动开发

如何让你的回调更具Kotlin风味,基于h5框架的移动app开发

android 程序员 移动开发

字节Android岗面试:Handler中有Loop死循环,为什么没有阻塞主线程

android 程序员 移动开发

字节三面:ButterKnife为什么执行效率为什么比其他注入框架高?它的原理是什么

android 程序员 移动开发

Apache Synapse 1.0和WSO2 ESB 1.0发布_SOA_Stefan Tilkov_InfoQ精选文章