- - PR -
バッチをオブジェクト指向で設計
| 投稿者 | 投稿内容 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-02-26 19:47
Javaでバッチ処理をフレームワーク化...私個人も基本的にはその方針を支持 するんですけど、手続き型に実装した場合と比べて処理速度が気になります。 特に大量のデータを扱うような場合は、些細なオブジェクト生成コストも ちりも積もれば...とやらで結構大きなコストになるのではないかと思います。 とは言え、同じ処理をOOと手続き型で実装して比べたわけでもないので、 実際どれほど差がでるかはわからないのですが... 体験談をお持ちの方がいらっしゃいましたらご意見を伺いたいです。 | ||||||||||||||||
|
投稿日時: 2004-02-26 20:12
少し古いですが、こういう記事がありますね。
「オブジェクト指向のバッチ処理への適用とJavaの可能性」 http://hp.vector.co.jp/authors/VA015862/javabtch.html 当時からいずれの処理系も進化していますので 現在の指標としては向きませんが、考え方や比較方法は 参考になるかと思います。 | ||||||||||||||||
|
投稿日時: 2004-02-26 20:19
分かっていても、ついやってしまいますね〜。 ->力不足ですね。自分もそうです。 _________________ | ||||||||||||||||
|
投稿日時: 2004-02-27 10:50
Antを、話題の「バッチ処理用フレームワーク」としてそのまま使えそうな気がした
のですが。 1.各種ロジック、入出力(ファイル上のデータ←→Javaオブジェクト交換)などの 処理を記述するオブジェクトを、Ant Taskとして実装する。 2.Build.xmlでバッチ処理の内容(Ant Taskの呼び出し順序)を記述。 あるいは、フレームワークを自作する場合、Antの構成を参考にするというのも良い のではないでしょうか。 以前、業務システムのバッチ処理のような規模の大きいものではありませんが、似た ようなものをかつて一度作ったことが有りまして・・・スクリプト言語を自作するのは 面倒だったので、Antのやり方(XMLでスクリプトを記述する)をそのまま真似させて もらいました。 | ||||||||||||||||
|
投稿日時: 2004-02-27 15:14
バッチ処理の汎用フレームワークは、非同期型並列バッチ処理まで対象を広げると便利です。
- 複数のバッチつっこみ側アプリが、ひとつのジョブキューにジョブをつっこむ - 複数のジョブサーバがジョブキューを監視 自分がジョブ処理可能であれば処理開始、ジョブ処理状況を適宜更新 ジョブが終了したらジョブ結果をジョブ結果キューにつっこむ - バッチつっこみ側アプリはジョブ処理状況を見て、 終了していれば結果キューから結果取得 典型的なWebアプリでこれが有用なのは、特定種類のサーバで一度にひとつしかジョブを実行できない場合に(Word/Excel/PDFの生成、画像加工、並列印刷などなど)、これらの処理を並列化したいときです。 エラーリカバリ処理とか、けっこう面倒なもんですよ。 ジョブやキュー、エラー、バッチ入出力の部分など、OOPによる抽象化には向いているかと。 こういう定番のフレームワーク、COBOLにもあるでしょ? | ||||||||||||||||
|
投稿日時: 2004-02-27 15:39
汎用機時代(3年ちょっと前)にフレームワークという言葉自体を、 耳にしたことが無いですね・・・。 | ||||||||||||||||
|
投稿日時: 2004-02-27 15:49
unibon です。こんにちわ。
ジョブ管理みたいな感じでしょうか。凝るとグリッドコンピューティングになってしまいそうですね。 システム名だけ思いつきました。 Pragmatical Execution and Repeatable Launcher 頭文字だけを取り出して略すと... | ||||||||||||||||
|
投稿日時: 2004-02-27 16:32
本家は Practical Extraction and Reporting Language でしたっけ | ||||||||||||||||
