Springフレームワークをバッチ処理やHadoopにも適用する
最近、JavaのSpringフレームワークが熱いと思っている。
ラフなメモ書き。
【元ネタ】
Spring Framework | TECHSCORE(テックスコア)
Eclipseを使ったJava開発入門/フレームワーク/ライブラリ/Spring/DIでHelloWorld | DI wdsdx.com
今必要な人のための速習 Spring Framework - 今必要な人のための速習Spring Framework---目次:ITpro
Spring3入門―Javaフレームワーク・より良い設計とアーキテクチャ:書籍案内|技術評論社
Hadoop開発を容易にする「Spring for Hadoop 1.0」が登場 - SourceForge.JP Magazine : オープンソースの話題満載
【ハウツー】概説 Springプロダクト(12) - Spring Batchで簡単にバッチを作る (1) Spring Batchとは | 開発・SE | マイナビニュース
SpringBatchとは - omotenashi-mind
01.Spring Batchの基本概念(ステップ) - soracane
Springは、2000年代前半、理論先行で使いづらいEJBよりもDI(依存性注入)で実現したPOJOを使ったフレームワークとして注目されていた。
JavaでWebシステムを使う場合、StrutsベースのSAStrutsかSpringのどちらかのフレームワークを採用する場合が多いだろうと思う。
海外ではSpringが多いのかな。
「ドメイン駆動設計」の著者の方も、DDDで設計後、Springフレームワークで実装する方法で説明されていた。
ドメイン駆動設計の感想~OOAは過ぎ去りDOAはもう一度舞台に上がるのか: プログラマの思索
業務システムを設計するアーキテクトの観点では、Springが他のJavaフレームワークよりも勝る利点は、バッチ処理でも同様のフレームワークを流用できる点があると思う。
つまり、Webシステムと言うフロント側だけでなく、集計処理や帳票作成などで使うバッチ処理でもSpringフレームワークを元に実装可能なことだ。
すると、Java開発者は、Springという一つのフレームワークに慣れれば、Web画面もバッチ処理も実装できることになる。
従来の業務システムでは、Web画面はJava、バッチ処理は従来通りCobolというように言語が異なるため、Java開発者とCobol開発者を両方揃える必要があり、開発チームもWebとバッチのようにアーキテクチャの観点で分かれてしまってコミュニケーションが悪くなる弱点があった。
でも、Springを使うならば、数少ない人的リソースをWeb画面もバッチ処理にも一人のJava開発者で対応できることになり、開発人員を減らせるだけでなく、開発者が画面からバッチ処理まで全てのロジックに触れることになり、より理解も深まるだろう。
Conwayの法則「組織はアーキテクチャに従う」に従えば、より一体化したチームになれる可能性がある。
更に、上記の記事では、SpringがHadoopにも対応したらしいので、アクセスログのような膨大なデータから顧客の利用データを経営分析することに使うという発想にも役立てることができるだろう。
色々調べてみる。
| 固定リンク
« 本作りもチケット駆動開発で | トップページ | 構成管理パターンの記事「Streamed Lines: Branching Patterns for Parallel Software Development」 »
「モデリング」カテゴリの記事
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- すり合わせの優位性は健在か?日本の製造業が直面するPLM活用とMBSEソフトウェア運用の理想と現実(2026.03.29)
- アーキテクチャモダナイゼーションにおけるAMETチームの役割と責任範囲は何か(2026.03.23)
- アーキテクチャモダナイゼーションとはそもそも何なのか?(2026.03.22)
- 自動車の組込ソフトウェア開発が難しい理由は3つある(2026.02.23)
「ソフトウェア」カテゴリの記事
- Redmine AI HelperプラグインはRedmineをAI駆動プロジェクト管理に変える可能性を秘めている #Redmine(2025.12.31)
- 「RedmineのUbuntu+Docker構築への移行」の感想 #redmineT(2024.11.24)
- Javaのモジュールシステムの考え方をまとめてみた(2022.10.21)
- Javaのenum型はシングルトンクラスみたいだ(2022.06.20)
- テスラが従来の自動車メーカーと異なるところは工場までソフトウェア化すること(2022.02.09)
「ソフトウェア工学」カテゴリの記事
- マイクロマネジメントに陥ったチケット駆動開発の罠と再生戦略 #redminet(2026.04.26)
- リプレースとアーキテクチャモダナイゼーシヨンの違いの本質は何なのか?(2026.04.08)
- アーキテクチャモダナイゼーションにおけるAMETチームの役割と責任範囲は何か(2026.03.23)
- アーキテクチャモダナイゼーションとはそもそも何なのか?(2026.03.22)
- 自動車業界におけるA-SPICE・機能安全・サイバーセキュリティの規格に対応したプロセス改善とは何か?(2026.02.15)


コメント
初めまして。
springフレームワーク、長く使われ続けていますよね。
投稿: 師子乃 | 2020/06/07 18:16