BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Spring Batch:简化批处理和离线处理的开发

| 作者 Ryan Slobojan 关注 0 他的粉丝 ,译者 宋玮 关注 0 他的粉丝 发布于 2008年7月5日. 估计阅读时间: 5 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

Spring Batch项目是一个轻量级的全面的基于Spring的批处理框架,最近发布了1.0版。InfoQ采访了其项目领导人David Syer,以了解该版本的相关信息以及它为Spring社区提供了些什么。

Syer将Spring Batch描述为这样一个框架,它能够管理批处理和离线处理,从而使应用开发者将注意力集中在业务逻辑上。Syer指出了Spring Batch带给批处理界的两个新观点:编写可以单独测试的轻量级应用代码的能力;一个执行、管理和监控离线处理结果的强大的框架。

Syer认为这一版本的主要特征如下:

  • 基础设施——这一基础设施提供了对可重用性的支持,对重复和重试的低层支持,对事务同步的支持,以及对读写普通文件、XML和数据库的支持
  • 核心——这是一个瘦API,允许启动和管理批处理工作,提供需要操作的所有特性
  • 扩展——这是核心API的实现,为批处理提供了一个运行时/执行环境
  • 全套例子应用——Spring Batch 1.0提供了一个例程模块,其中包含了几个例子应用,展示了Spring Batch在操作上的全部主要特征

Syer还给出了1.0版中所有可用特性的详细描述。

一个能使Spring Batch与Spring Portfolio的其他项目区分开来的东西是,Spring Batch是 SpringSourceAccenture合作的结果。Syer告诉InfoQ这种合作对于代码库的贡献在数量和深度上都带来了巨大好处。这种合作“非常成功”,Accenture把它们最好的资源分配到了这个项目上。Syer也细心地指出Spring Batch与Spring Portfolio里的每个项目一样,都是以同样的方式运行并且支持同样的标准。

Spring Batch的开发过程相对较长,从Subversion库中可以看出早在2007年1月它就开始了。Syer解释了其中的原因:

快点发布一个最终版本当然是好事情了,但是实际上我们一直按照2008年3月来制定结束计划,以与Spring Portfolio的其它产品和SpringSource的产品发布时间相符。我们在设计公共API的时候非常仔细,这样在将来的开发计划中不需要对其做出变化。整体产品质量也是主要的考虑因素——我们是完美主义者。

这就是说,我们产品的功能成熟性和丰富性可以用几个项目来证明,它们已经在其产品中使用了我们的里程碑发布。

当被要求就这些产品做更详尽的描述时,Syer说道:

  • 作为整个应用更新项目的一部分,欧洲一个大的卫生保健机构已经将其大量主机批处理移植到了Spring Batch上。这是相当普遍的模式和需求,因为当今工作市场上可以很容易找到优秀的Spring开发者,而很难找到好的COBOL程序员。该客户使用Spring Batch XML流及映射功能,并且在可能重用在线处理已有的一部分工作的地方,把Hibernate用于业务对象持久化。
  • 一个大体育组织在比赛进行的时候使用户可以实时跟踪更新的成绩和实况的统计。他们开发了一个系统,考虑到快速开发,只需通过配置就可进行文件读取。模块化方法还使工作运行得更快,每5秒钟启动一次
  • 美国一个大的州政府有一个IT更新项目,使用Java更换其主机批处理工作。其目标是处理失业索赔。这里的挑战包括遗留主机和政府特定的数据格式,以及关于部分工作失败的严格规则。在这种情况下,批处理工作开发只是更大程序中的一部分。

Syer还罗列了实现应用可能要处理的三种工作:

  • 营业结束处理,比如报表、订单处理、和财务对帐单
  • 导入和导出处理,比如表单处理、清单导入、配置导出
  • 大规模输出工作,比如email操作和财务决算

当问到Spring Batch未来的计划时,Syer说道:

我们正在为单个进程(可能是多线程的)在1.0中的执行提供一个卓越的平台。将来完全有可能将众多的多进程模型移植到多种平台上,我们已经非常谨慎的预期在1.0代码库中将做出这些修改。构建在我们提供的平台上,它已经提供了大多我们所需的数钩子(hook)和数据结构,我们还打算仔细思考一下批处理应用关于可用性和可部署性方面的问题。监控和管理批处理应用在现实生活中是十分重要的,我们认为我们可以有多种方式给这一领域增加附加价值。连同其它Spring portfolio项目一起,我们认为OSGi是我们未来策略的关键部分(1.0将被打包成OSGi bundles,但是这只是开始)。

Syer还对那些为Spring Batch做出了贡献的人们表示感谢,无论他们是通过论坛、错误报告、讨论还是编码的形式,还说反馈的质量和数量都让他们感到“印象深刻”。

查看英文原文:Spring Batch: Simplified Development of Batch and Offline Processes

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

spring batch新手学习难度大 by 清 风

spring batch对于没有接触过批处理的开发人员来说,上手是难度的,所以,为什么不整一个spring batch管理平台呢。------------已有人搞了:3883270.blog.51cto.com/3873270/1268540

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT