QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:471116
用户头像

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

关注

评论

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

甩掉容量规划炸弹:用 AHPA 实现 Kubernetes 智能弹性伸缩

阿里巴巴云原生

阿里云 Kubernetes 云原生 AHPA

数字化转型有可能让所有人满意吗?

优秀

数字化转型

【愚公系列】2022年11月 微信小程序-app.json配置属性之Worker

愚公搬代码

11月月更

从HelloWorld看Java与Kotlin

子不语Any

kotlin Andriod 11月月更

Thymeleaf入门教程

Studying_swz

前端 thymeleaf 11月月更

构建高质量的持续交付体系

老张

软件工程 持续交付

MySQL事务的隔离级别以及脏读、幻读和不可重复读

闫同学

MySQL 事务 11月月更

Java Web(九)会话跟踪技术

浅辄

javaWeb session Cookie 11月月更

【Go电商实战04】为什么GoFrame不支持migrate功能?我还特意去问了框架作者

王中阳Go

golang 高效工作 学习方法 程序员 11月月更

九科信息受邀参加中国总会计师协会财务数智化转型研讨会

九科Ninetech

AI音乐创作,让每一个人都成为音乐家

HarmonyOS SDK

音频 HMS Core

秒云加入OpenCloudOS操作系统开源社区,携手打造更智能、更可控、更可信的云原生环境

MIAOYUN

开源社区 opencloudOS

EMI 滤波电路是由哪些元件组成的,一文看懂!

元器件秋姐

元器件采购 元器件电商 EMI滤波电路 滤波电路 元器件知识

精益创业者的用户体验设计

产品海豚湾

产品经理 产品设计 精益思想 用户体验 11月月更

从0开始,让你的Spring Boot项目跑在Linux服务器

闫同学

spring Linux 服务器 11月月更

泛型由入门到精通(2)

好程序员IT教育

Java 泛型

Kotlin变量声明和类型推断

子不语Any

kotlin Andriod 11月月更

泛型由入门到精通(3)

好程序员IT教育

Java 泛型

湖仓一体架构下的数据研发及管理

数造万象

浅谈MVC、MVP、MVVM框架模式

闫同学

mvc MVP MVVM 11月月更 框架模式

浅析云原生

鲸品堂

谈谈我对服务网格的理解

阿里巴巴云原生

阿里云 云原生 服务网格

基础逻辑门

芯动大师

Verilog 11月月更 Xilinx

分布式事务详解、理论分析、及强一致性(2PC、3PC)剖析

C++后台开发

数据库 分布式 后端开发 Linux服务器开发 C++开发

4K60帧!RayLink远程控制软件如何帮助设计师远程办公?

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

JVM Sandbox入门教程与原理浅谈

Zhendong

Java JVM

阿里云弹性计算总经理张献涛:智能化、高效能、新交互将重塑互联网

云布道师

弹性计算 云栖大会

数据预处理和特征工程-特征选择-Embedded嵌入法

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

工信部电子五所李冬:在龙蜥社区的一站式自动化测试平台的探索和实践|2022云栖龙蜥实录

OpenAnolis小助手

开源 操作系统 自动化测试 龙蜥社区 2022云栖大会

深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇 」

洛神灬殇

nginx 正向代理与反向代理 11月日更 nginx 开源版 开发指南

mysql的高可用方案以及优缺点

想要飞的猪

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