| インタフェース | 説明 |
|---|---|
| ChainProcess |
ChainProcess は、バッチ処理サブクラスの共通インターフェースです。
|
| FirstProcess |
FirstProcess は、バッチ処理サブクラスの共通インターフェースです。
|
| HybsProcess |
HybsProcess は、バッチ処理サブクラスの共通インターフェースです。
|
| LoggerProcess |
LoggerProcess インターフェース は、AbstractProcess を実行する上で必要となる
各種パラメータを設定します。
|
| ParamProcess |
ParamProcess インターフェース は、AbstractProcess を実行する上で必要となる
各種パラメータを設定します。
|
| クラス | 説明 |
|---|---|
| AbstractProcess |
AbstractProcess は、ChainProcess インターフェースを実装した、Abstract クラスです。
|
| FileLineModel |
FileLineModel は、LineModel を継承した ファイルリスト専用の
LineModel の実装クラスです。
|
| FilterOperation |
フィルター条件のオペレーションの列挙型です。
|
| LineModel |
LineModel は、データの1行分を管理する為の TableModel と類似の実装クラスです。
|
| LineModelFilter |
LineModelFilter は、フィルター条件をチェックして、LineModel のフィルタリング
を判定する実装クラスです。
|
| MainProcess |
MainProcess は、HybsProcess を継承した、ParamProcess,FirstProcess,ChainProcess
の実装クラスを実行するメインメソッドを持つクラスです。
|
| Process_BulkQuery |
Process_BulkQueryは、データベースから読み取った内容を、一括処理する、
FirstProcess と、ChainProcess のインターフェースを両方持った、実装クラスです。
|
| Process_DBCountFilter |
Process_DBCountFilter は、データベースの存在件数でフィルタリングする
ChainProcess インターフェースの実装クラスです。
|
| Process_DBFileout |
Process_DBFileout は、SELECT文 を指定し データベースの値を抜き出して、
個々のファイルにセーブする、ChainProcess インターフェースの実装クラスです。
|
| Process_DBMerge |
Process_DBMerge は、UPDATE と INSERT を指定し データベースを追加更新
する、ChainProcess インターフェースの実装クラスです。
|
| Process_DBParam |
Process_DBParam は、他のプロセスへ共通のデータベース接続を割り当てる為の、
ParamProcess インターフェースの実装クラスです。
|
| Process_DBReader |
Process_DBReaderは、データベースから読み取った内容を、LineModel に設定後、
下流に渡す、FirstProcess インターフェースの実装クラスです。
|
| Process_DBWriter |
Process_DBWriter は、上流から受け取ったデータをデータベースに書き込む
CainProcess インターフェースの実装クラスです。
|
| Process_FileCopy |
Process_FileCopy は、上流から受け取った FileLineModel を処理する、
ChainProcess インターフェースの実装クラスです。
|
| Process_FileFtp |
Process_FileFtp は、上流から受け取った FileLineModel を処理する、
ChainProcess インターフェースの実装クラスです。
|
| Process_FileSearch |
Process_FileSearch は、指定のフォルダ以下のファイルを一覧する、FirstProcess
インターフェースと、ChainProcess インターフェースの実装クラスです。
|
| Process_Grep |
Process_Grep は、上流から受け取った FileLineModelから、文字列を見つけ出す
ChainProcess インターフェースの実装クラスです。
|
| Process_GrepChange |
Process_GrepChange は、上流から受け取った FileLineModelから、語句を
置換する、ChainProcess インターフェースの実装クラスです。
|
| Process_GrepChangeExcel |
Process_GrepChangeExcel は、上流から受け取った FileLineModelから、語句を
置換する、ChainProcess インターフェースの実装クラスです。
|
| Process_LDAPReader |
Process_LDAPReaderは、LDAPから読み取った内容を、LineModel に設定後、
下流に渡す、FirstProcess インターフェースの実装クラスです。
|
| Process_Logger |
Process_Logger は、画面出力、ファイルログ、エラーメールを管理する、
ロギング関係の LoggerProcess インターフェースの実装クラスです。
|
| Process_StringUtil |
Process_StringUtil は、上流から受け取ったデータをStringUtilクラスの特定の
メソッドでデータ変換する、CainProcess インターフェースの実装クラスです。
|
| Process_TableDiff |
Process_TableDiffは、ファイルから読み取った内容を、LineModel に設定後、
下流に渡す、FirstProcess インターフェースの実装クラスです。
|
| Process_TableFilter |
Process_TableFilter は、上流から受け取ったデータをフィルタする、
ChainProcess インターフェースの実装クラスです。
|
| Process_TableReader |
Process_TableReaderは、ファイルから読み取った内容を、LineModel に設定後、
下流に渡す、FirstProcess インターフェースの実装クラスです。
|
| Process_TableWriter |
Process_TableWriter は、上流から受け取ったデータをファイルに書き込む
CainProcess インターフェースの実装クラスです。
|
| Process_XSLT |
XSLT変換結果を指定のファイルに出力します。
|
このドキュメントは、バッチフレームワーク『ふくろう』の API 仕様です。
2.基本設計
(2)機能概要説明
3.バッチ処理フレームワーク
【概要】
大量データの登録や抜き出しなど、バッチ的な処理を行うフレームワークを作成します。
このフレームワークに、基本機能の実装と、各種システム固有機能の実装が簡単に
行えるように、プラグイン方式を採用します。
なお、このフレームワーク単独での採用は検討していません。エンジンとしては、
一体として扱います。
【効果】
簡易的なバッチ(あるDBから抜き出して、別のDBに登録するなど)や、ファイルからの
入出力などが、簡単に作成できるようになります。
将来的には、統合サーバー機能を充実させることで、PL/SQLの代わりにJavaで
業務アプリケーションを作成していく事が可能になります。
【機能】
1.バッチ共通のMainProcess で、各Process クラス を数珠繋ぎに処理していきます。
2.処理の開始は、FirstProcess クラスより始めて、順次、ChainProcess実装クラスで
処理を継続します。
3.FirstProcess クラス の next() で、次の行が存在するかどうかを判断します。
以降の ChainProcess では、LineModel が null かどうか判断して、継続処理を行うか
どうかを決定します。
4.MainProcess の拡張機能(ログ方式など)をサブクラスで与えます。
org.opengion.fukurou.process (classes)
→ org.opengion.fukurou.db classes
→ org.opengion.fukurou.mail classes
→ org.opengion.fukurou.model classes
→ org.opengion.fukurou.security classes
→ org.opengion.fukurou.system classes
→ org.opengion.fukurou.util classes
→ org.opengion.fukurou.xml classes

Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.