InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Spring Integration RC1孵化:与Iwein Fuld谈主要优势、部署及未来发展方向

作者 Dionysios G. Synodinos 译者 王丽娟 发布于 2008年11月7日

领域
架构 & 设计,
企业架构,
语言 & 开发
主题
企业架构 ,
Java ,
架构 ,
设计 ,
SOA
标签
JMS ,
Spring框架 ,
eip ,
SpringSource

Spring Integration提供了Spring编程模型的一个扩展,以支持众所周知的企业集成模式。RC1在本周宣布可用之后,InfoQ采访了SpringSource的Iwein Fuld以了解主要优势、部署场景和Spring Integration的未来方向。

Spring Integration能在基于Spring的应用中进行简单的消息通信,并通过简单的适配器与外部系统集成。这些适配器提供了一个更高级别的抽象,超越了Spring对远程调用、消息和调度的支持。其主要目标是在保持关注点分离的同时,为构建企业集成解决方案提供一个简单的模型,该模型对产出可维护、可测试的代码来说是必不可少的。

InfoQ与Iwein Fuld讨论了Spring家族的这一新成员。

InfoQ:Iwein,你认为使用Spring Integration的主要优势是什么?

传统的消息都以ESB的形式,或至少以JMS代理的形式引入企业。这需要创建一个新的环境,或者在现有应用中进行较大的改变。Spring Integration与此不同,因为它从现有应用的视角进行集成。它允许开发人员为应用进行声明式的异步集成,而不用改变服务实现。

在我们的实现中,我们非常注意保持事情的简单性。保持开发人员利用框架完成必须做的工作尽量简单很重要,不仅如此,保持开发人员调试时必须理解的代码尽量简单也同样重要。

跟Spring的其它部分一样,我们在应用代码之外维护底层代码。所以只要你坚持并发编程的最简单规则——无状态服务和不变对象,将你的服务绑定到任何生产者或消费者上都会轻而易举。如果你想从JMS转换为RMI(这只是举一个例子),你并不用修改你的代码。

InfoQ:常见的部署场景有哪些?

最常见的,人们将结合JMS使用Spring Integration。JMS配置的简化,仅仅这一点就是开始使用它的强有力的理由。当然还有其它应用,因为我们并不依赖JMS作为传输机制。

例如你可以使用Spring Integration在Web客户端实现一个等待页面。如今许多应用程序都在服务器端阻塞线程,以等待一个外部的Web服务调用。使用Spring Integration就能很容易地予以避免,而不需要JMS条件或自己编写并发代码。如果你有支持“推”(push)的富客户端,你甚至不用编写自己的缓存,客户端就能“拉”(poll)出缓存。

我们在论坛上看到很多人有简单的EDA,它基于目录中提供的文件,或者是发送到特定地址的电子邮件。我们已经让编写自己的适配器变得很容易,人们对XMMP、OSGi、Twitter的尝试一直都是成功的。由于将这些东西绑定在一起是那么容易,以至于我都期望Spring Integration能对使网络成为更有趣的地方而大有裨益。

InfoQ:你如何看待Spring Integration未来的发展?

首先,我们正在增加适配器的种类。Spring Extensions项目主办了专门的Spring Integration Adapters项目,该项目将存放不同的适配器,你能从中进行挑选。这给社区提供了一种很好的方式来贡献他们认为最有用的适配器。

我们一直在尝试的第二件事情是用Spring Integration构建可伸缩的应用。因为它能用非常简洁的方式进行并发处理,这可能是在多核环境下构建网格方案很好的备选方法。我们期望至少以后能实现一些示例。

一直以来,我们多次被问到Spring Integration是不是一个ESB,简短的回答是“不是”。但是从我们提供的组件构建ESB会非常容易。我们通常认为没有ESB会更好一些,但看起来似乎ESB构建者会使用Spring Integration。

出于个人兴趣,对Spring Integration用于与Amazon EC2协同工作的自动伸缩环境,我已经有了一些构想。这些东西看起来非常有希望,但对企业来说,为当前存在的问题找到解决方案要比追随最新的流行语更为重要。我认为我们比OSGi早实现FTP集成是一种有力的标志。我们关心的是企业如今不得不处理的底层问题。

你可以在InfoQ上获取更多关于Spring家族SOA架构企业集成模式的内容。

查看英文原文:Spring Integration RC1 hatched: Q&A with Iwein Fuld on key benefits, deployment & future directions

译者 王丽娟 王丽娟,04年大学毕业后持续从事Java EE中间件产品的开发,现在主要关注Java技术及中间件产品在云计算环境中的发展趋势和应用。

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。