20170525 jsug バッチは地味だが役に立つ
-
Upload
yuichi-hasegawa -
Category
Education
-
view
1.269 -
download
0
Transcript of 20170525 jsug バッチは地味だが役に立つ
© 2017 NTT DATA Corporation 2
所属: 株式会社NTTデータ ソフトウェア工学推進センタ
名前: 林優一郎
経歴: 入社4年目 1~3年目の間、公共/金融の開発案件に従事 現在はTERASOLUNA Batch FWの整備を担当 Spring Batch歴:約半年
自己紹介
© 2017 NTT DATA Corporation 3
一般的(?)なBatchのイメージ
地味華やかさがない
Webのおまけ
デザインとか無いし、動くものがで
きればそれでいいシステムに必要なのはわかるけど・・・
© 2017 NTT DATA Corporation 4
バッチ処理 【 batch processing 】 一括処理 / バッチ実行 / 一括実行- IT用語辞典 e-Words(http://e-words.jp/w/バッチ処理.html)
バッチ処理とは、一定期間(もしくは一定量)データを集め、まとめて一括処理を行う処理方式。または、複数の手順からなる処理において、あらかじめ一連の手順を登録しておき、自動的に連続処理を行う処理方式。企業における売上データや受注データの集計処理など、一定期間ごとに大量のデータを集めて処理する場合に有効な処理方式である。
キーワードまとめて一括処理大量のデータを集めて処理する場合に有効
バッチ処理とは?
© 2017 NTT DATA Corporation 5
(オンライン)リアルタイム処理 【 real-time processing 】- IT用語辞典 e-Words
(http://e-words.jp/w/リアルタイム処理.html)
リアルタイム処理とは、データの処理要求が発生したときに、即座に処理を実行して結果を返す方式。「リアルタイム」(real-time)は即時の、同時の、実時間の、といった意味の英語表現で、コンピュータが利用者の指示や状況の変化にほとんど同時に反応することを意味する。
キーワード即座に処理
バッチ処理の反対?
© 2017 NTT DATA Corporation 6
オンライン vs バッチ?
地味なバッチ処理だが、システムにはなくてはならない存在!!そんなバッチ処理を実現するSpring Batchが今日の主題です!
オンラインシステム
ブラウザ バッチシステム
リクエスト
レスポンス
入力
出力
対比 実行
即時レスポンス まとめて一括処理
どんなシステムでも絶対あるが・・・結局は裏方。
© 2017 NTT DATA Corporation 7
本日の話のゴール
1. Spring Batchの基本機能や概念いついて知ってもらうこと
2. Spring Batchが「できること」/「できないこと」(強み/弱み)について知ってもらうこと
3. Spring Batchを使った新しいTERASOLUNA Batch FWについて知ってもらうこと
© 2017 NTT DATA Corporation 8
Spring Batchについて
Spring Batchは軽量で簡単なバッチフレームワークであり、エンタープライズシステムにおける日常業務に必要なロバストなバッチアプリケーションの開発のために開発されました。Spring Batchでは大量のデータを処理するために必要となる便利な機能を提供している。
また、Spring Frameworkが提供するAOPやDIなどの機能を利用することが可能である。
http://projects.spring.io/spring-batch/
2008/31.0.0 RELEASE
2009/42.0.0 RELEASE
2014/33.0.0 RELEASE
4.0.0 未定
© 2017 NTT DATA Corporation 9
なぜ今Spring Batchについて話すのか?
JSUGのアンケートでは長年、興味があるテーマの上位にある
⇒ 興味を持っている人は多い
身の回りで話を聞かない、Webでもまとまった情報がない
⇒ 興味をもっている人が少ないのか?
NTTデータの社内事情TERASOLUNAがSpring Batchを使うことにした
⇒ 多くの人にSpring Batchのことを知ってほしい!(TERASOLUNA Batch)
© 2017 NTT DATA Corporation 10
なぜ今Spring Batchについて話すのか?
JSUGのアンケートでは長年、興味があるテーマの上位にある
⇒ 興味を持っている人は多い
身の回りで話を聞かない、Webでもまとまった情報がない
⇒ 興味をもっている人が少ないのか?
NTTデータの社内事情TERASOLUNAがSpring Batchを使うことにした
⇒ 多くの人にSpring Batchのことを知ってほしい!(TERASOLUNA Batch)
今日はTERASOLUNAの取組みで得られた知見をベースに、
Spring Batchの特徴やを伝えます!開発時のポイント
11© 2017 NTT DATA Corporation
1.Spring BatchSpring Batchの基本構成要素/アーキテクチャSpring Batchの5つの特徴エンタープライズ利用時の懸念事項
2.TERASOLUNA Batch FWTERASOLUNAの概要TERASOLUNA Batch FW
本日のコンテンツ
13© 2017 NTT DATA Corporation
1.Spring BatchSpring Batchの基本構成要素/アーキテクチャSpring Batchの5つの特徴エンタープライズ利用時の懸念事項
2.TERASOLUNA Batch FWTERASOLUNAの概要TERASOLUNA Batch FW
次のセクション
© 2017 NTT DATA Corporation 14
とりあえず、Spring Batch QUICK STARTを動かしてみる
http://projects.spring.io/spring-batch/
© 2017 NTT DATA Corporation 15
Spring Batchの基本構成(チャンクモデル)
■JobLaucherJobを起動するためのインターフェース
■Job:バッチアプリケーションの一連の処理をまとめた1実行単位
■Step:Jobを構成する処理の単位
■JobRepository:JobやStepの状況を管理する機構
■ItemReader/Processor/Writer:実際の処理(入出力、業務処理等)を分割したインタフェース
© 2017 NTT DATA Corporation 18
【参考】xmlファイルでジョブ定義の例
ジョブ定義
Writer定義
Processor定義
Reader定義
基本設定
他の設定ファイル読込みComponent-scan
mybatis
IOや業務処理のbeanを定義
Reader/Processor/Writerをジョブとして定義
19© 2017 NTT DATA Corporation
1.Spring BatchSpring Batchの基本構成要素/アーキテクチャSpring Batchの5つの特徴エンタープライズ利用時の懸念事項
2.TERASOLUNA Batch FWTERASOLUNAの概要TERASOLUNA Batch FW
次のセクション
© 2017 NTT DATA Corporation 20
実際の開発でSpring Batchに求められること
性能
異常時対応
起動方式
入出力IF
開発者
PM
有識者
周辺資材
Spring Batchでの開発経験がある有識者は豊富なのか?
教育用のコンテンツとしてまとまった資材があるのか?
同期実行、非同期実行が選択できるのか?
DB、ファイルなど入出力IOが選択できるのか?様々なファイルフォーマットに対応しているのか?
ジョブの再実行(手動/スケジュール)ができるのか?再実行した時に、処理を未処理部分に絞ることができるのか?
一定量のデータを効率よく処理できるのか?ジョブを並列/多重に実行できるのか?
© 2017 NTT DATA Corporation 21
Spring Batchの主な特徴
要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能!
実行状況の永続化、リスタート/スキップ機能
タスクレットモデル、チャンクモデル
コマンドライン実行、 Webコンテナで実行
処理モデル
起動方法
データの入出力
処理の効率化
ジョブの管理
フロー制御、多重実行、並列実行
ファイル、データベース
© 2017 NTT DATA Corporation 22
Spring Batchの主な特徴
要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能!
実行状況の永続化、リスタート/スキップ機能
タスクレットモデル、チャンクモデル
コマンドライン実行、 Webコンテナで実行
処理モデル
起動方法
データの入出力
処理の効率化
ジョブの管理
フロー制御、多重実行、並列実行
ファイル、データベース
© 2017 NTT DATA Corporation 23
Spring Batchの処理モデル
タスクレットモデル
Taskletのみで構成トランザクションの数は基本1つリスタート機能なし
チャンクモデル
Reader/Processor/Writerで構成チャンク単位にトランザクションが発生リスタート機能あり
© 2017 NTT DATA Corporation 27
タスクレットジョブとチャンクジョブ 開発時のポイント
タスクレットモデル
チャンクモデル
taskletのbean定義参照の代わりにチャンクとしてreader/processor/writerを定義している
© 2017 NTT DATA Corporation 28
タスクレットモデルとチャンクモデルの使い分け例
リカバリを限りなくシンプルにしたい
処理の内容をまとめたい
大量のデータを安定して処理したい
エラー復旧後は未処理データからリスタートしたい
開発チームの習熟度や、現行システムに合わせて“ジョブごと”に適宜選択する。
タスクレットモデル
チャンクモデル
開発時のポイント
© 2017 NTT DATA Corporation 29
【再掲】Spring Batchの主な特徴
要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能!
実行状況の永続化、リスタート/スキップ機能
タスクレットモデル、チャンクモデル
コマンドライン実行、 Webコンテナで実行
処理モデル
起動方法
データの入出力
処理の効率化
ジョブの管理
フロー制御、多重実行、並列実行
ファイル、データベース
© 2017 NTT DATA Corporation 31
ジョブの起動方式の使い分け例 開発時のポイント
業務要件によって実行方式を選択する!
同期実行
非同期実行(Web)
ジョブ実行のタイミングが決まっている
複数のジョブを組合せる(ジョブ実行の条件分岐がある)
バッチ実行に即時性が求められる
処理時間
短い
長い
© 2017 NTT DATA Corporation 32
【再掲】Spring Batchの主な特徴
要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能!
実行状況の永続化、リスタート/スキップ機能
タスクレットモデル、チャンクモデル
コマンドライン実行、 Webコンテナで実行
処理モデル
起動方法
データの入出力
処理の効率化
ジョブの管理
フロー制御、多重実行、並列実行
ファイル、データベース
© 2017 NTT DATA Corporation 33
データの入出力
Job
DB
ファイル(xml, csv, tsv等)
入力/出力
対応ファイル形式• フラットファイル• XML(固定長、可変長)
• Oracle• PostgreSQL• MySQL• etc・・・
ジョブの中でIOを定義する!
定義例として「ファイル読込み」「DB書込み」を解説します
© 2017 NTT DATA Corporation 34
データ入出力定義の例(ファイル読込み)
LineMapperの定義
Tokenizerの定義
FieldSetMapperの定義
開発時のポイント
Bean定義
© 2017 NTT DATA Corporation 36
データ入出力定義の例(DB書込み) 開発時のポイント
Bean定義
Mapper XML
Mapper IF
MyBatis-Springが提供するMyBatisBatchItemWriterを定義
© 2017 NTT DATA Corporation 37
【再掲】Spring Batchの主な特徴
要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能!
実行状況の永続化、リスタート/スキップ機能
タスクレットモデル、チャンクモデル
コマンドライン実行、 Webコンテナで実行
処理モデル
起動方法
データの入出力
処理の効率化
ジョブの管理
フロー制御、多重実行、並列実行
ファイル、データベース
© 2017 NTT DATA Corporation 38
フロー制御
複数のジョブ(ジョブネット)間の処理の流れを制御すること。スケジューラとフレームワーク機能の両方で実現可能。
Job1
Scheduler
スケジューラ制御
Job2 Job3
JobStep1
Scheduler
Spring Batch制御
Step2 Step3
Spring Batchで制御する場合は、Step単位で実行。
© 2017 NTT DATA Corporation 39
Spring Batchによるシーケンシャルフローの定義方法 開発時のポイント
Job
Step1
Step2
Step3
<batch:step>で、このステップの正常終了後に起動する後続ステップを指定し、next属性に後続ステップのidを設定する。
© 2017 NTT DATA Corporation 40
Spring Batchによる条件分岐フローの定義方法
JobStepA
StepB StepC
FAILEDCOMPLETED
開発時のポイント
<batch:step>要素内にnext属性を指定せず、<batch:next>を複数設定し、on属性には遷移条件となるステップの終了コードを指定する。
© 2017 NTT DATA Corporation 41
フロー制御応用例の紹介
複数の異なるジョブ(ステップ)を、同時実行する並列処理
1ジョブ(ステップ)の処理対象を分割して、同時に実行する多重処理
開発時のポイント
© 2017 NTT DATA Corporation 42
【再掲】Spring Batchの主な特徴
要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能!
実行状況の永続化、リスタート/スキップ機能
タスクレットモデル、チャンクモデル
コマンドライン実行、 Webコンテナで実行
処理モデル
起動方法
データの入出力
処理の効率化
ジョブの管理
フロー制御、多重実行、並列実行
ファイル、データベース
© 2017 NTT DATA Corporation 43
ジョブの管理機能
ジョブの起動状態や実行結果を記録および、記録した情報を元に次に行うべき行動を判断する(スケジューラが担っていた、ジョブの状態管理をフレームワークの機能で実現)
障害発生時リスタート制御 二重起動防止等を実現
DataBaseDataBase
1000件
1000件
1000件
1000件
1000件
・・・
コミットインターバルを1000件に設定
障害発生時リスタートの例
障害発生!
実行したジョブの実行結果、実行パラメータ、コンテキスト等が保存される。
リスタート
1000件1000件エラーデータのみ再実行 or
エラーデータから再実行
44© 2017 NTT DATA Corporation
1.Spring BatchSpring Batchの基本構成要素/アーキテクチャSpring Batchの5つの特徴エンタープライズ利用時の懸念事項
2.TERASOLUNA Batch FWTERASOLUNAの概要TERASOLUNA Batch FW
次のセクション
© 2017 NTT DATA Corporation 45
【再掲】実際の開発でSpring Batchに求められること
性能
異常時対応
起動方式
入出力IF
開発者
PM
有識者
周辺資材
Spring Batchでの開発経験がある有識者は豊富なのか?
教育用のコンテンツとしてまとまった資材があるのか?
同期実行、非同期実行が選択できるのか?
DB、ファイルなど入出力IOが選択できるのか?様々なファイルフォーマットに対応しているのか?
ジョブの再実行(手動/スケジュール)ができるのか?再実行した時に、処理を未処理部分に絞ることができるのか?
一定量のデータを効率よく処理できるのか?ジョブを並列/多重に実行できるのか?
開発時のポイント
© 2017 NTT DATA Corporation 46
【再掲】実際の開発でSpring Batchに求められること
性能
異常時対応
起動方式
入出力IF
開発者
PM
有識者
周辺資材
Spring Batchでの開発経験がある有識者は豊富なのか?
教育用のコンテンツとしてまとまった資材があるのか?
同期実行、非同期実行が選択できるのか?
DB、ファイルなど入出力IOが選択できるのか?様々なファイルフォーマットに対応しているのか?
ジョブの再実行(手動/スケジュール)ができるのか?再実行した時に、処理を未処理部分に絞ることができるのか?
一定量のデータを効率よく処理できるのか?ジョブを並列/多重に実行できるのか?
開発時のポイント
© 2017 NTT DATA Corporation 47
【再掲】実際の開発でSpring Batchに求められること
性能
異常時対応
起動方式
入出力IF
開発者
PM
有識者
周辺資材
Spring Batchでの開発経験がある有識者は豊富なのか?
教育用のコンテンツとしてまとまった資材があるのか?
同期実行、非同期実行が選択できるのか?
DB、ファイルなど入出力IOが選択できるのか?様々なフォーマットに対応しているのか?
ジョブの再実行(手動/スケジュール)ができるのか?再実行した時に、処理を未処理部分に絞ることができるのか?
一定量のデータを効率よく処理できるのか?ジョブを並列/多重に実行できるのか?
開発時のポイント
簡単に非同期実行が実現できない!
対応していないものがある!
有識者が不足!
日本語の情報もあまりない!
© 2017 NTT DATA Corporation 48
【起動方式】Webコンテナによる非同期実行の課題 開発時のポイント
障害発生時のリカバリが難しい
• バッチ処理でトラブルが発生した場合、システム構成によってWebサーバを停止しなければならない(Webサーバにバッチを配置した場合) Webとバッチでサーバを分離した場合、サーバ間通信機構を組み込
む必要が出てくる。• トラブル解消後どのジョブをやり直せばよいかがわからない
そもそも・・・もっと簡単に非同期バッチを実現できないのか?
© 2017 NTT DATA Corporation 49
【入出力IF】ファイルアクセス時の諸問題
現在稼働しているエンタープライズシステムでは、様々な形式のCSVファイルが利用されている。対応出来ないファイルが存在すること、業務AP開発者はSpring Batchを避けるかも…
対応できない文字やフォーマットが存在する
1. 固定長改行なしファイルを処理できない spring-batch では、改行までを1レコードとして扱うため
2. マルチバイト文字が正しく処理できない。 spring-batch では、Stringのlengthを元に処理しているため
【例】: 期待 "𠮷田 太郎".substring(0, 2); // => "𠮷“ 実際 "𠮷田 太郎".substring(0, 3); // => "𠮷"
3. CSVファイルで区切り文字を含んだ文字列を囲み文字でエスケープ出力できない。 spring-batch では、エスケープ処理を実装していないため
[例]:“aa,a”,bbb,ccc ⇒ 対応していない!
開発時のポイント
© 2017 NTT DATA Corporation 50
【有識者/周辺資材】Spring Batch有識者や資材
圧倒的に有識者が不足しているとまでは行かない。が、
他の技術要素に比べると扱える人は少ないと思われる。
インターネット上にも日本語で体系的にまとめた情報がすくない。
開発時のポイント
© 2017 NTT DATA Corporation 51
これまでの振り返り
• 日本語で記述された資料が少ない• 有識者や事例が少ないため、開発のノウハウがない• 一部不足機能が存在する
Spring Batchの弱み
Spring Batchの強み
• 大量のデータを処理するために必要となる便利な機能が提供されている。(処理モデル、起動方法等)
• Spring Frameworkの機能を利用することが可能。• WebコンテナによるWebAPとの連動を実現。
53© 2017 NTT DATA Corporation
1.Spring BatchSpring Batchの基本構成要素/アーキテクチャSpring Batchの5つの特徴エンタープライズ利用時の懸念事項
2.TERASOLUNA Batch FWTERASOLUNAの概要TERASOLUNA Batch FW
次のセクション
© 2017 NTT DATA Corporation 54
TERASOLUNAとは
Process
Environment
Support蓄積されたノウハウを展開するための研修や教育サービス
サポート数多くのシステム開発で培ったノウハウを盛り込んだ標準開発手順・管理手順
標準手順
ソフトウェアを開発する際の雛形になるフレームワークと開発を支援するツール
開発環境
数多くのシステム開発実績をもとにした「標準手順」「開発環境」「サポート」をトータルで提供しており、TERASOLUNAを活用することで、高品質なシステム開発が実現できます。
TERASOLUNAとは、NTTデータのシステム開発を支えるオープン系システム開発のための総合ソリューション
© 2017 NTT DATA Corporation 55
OSSのJava Batch FW
2008/1.0.0 2009/2.0.0 2014/3.0.0 未定/4.0.0
2008/2.x 2011/3.x NEW!2017/5.x
2000年代前半/1.x (非OSS)
Java EE
2013/EE7 未定/EE8
Spring Batch
TERASOLUNAは10年以上の歴史を持つFWで、OSS化もSpring Batchと同時期!
© 2017 NTT DATA Corporation 56
TERASOLUNA 5.xのコンセプト
これまで 現在
FW自体に付加価値
FWがコモディティ化
Java FWが多数乱立
Java FWはSpringかJava EEの2強
業界動向
当社の取組
独自FWとして整備OSS(Spring)を
最大限活用
これまでのTERASOLUNA 新たなTERASOLUNA
エンタープライズ適用に必要なサポートを提供
サポート提供と合わせてエンタープライズ適用に
必要なガイドラインの充実
© 2017 NTT DATA Corporation 57
TERASOLUNAのコンセプト
2000年頃 現在
FW自体に付加価値
FWがコモディティ化
Java FWが多数乱立
Java FWはSpringかJava EEの2強
業界動向
当社の取組
独自FWとして整備OSS(Spring)を
最大限活用
これまでのTERASOLUNA 新たなTERASOLUNA
エンタープライズ適用に必要なサポートを提供
サポート提供と合わせてエンタープライズ適用に
必要なガイドラインの充実
世の中のOSSを活用してエンタープライズ向けフレームワークを整備
© 2017 NTT DATA Corporation 58
TERASOLUNA Batch FW for Java 5.x
業界の動向を考慮し、Spring Batchをベースと既存のOSSを組み合わせた
新しいフレームワークの提供を開始
Java VM
Enterprise Application
Spring Framework
OSS Libraries
Spring Batch MyBatis
NEW
59© 2017 NTT DATA Corporation
1.Spring BatchSpring Batchの基本構成要素/アーキテクチャSpring Batchの5つの特徴エンタープライズ利用時の懸念事項
2.TERASOLUNA Batch FWTERASOLUNAの概要TERASOLUNA Batch FW
次のセクション
© 2017 NTT DATA Corporation 60
TERASOLUNA Batch FWの構成要素
•Spring, MyBatisなどのOSSフレームワークソフトウェアフレームワーク
•エンタープライズ向けに必要な汎用的な部品共通ライブラリ
•OSSを利用したエンタープライズ向けアプリ開発に
おけるベストプラクティスドキュメント開発ガイドライン
•基本的な開発方法を学ぶ学習教材チュートリアル
•基本的な機能を実装したサンプルアプリサンプルAP
•プロジェクト構成のひな形ブランクプロジェクト
2017年
リリース
予定
© 2017 NTT DATA Corporation 61
ソフトウェアフレームワーク
Spring Framework
Enterprise Application
Java VM
OSS Libraries
Spring Batch MyBatis3.4.2
4.3.5
3.0.7
TERASOLUNA共通ライブラリ 1.0.0slf4j 1.7.22hibernate 5.2.4
・・・等
Spring IO Platformに準拠したOSSの組合わせを規定
© 2017 NTT DATA Corporation 62
共通ライブラリ
Spring Batchの弱点をTERASOLUNA共通ライブラリの機能として提供
簡易に可用性を担保した非同期実行方式
を実現
ファイルアクセスの諸問題を解決
https://github.com/terasoluna-batch/v5-fw
© 2017 NTT DATA Corporation 63
共通ライブラリ
非同期実行方式として、DBポーリングによるジョブ実行を実現
障害発生時の影響範囲極小化
Webコンテナと比較して製造が容易
TERASOLUNA共通ライブラリとしてDBポーリングを実行する機構
AsycBatchDeamonを提供
© 2017 NTT DATA Corporation 64
共通ライブラリ
非同期実行方式として、DBポーリングによるジョブ実行を実現
同期実行方式スケジュールどおりにジョブを起動したり、複数のジョブを組み合わせてる場合に利用
非同期実行方式(Webコンテナ)DBポーリングと同様だが、起動までの即時性が求められる場合にはこちらを利用
非同期実行方式(DBポーリング)ディレード処理、処理時間が短いジョブの連続実行、大量ジョブの集約などに利用
3通りの起動方式を選択可能
© 2017 NTT DATA Corporation 65
TERASOLUNA共通ライブラリとしてファイルアクセス時の諸問題に
対応した機能を提供!
共通ライブラリ
1. 固定長改行なしファイル、を処理できない spring-batch では、改行までを1レコードとして扱うため
2. マルチバイト文字が正しく処理できない。 spring-batch では、Stringのlengthを元に処理しているため
3. CSVファイルで区切り文字を含んだ文字列を囲み文字でエスケープ出力できない。 spring-batch では、エスケープ処理を実装していないため
© 2017 NTT DATA Corporation 66
開発ガイドライン
https://github.com/terasoluna-batch/v5-guideline
開発者向けのガイドラインを公開!Spring Batchに限らず、バッチアプリケーション開発のノウハウが集結!
検索
© 2017 NTT DATA Corporation 67
【参考】開発ガイドラインのノウハウ一例
方式の活用シーンを明確化!
陥りやすい設計ミス、実装ミスを掲載!
開発ガイドラインにより、各方針のメリット/デメリットを明記し、実装例も掲載しているため、設計/実装の助けとなりえる
設定ファイル例、実装例が豊富!
© 2017 NTT DATA Corporation 68
サンプルAP
様々な機能の実装例をサンプルとして提供!
ファイル/DBアクセスの実装例
同期/非同期実行の実装例
タスクレット/チャンクの実装例
例外処理/並列処理の実装例
等
https://github.com/terasoluna-batch/v5-functionaltest
© 2017 NTT DATA Corporation 69
ブランクプロジェクト
エンタープライズ開発に必要なノウハウを詰め込んだプロジェクト構成の雛形を提供
Maven Archetype Pluginのarchetype:generateを使用して、プロジェクトを作成
https://github.com/terasoluna-batch/v5-sample
© 2017 NTT DATA Corporation 70
今後の取組み
TERASOLUNA Frameworkに興味がある方は下記までご連絡ください
TERASOLUNA窓口E-mail: [email protected]
NTTデータは今後もJavaアプリケーション開発のベストプラクティスをOSSで提供し続けます
エンタープライズJavaシステム開発で積極的に活用し、情報交換やコミュニティ活動を活発化してさらなるJavaの発展、繁栄に向けて共に歩んでいきましょう。