OSS紹介

Spring Batch

Spring Batch最新情報

NRIのOpenStandiaが提供するSpring Batch最新情報

Spring Batchの保守サポートサービスの内容はこちら Spring Batchの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

Spring Batch最新トピック

■2015-07-06
[新着] 株式会社野村総合研究所(NRI) OpenStandiaのオープンソースソフトウェア紹介(OSS紹介)でSpring Batchを追加

すべてを見る

Spring Batchバージョンアップ情報

■2016-05-09
[VerUP]Spring Batch 3.0.7(リリース日:2016/04/25)
■2015-12-21
[VerUP]Spring Batch 3.0.6(リリース日:2015/12/11)
■2015-08-18
[VerUP]Spring Batch 3.0.5(リリース日:2015/08/10)
■2015-07-06
[VerUP]Spring Batch 3.0.4(リリース日:2015/05/19)
■2015-07-06
[VerUP]Spring Batch 3.0.3(リリース日:2015/01/16)
■2015-07-06
[VerUP]Spring Batch 3.0.2(リリース日:2014/10/29)
■2015-07-06
[VerUP]Spring Batch 3.0.1(リリース日:2014/07/08)
■2015-07-06
[VerUP]Spring Batch 2.2.7(リリース日:2014/05/23)
■2015-07-06
[VerUP]Spring Batch 2.2.6(リリース日:2014/04/12)
■2015-07-05
[VerUP]Spring Batch 2.2.5(リリース日:2014/02/22)

すべてを見る

更新日:2015-06-22

Spring Batchの概要

Spring Batch(スプリングバッチ)は、企業システムの日常業務に不可欠なバッチ・アプリケーションの開発を可能にするために設計された軽量で包括的なバッチフレームワークです。
大量のレコードを高性能に処理するための並列化機能や、データの一貫性を保証するトランザクション管理機能などのバッチ処理に必要な一通りの機能が実装されています。
Spring Batchは、Quartz、IBM Tivoli、NRI 千手、Hitachi JP1など、エンタープライズで利用できる商用およびオープンソースのスケジューラの代替ではなく、それらと連携して動作するように意図されています。これらのスケジューラとともに、COBOL、シェルで実装したシステムでは実現が難しかった、
オンライン・アプリケーションとの統合やマルチプラットフォームへの対応などを、Javaにより実現することができます。また、AOPやDIを中心としたPOJOベースの手法とSTS (Spring Tool Suite)などのツールにより、高生産で均質なバッチ・アプリケーションの開発を実現します。

STS(Spring Tool Suite)

図: STS (Spring Tool Suite)

Spring Batchは、米SpringSource社と米Accenture社が共同で開発していたSpring Frameworkベースのバッチフレームワークを、2008年にオープンソースプロジェクトに提供したものが基になっています。
豊富な実績のあるSpringのプログラミングモデルと、Accenture社のバッチアーキテクチャの実装に関する技術的な経験により、Spring Batchは開発されており、Javaのバッチ標準化仕様にも取り込まれています。

TOPに戻る

Spring Batchのライセンス

Spring Batchのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

TOPに戻る

Spring Batchと同類のソフトウェア

Spring Batchは、バッチフレームワークのデファクトスタンダードで、その構成はJavaにおけるバッチの標準化仕様(JSR-352)にもほぼそのまま取り込まれています。JSR-352は、Java EE 7 (Java Platform, Enterprise Edition 7) の仕様の一つとしてリリースされているため、Java EEの参照実装であるアプリケーションサーバーのGlassFishやWildFlyなどでも実装が進んでいます。
ただし、これらのアプリケーションサーバーは現時点(2015年5月)で完全にJSR-352を実装できておらず、バッチの開発においてSpring Batchほどの導入実績がある製品はありません。
Spring Batch自体もJSR-352に準拠するようにその後実装が見直され、完全な参照実装として2014年5月にバージョン3.0.0がリリースされています。

TOPに戻る

Spring Batchの機能および特徴

Spring Batchは、大量のレコードを処理する際に必須となる様々な機能(ロギング/トレーシング、トランザクション管理、ジョブ処理統計、ジョブの再起動、スキップ、リソース管理など)を再利用可能な形で提供します。
また、最適化とパーティショニング技術により、非常に大容量で高性能なバッチ・ジョブを可能にする高度な技術サービスや機能も提供します。簡単なだけでなく複雑なことも可能で、高度でスケーラブルな方法で大容量のバッチ・ジョブを処理することができます。

Spring Batch

主な機能と特徴は以下の通りです。

トランザクション管理
トランザクションの分離レベルや振る舞いなどを、設定ファイルに記述することできめ細かく制御できます。
チャンクベースプロセッシング Spring Batchでは、入力ファイルからの読込み、入力チェック、加工、出力までの一連の処理を「チャンク」として定義します。このチャンク内の各処理用のモジュールに必要な実装をするだけで、簡単にバッチが作成できます。
宣言型のI/O 数十個のItemReaderとItemWriter(入出力を実現するモジュール) により、ファイル、JDBC、NoSQL、JMSなど様々な対象への入出力が実現できます。これらの全てが宣言型のI/Oを提供しているため、独自のItemReaderやItemWriterを実装、テストする必要がありません。
起動/停止/再起動
リトライ/スキップ
ジョブの起動/停止/再起動と、実行状態を管理する機能、各レコードをリトライしたり、スキップする機能があります。
Webベースの管理インタフェース (Spring Batch Admin) Spring Batch Adminは、Spring Batchアプリケーションおよびシステム用の管理コンソール機能として、Webベースのユーザインターフェイスを提供しています。
POJOベースの開発手法 AOP、DIを中心としたPOJOベースの開発手法により、モジュール間の結合度を弱め、明確な役割分担と統一された実装、効率的なテストを行うことができます。
STSによる高い生産性 EclipseをSpring開発用にカスタマイズしたSTS(Spring Tool Suite)を活用することで、生産の高い開発を実現します。
世界中で利用されている 世界中で広く利用されているバッチフレームワークのデファクトスタンダードであり、同様の製品で同等以上の機能を持っている製品は現時点ではありません。日本でも数多くの導入事例があります
高機能・高性能
SpringBatchには、業務に必要なバッチを開発する上で必要なほとんどの機能が提供されています。
また、マルチスレッド・マルチプロセスでの処理の並列化や、性能遅延を回避するための外部コマンド呼び出しなども可能です。
技術者を集めやすい
SpringBatchでは、DIやPOJOの考え方によりモジュール分割がされているため、開発者はフレームワークの知識をあまり要求されることなく、業務ロジックの開発に集中することができます。
さらにSpringFrameworkの開発経験者であれば、STS(Eclipse)で開発し、Mavenでテストやビルドするプロセスに慣れているため、効率的な開発ができます。
SpringFrameworkは世界中で利用されているデファクトスタンダードであるため、大人数で開発するプロジェクトやオフショア開発の際などにも技術者を集めやすいといえます。

TOPに戻る

NRIのSpring Batchサポート(保守/サポートサービス)

NRIでは、これまでにオープンソースシステムの構築・運用・サポートを国内1000以上の企業数(プロジェクト数)に導入してまいりました。
 NRIでは、ハードウェアベンダーやOSを問わず、Linuxはもちろん、WindowsやSolaris上のSpring Batchもサポートすることができます。 また、すでにSpring Batchをご利用のお客様がそのままのバージョンで安心して長期間ご利用いただけるよう、過去バージョンのSpring Batch(1.1. x、2.2.x など)もサポートします。
詳細は「導入事例」「OSS基盤構築はおまかせ」をご覧ください。 Spring Batchの保守サポートについてご不明な点がございましたら、お気軽にお問い合わせください。


Spring Batchサポート対応バージョン

  • Spring Batch 3.0.x
  • Spring Batch 2.2.x
  • Spring Batch 2.1.x
  • Spring Batch 2.0.x
  • Spring Batch 1.1.x
  • Spring Batch 1.0.x
※Spring Batchサポート対象の詳細バージョンはお気軽にお問い合わせください。

Spring BatchとJSRバージョン対応表

Spring Batchバージョン
JSR-352
3.0

2.2
△(※)

1.1
△(※)
※準拠はしていませんが、Spring BatchのアーキテクチャがJSR-352のベースになっています。

関連OSS

Spring Batchのダウンロード

Spring Batch ダウンロードページ

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気OpenAM
  • 注目MongoDB
  • OpenIDM
  • Corosync
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • BIND
  • Apache Struts
  • PostgreSQL
  • Pentaho
  • Spring Framework
  • Apache Tomcat
  • Solr
  • Dovecot
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Liferay
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • BIND
  • OpenDJ
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • sendmail
  • Courier-IMAP
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO
?
<--!-->