« 本作りもチケット駆動開発で | トップページ | 構成管理パターンの記事「Streamed Lines: Branching Patterns for Parallel Software Development」 »

2013/03/20

Springフレームワークをバッチ処理やHadoopにも適用する

最近、JavaのSpringフレームワークが熱いと思っている。
ラフなメモ書き。

【元ネタ】
Spring Framework | TECHSCORE(テックスコア)

Eclipseを使ったJava開発入門/フレームワーク/ライブラリ/Spring/DIでHelloWorld | DI wdsdx.com

今必要な人のための速習 Spring Framework - 今必要な人のための速習Spring Framework---目次:ITpro

Spring3入門―Javaフレームワーク・より良い設計とアーキテクチャ:書籍案内|技術評論社

VMware が Spring Hadoop を発表

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」 »

ソフトウェア」カテゴリの記事

ソフトウェア工学」カテゴリの記事

モデリング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 本作りもチケット駆動開発で | トップページ | 構成管理パターンの記事「Streamed Lines: Branching Patterns for Parallel Software Development」 »