世界顶尖运动队教练的成功秘诀
本文列出了来自于顶级教练Marc Lammers的9条原则,他是在打造世界最佳曲棍球队的过程中发现这些原则的,文章把这些原则映射到了软件开发实践之中。
作者 Ian Roughley译者 张龙 发布于 2008年4月28日 上午1时19分
Mule是一个轻量级且高度可扩展的ESB,最近它发布了2.0版。2.0版的新特性包括:
InfoQ采访了MuleSource的CTO及共同创始人Ross Mason以了解该新版本。
有了架构上的改进、新的XML配置及包的重新组织,Mule 2与Mule相比有哪些不同?
主要的改变就是新的XML配置。所有的配置元素都是类型良好的(well-typed)且可描述的。在配置文件中不再有类名了(除了你自定义的扩展)。每个命名空间都向你的应用中引入一个模块或者transport。命名空间使得用户可以为每个transport配置transport特定的端点,这很轻松地就让我们知道必须的配置以及可选的配置。通过使用基于schema的配置,大多数Xml编辑器都会提供代码补全及内联文档的功能。
我们可以看到有很多架构上的改变:
- 没有MuleManager了。相反,我们将这个大对象分解为可管理的几部分,这样扩展就更容易了,同时对核心服务器端行为的回调也更容易。
- 从用户的角度来看,他们所处理的对象的定义更加准确了。我们已经仔细研究过Mule中的所有对象,并确定他们的定义和作用是定义良好的。
- MuleContext提供了对Mule资源的运行时访问(每次一个实例)。
- Registry可以管理运行时对象。你可以拥有多个Registry,这使你能覆盖现存的Mule实例的配置。
- 我们已经将组件(定义业务逻辑的POJO)服务(定义如何以服务的方式管理组件的配置)的概念进行了分解。这对于帮助用户理解组件和服务的关系是很重要的。
- 核心的架构尚未改变,这意味着Mule的老用户不必抱怨,他们仍旧可以沿用以往的工作方式。
对于现有的Mule用户来说有没有推荐的升级方式呢?
现在还只能以手工方式升级到Mule2.0。配置的结构与Mule1.0非常类似,但是对于Mule2.0来说,配置量大大降低了。对于Mule的企业用户来说,当我们发布了Mule2.0企业版时,我们会发布一个升级工具。
这么多的特性,你认为用户对哪些最感兴趣呢?你认为什么特性是最值得你自豪的?
自从对mule做了这么多大的改进后,我最自豪的地方就是其核心架构。我们需要为Mule上的新项目创建一个良好的平台。不幸的是,大多数用户永远也不会直接看到这些变化 :)
- 我们新增了一个表达式计算框架,这意味着用户可以定义像xpath、xquery、groovy和jxpath这样的表达式并使用Mule特定的处理器,如header、attachment及function表达式在运行时获得消息中的信息。我们可以使用这些表达式快速转换当前的消息、构造新的消息以及进行基于内容的路由。这是相当强大的功能,因为这使得运行时的配置更加动态。为mvel、ognl或者jruby等增加新的表达式计算插件也是非常容易的。
- 我们对消息处理进行了修补,现在已经支持自动转换了,这意味着必要时会探测已有的转换器并应用他们。这样用户就可以使用MuleMessage.getPayload(org.w3c.dom.Document.class)或者MuleMessage.getPayload(org.xml.sax.InputSource.class)来请求不同的消息类型。同时用户依旧能像以前那样显式定义转化器。
- 消息处理更加高效。默认情况下使用流方式处理,因此没必要再去显式定义流的端点。
- 我们对特定transport端点配置做了巨大的改进,这将根除端点配置错误的情况发生。
- 就在Mule 2.0发布的同时,我们还发布了Mule IDE的里程碑。它基于Eclipse并且包含了对新的可视化拖拽编辑的预览。
你还想增加什么呢?
架构上的改变使得Mule能从OSGi容器上加载。Mule 2.0还不支持OSGi,但是在本月初旧金山举办的MuleCon大会上,我们在Mule上演示了一个服务热部署的demo,大家都对这个demo表现出极高的热情。
Mule 2.0已经发布了,请查看概览并下载最新版以了解这些新特性是如何工作的。
查看英文原文:Mule 2.0 Released
本文由Per Jacobsson所作,目标读者为有意了解Lisp的Java开发人员。文章探讨了当前可以运行于JVM上的不同Lisp方言,以明快简洁的方式介绍了Lisp程序设计工作机理和其独特之处,并在最后演示了Lisp代码同Java系统的整合过程。
本文以一个实际应用的例子为引子,探讨Ruby/Rails在非传统web系统中应用,以及研究如何定制以Rails为基础的领域特定的MVC框架。
本视频对云计算进行了简要的介绍,主要包括了五部分内容:首先带大家认识“云”,然后对计算机的发展过程进行了阐述,接着介绍了业界现状和企业级/世界级计算的新布局,最后对云计算做了一下展望。
在这篇文章中,Bryon Jacob和Chris Berry介绍了AtomServer,一个基于Apache Abdera的完整Atom存储实现。在去年,作者一直致力于为其雇主——Homeaway——实现一个Atom存储,现在已开源了其Atom存储框架:AtomServer。
开发团队的成长离不开优秀的人才,简捷有效的流程和高效率工具这三个卓越工程系统中的重要因素。本文作者从这三个因素分析了微软中国开发团队是如何“从优秀到卓越”的。
本文是Productive Java with Ruby系列文章的第一篇,我将从单元测试这个话题开始,让Java的开发人员能够在实际工作中利用Ruby提高工作效率。
InfoQ中文站有幸与阿里软件的首席架构师赵进在一起探讨了SaaS的相关话题,包括SOA和ASP与SaaS的异同、云计算、SaaS的前景、它的关键技术、技术瓶颈等等。
没有回复
回复