Enviar búsqueda
Cargar
バッチは地味だが役に立つ
•
Descargar como PPTX, PDF
•
2 recomendaciones
•
2,790 vistas
A
apkiban
Seguir
JSUG勉強会の資料です。
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 72
Descargar ahora
Recomendados
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
Recomendados
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
これからSpringを使う開発者が知っておくべきこと
これからSpringを使う開発者が知っておくべきこと
土岐 孝平
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
mosa siru
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
Springを何となく使ってる人が抑えるべきポイント
Springを何となく使ってる人が抑えるべきポイント
土岐 孝平
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ
Yuichi Hasegawa
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
今さら聞けないDiとspring
今さら聞けないDiとspring
土岐 孝平
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
Hiromasa Oka
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
新しいTERASOLUNA Batch Frameworkとは
新しいTERASOLUNA Batch Frameworkとは
apkiban
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
apkiban
Más contenido relacionado
La actualidad más candente
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ
Yuichi Hasegawa
Mavenの真実とウソ
Mavenの真実とウソ
Yoshitaka Kawashima
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
Go Miyasaka
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
NTT DATA Technology & Innovation
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
今さら聞けないDiとspring
今さら聞けないDiとspring
土岐 孝平
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
貴志 上坂
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
Taku Miyakawa
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
Hiromasa Oka
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
La actualidad más candente
(20)
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ
Mavenの真実とウソ
Mavenの真実とウソ
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
今さら聞けないDiとspring
今さら聞けないDiとspring
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
DockerとPodmanの比較
DockerとPodmanの比較
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
ZOZOTOWNのマルチクラウドへの挑戦と挫折、そして未来
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Similar a バッチは地味だが役に立つ
新しいTERASOLUNA Batch Frameworkとは
新しいTERASOLUNA Batch Frameworkとは
apkiban
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
apkiban
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Yuichi Hasegawa
SQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイント
ソフトウェア品質シンポジウム
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
Naoki Ohsugi
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
Developers Summit
yokyo-unv.
yokyo-unv.
hirano
ハイブリッドクラウド研究会趣旨説明とこれまでの取り組み(2019/01/24)
ハイブリッドクラウド研究会趣旨説明とこれまでの取り組み(2019/01/24)
Masahiko Ebisuda
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
智治 長沢
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
NTT DATA Technology & Innovation
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
InnovationSprint2011
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
Hideki Sugimoto
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
apkiban
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
Recruit Technologies
Sharding with sql alchemy
Sharding with sql alchemy
Akira Matsuzaki
カタログDTPのデータを活用しよう!
カタログDTPのデータを活用しよう!
Masataka Kawahara
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
智治 長沢
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PC Cluster Consortium
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA OSS Professional Services
Similar a バッチは地味だが役に立つ
(20)
新しいTERASOLUNA Batch Frameworkとは
新しいTERASOLUNA Batch Frameworkとは
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
Application Re-Architecture Technology ~ StrutsからSpring MVCへ ~
SQiPシンポジウムアブストラクト作成のポイント
SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
良い原稿を作る3つの要素、読み易い文章を作る5つのコツ、SQiPシンポジウムアブストラクト作成のポイント
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
【17-C-4】「Axure RPによる画面プロトタイプを活用した要件定義の改善:野村総合研究所、NTTデータの事例紹介」松永充弘氏
yokyo-unv.
yokyo-unv.
ハイブリッドクラウド研究会趣旨説明とこれまでの取り組み(2019/01/24)
ハイブリッドクラウド研究会趣旨説明とこれまでの取り組み(2019/01/24)
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
【#VSUG DAY】Team Foundation Server を乗りこなすコツ教えます
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
データ活用を俊敏に進めるためのDataOps実践方法とその高度化のためのナレッジグラフ活用の取り組み(NTTデータ テクノロジーカンファレンス 2020 ...
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
イノベーションスプリント2011 nttデータにおける制約理論を活用した分散アジャイル開発~アジャイルとtocの融合
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
JaSST2017_大規模業務システムにおける再利用可能なテスト自動化の取り組み
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
脆弱性の探し方 ~発見と対応のノウハウ in NTTDATA~
リクルートにおけるPaaS活用事例
リクルートにおけるPaaS活用事例
Sharding with sql alchemy
Sharding with sql alchemy
カタログDTPのデータを活用しよう!
カタログDTPのデータを活用しよう!
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTTデータが考えるデータ基盤の次の一手 ~AI活用のために知っておくべき新潮流とは?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
チーム×ツール Team Foundation Server & Service 共感しActionできる開発基盤 アルティメイタム【デブサミ 2013 ...
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
PCCC21:株式会社日立製作所 「研究開発力向上のための研究DXソリューション」
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
Más de apkiban
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
apkiban
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
apkiban
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
apkiban
What happens in Spring Cloud Netflix
What happens in Spring Cloud Netflix
apkiban
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
apkiban
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
apkiban
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
apkiban
TERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO Platform
apkiban
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わる
apkiban
Más de apkiban
(9)
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
システム間連携を担うSpring Integrationのエンタープライズ開発での活用
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
Spring Initializrをハックする-カスタマイズを通してその内部実装を覗く
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
大規模・長期保守を見据えたエンタープライズシステム開発へのSpring Frameworkの適用
What happens in Spring Cloud Netflix
What happens in Spring Cloud Netflix
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
SpringOne Platform 2018 全体報告
SpringOne Platform 2018 全体報告
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
Javaエンジニアに知ってほしい、Springの教科書「TERASOLUNA」
TERASOLUNA Framework on the Spring IO Platform
TERASOLUNA Framework on the Spring IO Platform
Spring 5 でSpring Test のここが変わる
Spring 5 でSpring Test のここが変わる
バッチは地味だが役に立つ
1.
© 2017 NTT
DATA Corporation 2017年5月25日 株式会社 NTTデータ 林 優一郎
2.
© 2017 NTT
DATA Corporation 2 所属: 株式会社NTTデータ ソフトウェア工学推進センタ 名前: 林優一郎 経歴: 入社4年目 1~3年目の間、公共/金融の開発案件に従事 現在はTERASOLUNA Batch FWの整備を担当 Spring Batch歴:約半年 自己紹介
3.
© 2017 NTT
DATA Corporation 3 一般的(?)なBatchのイメージ 地味 華やかさがない Webのおまけ デザインとか無いし、 動くものがで きればそれでいい システムに必要な のはわかるけど・・・
4.
© 2017 NTT
DATA Corporation 4 バッチ処理 【 batch processing 】 一括処理 / バッチ実行 / 一括実行 - IT用語辞典 e-Words (http://e-words.jp/w/バッチ処理.html) バッチ処理とは、一定期間(もしくは一定量)データを集め、まとめて一括処理を行う 処理方式。または、複数の手順からなる処理において、あらかじめ一連の手順を登 録しておき、自動的に連続処理を行う処理方式。 企業における売上データや受注データの集計処理など、一定期間ごとに大量の データを集めて処理する場合に有効な処理方式である。 キーワード まとめて一括処理 大量のデータを集めて処理する場合に有効 バッチ処理とは?
5.
© 2017 NTT
DATA Corporation 5 (オンライン)リアルタイム処理 【 real-time processing 】 - IT用語辞典 e-Words (http://e-words.jp/w/リアルタイム処理.html) リアルタイム処理とは、データの処理要求が発生したときに、即座に処理を実行して 結果を返す方式。「リアルタイム」(real-time)は即時の、同時の、実時間の、といった 意味の英語表現で、コンピュータが利用者の指示や状況の変化にほとんど同時に 反応することを意味する。 キーワード 即座に処理 バッチ処理の反対?
6.
© 2017 NTT
DATA Corporation 6 オンライン vs バッチ? 地味なバッチ処理だが、システムにはなくてはならない存在!! そんなバッチ処理を実現するSpring Batchが今日の主題です! オンライン システム ブラウザ バッチ システム リクエスト レスポンス 入力 出力 対比 実行 即時レスポンス まとめて一括処理 どんなシステムでも絶対あるが・・・結局は裏方。
7.
© 2017 NTT
DATA Corporation 7 本日の話のゴール 1. Spring Batchの基本機能や概念いついて知ってもらうこと 2. Spring Batchが「できること」/「できないこと」(強み/弱み) について知ってもらうこと 3. Spring Batchを使った新しいTERASOLUNA Batch FW について知ってもらうこと
8.
© 2017 NTT
DATA Corporation 8 Spring Batchについて Spring Batchは軽量で簡単なバッチフレームワークであり、 エンタープライズシステムにおける日常業務に必要なロバストなバッチ アプリケーションの開発のために開発されました。Spring Batchでは 大量のデータを処理するために必要となる便利な機能を提供している。 また、Spring Frameworkが提供するAOPやDIなどの機能を利用すること が可能である。 http://projects.spring.io/spring-batch/ 2008/3 1.0.0 RELEASE 2009/4 2.0.0 RELEASE 2014/3 3.0.0 RELEASE 4.0.0 未定
9.
© 2017 NTT
DATA Corporation 9 なぜ今Spring Batchについて話すのか? JSUGのアンケートでは長年、興味があるテーマの上位にある ⇒ 興味を持っている人は多い 身の回りで話を聞かない、Webでもまとまった情報がない ⇒ 興味をもっている人が少ないのか? NTTデータの社内事情 TERASOLUNAがSpring Batchを使うことにした ⇒ 多くの人にSpring Batchのことを知ってほしい! (TERASOLUNA Batch)
10.
© 2017 NTT
DATA Corporation 10 なぜ今Spring Batchについて話すのか? JSUGのアンケートでは長年、興味があるテーマの上位にある ⇒ 興味を持っている人は多い 身の回りで話を聞かない、Webでもまとまった情報がない ⇒ 興味をもっている人が少ないのか? NTTデータの社内事情 TERASOLUNAがSpring Batchを使うことにした ⇒ 多くの人にSpring Batchのことを知ってほしい! (TERASOLUNA Batch) 今日はTERASOLUNAの取組みで 得られた知見をベースに、 Spring Batchの特徴や を伝えます!開発時のポイント
11.
11© 2017 NTT
DATA Corporation 1. Spring Batch Spring Batchの基本構成要素/アーキテクチャ Spring Batchの5つの特徴 エンタープライズ利用時の懸念事項 2. TERASOLUNA Batch FW TERASOLUNAの概要 TERASOLUNA Batch FW 本日のコンテンツ
12.
© 2017 NTT
DATA Corporation 12 Spring Batch
13.
13© 2017 NTT
DATA Corporation 1. Spring Batch Spring Batchの基本構成要素/アーキテクチャ Spring Batchの5つの特徴 エンタープライズ利用時の懸念事項 2. TERASOLUNA Batch FW TERASOLUNAの概要 TERASOLUNA Batch FW 次のセクション
14.
© 2017 NTT
DATA Corporation 14 とりあえず、Spring Batch QUICK STARTを動かしてみる http://projects.spring.io/spring-batch/
15.
© 2017 NTT
DATA Corporation 15 Spring Batchの基本構成(チャンクモデル) ■JobLaucher Jobを起動するためのインターフェース ■Job: バッチアプリケーションの一連の処理をまとめた1実行単位 ■Step: Jobを構成する処理の単位 ■JobRepository: JobやStepの状況を管理する機構 ■ItemReader/Processor/Writer: 実際の処理(入出力、業務処理等)を分割したインタフェース
16.
© 2017 NTT
DATA Corporation 16 処理全体の流れ
17.
© 2017 NTT
DATA Corporation 17 ItemReader/ItemProcessor/ItemWriterの関係
18.
© 2017 NTT
DATA Corporation 18 【参考】xmlファイルでジョブ定義の例 ジョブ定義 Writer定義 Processor定義 Reader定義 基本設定 他の設定ファイル読込み Component-scan mybatis IOや業務処理のbeanを定義 Reader/Processor/Writerを ジョブとして定義
19.
19© 2017 NTT
DATA Corporation 1. Spring Batch Spring Batchの基本構成要素/アーキテクチャ Spring Batchの5つの特徴 エンタープライズ利用時の懸念事項 2. TERASOLUNA Batch FW TERASOLUNAの概要 TERASOLUNA Batch FW 次のセクション
20.
© 2017 NTT
DATA Corporation 20 実際の開発でSpring Batchに求められること 性能 異常時対応 起動方式 入出力IF 開発者 PM 有識者 周辺資材 Spring Batchでの開発経験がある有識者は豊富なのか? 教育用のコンテンツとしてまとまった資材があるのか? 同期実行、非同期実行が選択できるのか? DB、ファイルなど入出力IOが選択できるのか? 様々なファイルフォーマットに対応しているのか? ジョブの再実行(手動/スケジュール)ができるのか? 再実行した時に、処理を未処理部分に絞ることができるのか? 一定量のデータを効率よく処理できるのか? ジョブを並列/多重に実行できるのか?
21.
© 2017 NTT
DATA Corporation 21 Spring Batchの主な特徴 要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能! 実行状況の永続化、リスタート/スキップ機能 タスクレットモデル、チャンクモデル コマンドライン実行、 Webコンテナで実行 処理モデル 起動方法 データの入出力 処理の効率化 ジョブの管理 フロー制御、多重実行、並列実行 ファイル、データベース
22.
© 2017 NTT
DATA Corporation 22 Spring Batchの主な特徴 要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能! 実行状況の永続化、リスタート/スキップ機能 タスクレットモデル、チャンクモデル コマンドライン実行、 Webコンテナで実行 処理モデル 起動方法 データの入出力 処理の効率化 ジョブの管理 フロー制御、多重実行、並列実行 ファイル、データベース
23.
© 2017 NTT
DATA Corporation 23 Spring Batchの処理モデル タスクレットモデル Taskletのみで構成 トランザクションの数は基本1つ リスタート機能なし チャンクモデル Reader/Processor/Writerで構成 チャンク単位にトランザクションが発生 リスタート機能あり
24.
© 2017 NTT
DATA Corporation 24 タスクレットジョブの定義例 開発時のポイント
25.
© 2017 NTT
DATA Corporation 25 SimpleJobTaskletの実装例 JobのBean定義 タスクレットの実装 入出力/業務処理 をコーディング
26.
© 2017 NTT
DATA Corporation 26 チャンクジョブの定義例 開発時のポイント
27.
© 2017 NTT
DATA Corporation 27 タスクレットジョブとチャンクジョブ 開発時のポイント タスクレットモデル チャンクモデル taskletのbean定義参照の代わりにチャンクとし てreader/processor/writerを定義している
28.
© 2017 NTT
DATA Corporation 28 タスクレットモデルとチャンクモデルの使い分け例 リカバリを限りなくシンプルにしたい 処理の内容をまとめたい 大量のデータを安定して処理したい エラー復旧後は未処理データから リスタートしたい 開発チームの習熟度や、現行システムに合わせて “ジョブごと”に適宜選択する。 タスクレットモデル チャンクモデル 開発時のポイント
29.
© 2017 NTT
DATA Corporation 29 【再掲】Spring Batchの主な特徴 要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能! 実行状況の永続化、リスタート/スキップ機能 タスクレットモデル、チャンクモデル コマンドライン実行、 Webコンテナで実行 処理モデル 起動方法 データの入出力 処理の効率化 ジョブの管理 フロー制御、多重実行、並列実行 ファイル、データベース
30.
© 2017 NTT
DATA Corporation 30 ジョブの起動方式 同期実行方式 非同期実行方式(Webコンテナ)
31.
© 2017 NTT
DATA Corporation 31 ジョブの起動方式の使い分け例 開発時のポイント 業務要件によって実行方式を選択する! 同期実行 非同期実行(Web) ジョブ実行のタイミングが決まっている 複数のジョブを組合せる (ジョブ実行の条件分岐がある) バッチ実行に即時性が求められる 処理時間 短い 長い
32.
© 2017 NTT
DATA Corporation 32 【再掲】Spring Batchの主な特徴 要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能! 実行状況の永続化、リスタート/スキップ機能 タスクレットモデル、チャンクモデル コマンドライン実行、 Webコンテナで実行 処理モデル 起動方法 データの入出力 処理の効率化 ジョブの管理 フロー制御、多重実行、並列実行 ファイル、データベース
33.
© 2017 NTT
DATA Corporation 33 データの入出力 Job DB ファイル (xml, csv, tsv等) 入力/出力 対応ファイル形式 • フラットファイル • XML(固定長、可変長) • Oracle • PostgreSQL • MySQL • etc・・・ ジョブの中でIOを定義する! 定義例として「ファイル読込み」「DB書込み」を解説します
34.
© 2017 NTT
DATA Corporation 34 データ入出力定義の例(ファイル読込み) LineMapperの定義 Tokenizerの定義 FieldSetMapperの定義 開発時のポイント Bean定義
35.
© 2017 NTT
DATA Corporation 35 データ入出力定義の例(ファイル読込み) 開発時のポイント Bean定義 定義したreaderをItemReaderに設定(チャンク)
36.
© 2017 NTT
DATA Corporation 36 データ入出力定義の例(DB書込み) 開発時のポイント Bean定義 Mapper XML Mapper IF MyBatis-Springが提供するMyBatisBatchItemWriterを定義
37.
© 2017 NTT
DATA Corporation 37 【再掲】Spring Batchの主な特徴 要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能! 実行状況の永続化、リスタート/スキップ機能 タスクレットモデル、チャンクモデル コマンドライン実行、 Webコンテナで実行 処理モデル 起動方法 データの入出力 処理の効率化 ジョブの管理 フロー制御、多重実行、並列実行 ファイル、データベース
38.
© 2017 NTT
DATA Corporation 38 フロー制御 複数のジョブ(ジョブネット)間の処理の流れを制御すること。 スケジューラとフレームワーク機能の両方で実現可能。 Job1 Scheduler スケジューラ制御 Job2 Job3 Job Step1 Scheduler Spring Batch制御 Step2 Step3 Spring Batchで制御する 場合は、Step単位で実行。
39.
© 2017 NTT
DATA Corporation 39 Spring Batchによるシーケンシャルフローの定義方法 開発時のポイント Job Step1 Step2 Step3 <batch:step>で、このステップの正常終了後に起動する 後続ステップを指定し、next属性に後続ステップのidを設 定する。
40.
© 2017 NTT
DATA Corporation 40 Spring Batchによる条件分岐フローの定義方法 Job StepA StepB StepC FAILEDCOMPLETE D 開発時のポイント <batch:step>要素内にnext属性を指定せず、 <batch:next>を複数設定し、on属性には遷移条 件となるステップの終了コードを指定する。
41.
© 2017 NTT
DATA Corporation 41 フロー制御応用例の紹介 複数の異なるジョブ(ステップ)を、 同時実行する並列処理 1ジョブ(ステップ)の処理対象を分割 して、同時に実行する多重処理 開発時のポイント
42.
© 2017 NTT
DATA Corporation 42 【再掲】Spring Batchの主な特徴 要件・目的に応じてた処理モデルやジョブの起動方法、データ永続化形式等を選択可能! 実行状況の永続化、リスタート/スキップ機能 タスクレットモデル、チャンクモデル コマンドライン実行、 Webコンテナで実行 処理モデル 起動方法 データの入出力 処理の効率化 ジョブの管理 フロー制御、多重実行、並列実行 ファイル、データベース
43.
© 2017 NTT
DATA Corporation 43 ジョブの管理機能 ジョブの起動状態や実行結果を記録および、記録した情報を元に次に行うべき行動を判断する (スケジューラが担っていた、ジョブの状態管理をフレームワークの機能で実現) 障害発生時リスタート制御 二重起動防止 等を実現 DataBaseDataBase 1000件 1000件 1000件 1000件 1000件 ・ ・ ・ コミットインターバルを 1000件に設定 障害発生時リスタートの例 障害発生! 実行したジョブの実行結果、 実行パラメータ、コンテキスト等が保存される。 リスタート 1000件1000件 エラーデータのみ再実行 or エラーデータから再実行
44.
44© 2017 NTT
DATA Corporation 1. Spring Batch Spring Batchの基本構成要素/アーキテクチャ Spring Batchの5つの特徴 エンタープライズ利用時の懸念事項 2. TERASOLUNA Batch FW TERASOLUNAの概要 TERASOLUNA Batch FW 次のセクション
45.
© 2017 NTT
DATA Corporation 45 【再掲】実際の開発でSpring Batchに求められること 性能 異常時対応 起動方式 入出力IF 開発者 PM 有識者 周辺資材 Spring Batchでの開発経験がある有識者は豊富なのか? 教育用のコンテンツとしてまとまった資材があるのか? 同期実行、非同期実行が選択できるのか? DB、ファイルなど入出力IOが選択できるのか? 様々なファイルフォーマットに対応しているのか? ジョブの再実行(手動/スケジュール)ができるのか? 再実行した時に、処理を未処理部分に絞ることができるのか? 一定量のデータを効率よく処理できるのか? ジョブを並列/多重に実行できるのか? 開発時のポイント
46.
© 2017 NTT
DATA Corporation 46 【再掲】実際の開発でSpring Batchに求められること 性能 異常時対応 起動方式 入出力IF 開発者 PM 有識者 周辺資材 Spring Batchでの開発経験がある有識者は豊富なのか? 教育用のコンテンツとしてまとまった資材があるのか? 同期実行、非同期実行が選択できるのか? DB、ファイルなど入出力IOが選択できるのか? 様々なファイルフォーマットに対応しているのか? ジョブの再実行(手動/スケジュール)ができるのか? 再実行した時に、処理を未処理部分に絞ることができるのか? 一定量のデータを効率よく処理できるのか? ジョブを並列/多重に実行できるのか? 開発時のポイント
47.
© 2017 NTT
DATA Corporation 47 【再掲】実際の開発でSpring Batchに求められること 性能 異常時対応 起動方式 入出力IF 開発者 PM 有識者 周辺資材 Spring Batchでの開発経験がある有識者は豊富なのか? 教育用のコンテンツとしてまとまった資材があるのか? 同期実行、非同期実行が選択できるのか? DB、ファイルなど入出力IOが選択できるのか? 様々なフォーマットに対応しているのか? ジョブの再実行(手動/スケジュール)ができるのか? 再実行した時に、処理を未処理部分に絞ることができるのか? 一定量のデータを効率よく処理できるのか? ジョブを並列/多重に実行できるのか? 開発時のポイント 簡単に非同期実行が実現できない! 対応していないものがある! 有識者が不足! 日本語の情報もあまりない!
48.
© 2017 NTT
DATA Corporation 48 【起動方式】Webコンテナによる非同期実行の課題 開発時のポイント 障害発生時のリカバリが難しい • バッチ処理でトラブルが発生した場合、システム構成によってWebサーバ を停止しなければならない(Webサーバにバッチを配置した場合) Webとバッチでサーバを分離した場合、サーバ間通信機構を組み込む 必要が出てくる。 • トラブル解消後どのジョブをやり直せばよいかがわからない そもそも・・・ もっと簡単に非同期バッチを実現できないのか?
49.
© 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 ⇒ 対応していない! 開発時のポイント
50.
© 2017 NTT
DATA Corporation 50 【有識者/周辺資材】Spring Batch有識者や資材 圧倒的に有識者が不足しているとまでは行かない。 が、 他の技術要素に比べると扱える人は少ない と思われる。 インターネット上にも日本語で体系的にまとめた 情報がすくない。 開発時のポイント
51.
© 2017 NTT
DATA Corporation 51 これまでの振り返り • 日本語で記述された資料が少ない • 有識者や事例が少ないため、開発のノウハウがない • 一部不足機能が存在する Spring Batchの弱み Spring Batchの強み • 大量のデータを処理するために必要となる便利な機能が提 供されている。(処理モデル、起動方法等) • Spring Frameworkの機能を利用することが可能。 • WebコンテナによるWebAPとの連動を実現。
52.
© 2017 NTT
DATA Corporation 52 TERASOLUNA Batch FW
53.
53© 2017 NTT
DATA Corporation 1. Spring Batch Spring Batchの基本構成要素/アーキテクチャ Spring Batchの5つの特徴 エンタープライズ利用時の懸念事項 2. TERASOLUNA Batch FW TERASOLUNAの概要 TERASOLUNA Batch FW 次のセクション
54.
© 2017 NTT
DATA Corporation 54 TERASOLUNAとは Process Environment Support 蓄積されたノウハウ を展開するための 研修や教育サービス サポート 数多くのシステム開発で 培ったノウハウを盛り込んだ 標準開発手順・管理手順 標準手順 ソフトウェアを開発する際の 雛形になるフレームワーク と開発を支援するツール 開発環境 数多くのシステム開発実績をもとにした「標準手順」「開発環境」「サポート」を トータルで提供しており、TERASOLUNAを活用することで、 高品質なシステム開発が実現できます。 TERASOLUNAとは、NTTデータのシステム開発を支える オープン系システム開発のための総合ソリューション
55.
© 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と同時期!
56.
© 2017 NTT
DATA Corporation 56 TERASOLUNA 5.xのコンセプト これまで 現在 FW自体に 付加価値 FWが コモディティ化 Java FWが 多数乱立 Java FWは SpringかJava EEの2強 業 界 動 向 当 社 の 取 組 独自FWとして整備 OSS(Spring)を 最大限活用 これまでのTERASOLUNA 新たなTERASOLUNA エンタープライズ適用に 必要なサポートを提供 サポート提供と合わせて エンタープライズ適用に 必要なガイドラインの充実
57.
© 2017 NTT
DATA Corporation 57 TERASOLUNAのコンセプト 2000年頃 現在 FW自体に 付加価値 FWが コモディティ化 Java FWが 多数乱立 Java FWは SpringかJava EEの2強 業 界 動 向 当 社 の 取 組 独自FWとして整備 OSS(Spring)を 最大限活用 これまでのTERASOLUNA 新たなTERASOLUNA エンタープライズ適用に 必要なサポートを提供 サポート提供と合わせて エンタープライズ適用に 必要なガイドラインの充実 世の中のOSSを活用して エンタープライズ向け フレームワークを整備
58.
© 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.
59© 2017 NTT
DATA Corporation 1. Spring Batch Spring Batchの基本構成要素/アーキテクチャ Spring Batchの5つの特徴 エンタープライズ利用時の懸念事項 2. TERASOLUNA Batch FW TERASOLUNAの概要 TERASOLUNA Batch FW 次のセクション
60.
© 2017 NTT
DATA Corporation 60 TERASOLUNA Batch FWの構成要素 • Spring, MyBatisなどのOSSフレームワーク ソフトウェアフレーム ワーク • エンタープライズ向けに必要な汎用的な部品共通ライブラリ • OSSを利用したエンタープライズ向けアプリ 開発に おけるベストプラクティスドキュ メント 開発ガイドライン • 基本的な開発方法を学ぶ学習教材チュートリアル • 基本的な機能を実装したサンプルアプリサンプルAP • プロジェクト構成のひな形ブランクプロジェクト 2017年 リリース 予定
61.
© 2017 NTT
DATA Corporation 61 ソフトウェアフレームワーク Spring Framework Enterprise Application Java VM OSS Libraries Spring Batch MyBatis 3.4.2 4.3.5 3.0.7 TERASOLUNA共通ライブラリ 1.0.0 slf4j 1.7.22 hibernate 5.2.4 ・・・等 Spring IO Platformに準拠した OSSの組合わせを規定
62.
© 2017 NTT
DATA Corporation 62 共通ライブラリ Spring Batchの弱点を TERASOLUNA共通ライブラリの機能として提供 簡易に可用性を担保 した非同期実行方式 を実現 ファイルアクセスの 諸問題を解決 https://github.com/terasoluna-batch/v5-fw
63.
© 2017 NTT
DATA Corporation 63 共通ライブラリ 非同期実行方式として、 DBポーリングによるジョブ実行を実現 障害発生時の影響範囲極小化 Webコンテナと比較して 製造が容易 TERASOLUNA共通ライブラリとして DBポーリングを実行する機構 AsycBatchDeamonを提供
64.
© 2017 NTT
DATA Corporation 64 共通ライブラリ 非同期実行方式として、 DBポーリングによるジョブ実行を実現 同期実行方式 スケジュールどおりにジョブを起動したり、複数のジョブを組み合わせてる場合に利用 非同期実行方式(Webコンテナ) DBポーリングと同様だが、起動までの即時性が求められる場合にはこちらを利用 非同期実行方式(DBポーリング) ディレード処理、処理時間が短いジョブの連続実行、大量ジョブの集約などに利用 3通りの起動方式を選択可能
65.
© 2017 NTT
DATA Corporation 65 TERASOLUNA共通ライブラリとして ファイルアクセス時の諸問題に 対応した機能を提供! 共通ライブラリ 1. 固定長改行なしファイル、を処理できない spring-batch では、改行までを1レコードとして扱うため 2. マルチバイト文字が正しく処理できない。 spring-batch では、Stringのlengthを元に処理しているため 3. CSVファイルで区切り文字を含んだ文字列を囲み文字でエスケープ出力できない。 spring-batch では、エスケープ処理を実装していないため
66.
© 2017 NTT
DATA Corporation 66 開発ガイドライン https://github.com/terasoluna-batch/v5-guideline 開発者向けのガイドラインを公開! Spring Batchに限らず、バッチアプリケーション開発のノウハウが集結! 検索
67.
© 2017 NTT
DATA Corporation 67 【参考】開発ガイドラインのノウハウ一例 方式の活用シーンを明確化! 陥りやすい設計ミス、実装ミスを掲載! 開発ガイドラインにより、各方針のメリット/デメリットを明記し、 実装例も掲載しているため、設計/実装の助けとなりえる 設定ファイル例、実装例が豊富!
68.
© 2017 NTT
DATA Corporation 68 サンプルAP 様々な機能の実装例をサンプルとして提供! ファイル/DBアクセスの実装例 同期/非同期実行の実装例 タスクレット/チャンクの実装例 例外処理/並列処理の実装例 等 https://github.com/terasoluna-batch/v5-functionaltest
69.
© 2017 NTT
DATA Corporation 69 ブランクプロジェクト エンタープライズ開発に必要なノウハウを詰め込んだ プロジェクト構成の雛形を提供 Maven Archetype Pluginのarchetype:generate を使用して、プロジェクトを作成 https://github.com/terasoluna-batch/v5-sample
70.
© 2017 NTT
DATA Corporation 70 今後の取組み TERASOLUNA Frameworkに興味がある方は下記までご連絡ください TERASOLUNA窓口 E-mail: terasoluna@am.nttdata.co.jp NTTデータは今後もJavaアプリケーション開発の ベストプラクティスをOSSで提供し続けます エンタープライズJavaシステム開発で積極的に活用し、 情報交換やコミュニティ活動を活発化して さらなるJavaの発展、繁栄に向けて共に歩んでいきましょう。
71.
© 2017 NTT
DATA Corporation 71 皆様へのお願い 改善要望は New issueを! 改善などの要望があれば、お気軽にどうぞ!
72.
© 2017 NTT
DATA Corporation 「TERASOLUNA」及びそのロゴは、日本及びその他の国おける株式会社NTTデータの商標または登録商標です。 その他、記載されている会社名、商品名、サービス名等は、各社の商標または登録商標です。
Descargar ahora