写点什么

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

  • 2008-11-07
  • 本文字数:1586 字

    阅读完需:约 5 分钟

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

2008-11-07 11:471521
用户头像

发布了 151 篇内容, 共 69.1 次阅读, 收获喜欢 18 次。

关注

评论

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

谈谈敏捷开发概念和迭代开发方案

Learun

敏捷开发

架构师训练营 - 第 7 周课后作业(1 期)

Pudding

价值超10亿美元的直播系统架构图是什么样子的?

冰河

系统架构 高并发 高性能 亿级流量 直播架构

百亿级数据分表后怎么分页查询?

艾小仙

Java MySQL 数据库 编程语言 分库分表

移动安全加固助力 App 实现全面、有效的安全防护

蚂蚁集团移动开发平台 mPaaS

安全攻防 App风险 mPaaS

又一道比较运算符相关的面试题让我明白基础很重要

Gopher指北

Go 语言

阿里云官方推出操作系统“等保合规”镜像 -- Alibaba Cloud Linux 等保2.0三级版

阿里云基础软件团队

内核

重磅解读:K8s Cluster Autoscaler模块及对应华为云插件Deep Dive

华为云开发者联盟

容器 k8s 服务

每周一看:16份文档资料,程序员软硬实力全概览,总有一个适合你

小Q

Java 学习 程序员 架构 面试

Apache DolphinScheduler 是如何走进Apache的

代立冬

大数据 数据湖调度 DolphinScheduler Apache DolphinScheduler

【运维思考】如何做好云上运维服务?

嘉为蓝鲸

云计算 运维 数字化转型 数据中心 云服务

架构师训练营第 1 期第 7 周总结

owl

极客大学架构师训练营

浅谈API网关(API Gateway)如何承载API经济生态链

华为云开发者联盟

API 网关

LeetCode题解:77. 组合,递归回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

架构训练营 - 第7周课后作业 - 学习总结

Pudding

终于啃完了这份Java核心原理+框架“面试圣经”,成功五面上岸美团

Java架构追梦

Java 架构 面试 微服务 框架开发

DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座

华章IT

数据库 postgresql

解决大中型浏览器(Chrome)插件开发痛点:自定义热更新方案——2.基于双缓存更新功能模块

梁龙先森

Java chrome 大前端 浏览器 技术方案

揭秘在召唤师峡谷中移动路径选择逻辑?

华为云开发者联盟

算法 地图 最短路径

【涂鸦物联网足迹】涂鸦云平台接口说明

IoT云工坊

人工智能 物联网 API sdk 云平台

魏际刚:精准谋划我国供应链发展新方位

CECBC

供应链 物流

爆料!前华为微服务专家纯手打500页落地架构实战笔记,已开源

996小迁

架构 面试 分布式 微服务 程序人生

技术分享:WebAssembly能否重新定义前端开发模式?

葡萄城技术团队

webassembly

【云小课】版本管理发展史之Git+——代码托管

华为云开发者联盟

git 代码管理 托管

如何实现后台管理系统的权限路由和权限菜单

徐小夕

Java 大前端 编辑器 H5 数据可视化

帮助企业摆脱困境,名企归乡工程师:能成功全靠有它!

Philips

敏捷开发

《Python:Python编程简介:计算机编程和机器学习入门指南》

计算机与AI

Python

终于啃完了Java核心原理+框架“面试圣经”成功五面上岸美团

小Q

Java 学习 编程 架构 面试

医疗界“最强大脑”落户杭州!阿里巴巴联合浙大一院共同打造

互联网

架构师训练营第一期 - week8

习习

如何稳扎稳打推进数字货币进程

CECBC

数字货币

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