MuleSoft发布基于Tomcat的Tcat Server及iBeans集成框架

Tcat Server今天发布了,这是由MuleSoft(前身是MuleSource)所创建的一个基于Apache Tomcat的应用服务器。InfoQ有幸采访到了MuleSoft的Mahau Ma、Greg Schott和Ross Mason,以了解Tcat Server及另一个叫做iBeans的新集成框架的更多消息。

当我们问及为何围绕Tomcat创建Tcat Server时,得到的答案是:Tomcat的轻量、简单以及其部署广泛都是选择它作为Tcat Server基础的主要原因。Tcat Server初始版本包含以下主要特性:

  • 服务器群组管理 - 可以自动发现Tomcat服务器,创建并管理成组的服务器
  • 应用供应(Application Provisioning) - 支持部署含有当前状态、日志及版本管理的应用包
  • 回滚能力 - 如果部署一个新包失败了,可以轻易回滚到前一个版本
  • 云部署 - 可以通过插件将新的Tcat Server实例创建到Amazon EC2上,用同一个控制台既可以管理本地实例也可以管理远程实例
  • 支持Maven - 可以从Maven库中直接获取WAR文件并将其部署到Tcat Server实例
  • 监测和诊断 - 增加了超出标准Tomcat范围之外的性能监测、系统信息、系统行为、诊断和日志
  • 支持Tomcat 5.5 和 6.0 - 可以从Tcat Server管理控制台发现和管理Tomcat 5.5 和 6.0 的已有实例

在问到Tcat Server与其他基于Tomcat的产品——如SpringSource的tc Server相比有什么区别时,他们回答道:

许多人都问过我们Tcat Server和SpringSource的tc Server有什么区别,我们觉得Tcat Server之所以存在,有以下几个原因:
  • 和tc server不一样,Tcat Server百分之百构建于Apache Tomcat之上(我们在Tomcat二进制分发制品上增加了自己的代码,而不是改进并重新编译Tomcat)。管理者可以确定其已有Tomcat应用能够完全兼容于Tcat Server
  • Tcat Server包含了一些高级Tomcat诊断能力,允许开发者和管理员深入钻取到性能数据和日志(如,应用日志、catalina日志)以诊断和解决问题。相比之下,tc server则是利用了其收购的Hyperic,由一个“通用目的”的监测解决方案改造而来。因此,我们认为tc server在监测方面的广度和深度都不够,界面用起来更笨拙一些
  • Tcat server拥有tc server所不具备的高级应用供应能力,包括把多个WAR文件组织在一起作为一个部署单元的能力(package)。管理员可以把一个应用包部署到一个服务器或一组服务器上,显著减少了手动部署多文件到多服务器实例上所花费的时间
  • 简单 - 我们从构建Tcat Server一开始就时刻注意使用的简便性。正如我所提到的,由于我们的产品并不是用一个通用工具改造而来,因此我们能够恪守原则:只包含能够增加价值的特性和功能,而不要过分复杂。我们排除了那些只会造成系统臃肿的特性。

包含于Tcat Server的另一主要特性是iBeans,一个新的集成框架,类似于Spring templates的概念。iBeans与Tcat Server一起发行,不过它也可以部署在Apache Tomcat和Mule ESB上。iBeans的设计目的是提供一个简单的、一致的、可重用的方式运用各种协议进行通讯。许多框架都把注意力集中到了底层API上,如HTTP、email和SOAP等,而iBeans则集中在对于高层服务如Twitter、Gmail、Flickr及Amazon EC2的一致性访问。通过使用Java接口和注解来与服务交互、通过包含所有配置选项作为iBean自身的一部分,就省去了外部配置和XML编写的工作,部署也得以简化而且更加快捷。

当问到iBeans目前支持哪些协议且计划支持哪些协议时,我们得知:

iBeans是共享和重用的典范,因为任何一个Java开发者在几小时之内就能创建出iBean。为了使这一过程更加便利,我们创建了iBeans Central,这是一个免费的可重用iBeans库,这些是由Mule社区构建/捐献并托管与云中的。有些iBeans的例子已经可以用了,包括针对Twitter、Amazon EC2、Flickr和Gmail的iBeans。这些iBeans可以从iBeans控制台中免费下载,并用于任何应用程序。

还有若干其他iBeans正在开发过程中(如,Facebook、eBay、Best Buy、Amazon等等),但是那些不太明确(但却非常有用)的服务的真正强大的iBeans则蕴藏于社区之中。

当然,如果内部服务用到了当前iBeans所支持的协议(包括Web Services、RSS feeds、REST services、AJAX events以及JMS),开发者也可以创建并重用用于内部服务的iBeans。

在不久的将来,iBeans的焦点将集中于两点:给iBeans Central添加更多的iBeans;给iBeans运行时添加对JAX-WS和JAX-RS的支持。基于社区反馈进行改进也将被纳入iBeans平台之中。从长远看,iBeans将变成微软Windows Communication Foundation(WCF)的Java版本,只是稍简单些,它将是针对JVM的一个通讯平台。为了达成这一目标,我们将会对运行在JVM上的各个语言提供支持,例如Scala、Clojure、JRuby、Jython及Groovy——当前iBeans版本已经提供了对JavaScript的支持。这样,最终我们就可以得到一个跨所有JVM语言访问公共和企业服务的一致的API,当前JVM上并不存在这种东西。

查看英文原文:MuleSoft Releases Tomcat-based Tcat Server and iBeans Integration Framework

你可能感兴趣的:(MuleSoft发布基于Tomcat的Tcat Server及iBeans集成框架)