IT業界に転職して2年が経ちました。
この度、新たな現場でバッチ処理の製造を担当してほしいとの依頼がありましたが、今まで実装経験はありません。バッチ処理のイメージとしては指定した時間に勝手に動作して定期的に情報を収集するもののような認識です。
バッチ処理とはどのうようなもので、どのような実装が求められるのでしょうか?
具体的な回答を頂けると助かります。あえてgoogle等では検索せず有識者様の的確なご回答を頂きたいと思っております。よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
Webシステムのようなのでそれを元に簡潔に言うと。
ブラウザからのアクセスを元に処理を行うのがリアルタイム処理とすれば、
アクセスにかかわらず行う処理がバッチ処理です。
さらに言うと、バッチ処理はブラウザのアクセスを元に起動されることもあれば
手動で起動することもありますし、
当然時間単位で起動することもあります。
つまり、起動よりも「いつレスポンスを返すか」でバッチ処理なのかそうでないのかの違いです。
用途の違いは、バッチ処理の反対語のリアルタイム処理に着目すると良いです。
名前の通りその場で結果をユーザに返すべき処理はリアルタイム処理で行う。
そうでないものやリアルタイムでは処理しきれないものをバッチ処理で行います。
投稿2015/04/26 23:14
総合スコア187
0
バッチ処理は、メインフレームに由来するプログラム様式で、一般に業務時間外など、システムが空いている時間帯に、大量の計算処理を実施するために用意されたものを指します。対義語はリアルタイム処理であり、バッチ処理の特徴としては「ユーザとの対話を伴わない」ということが言えます。
DOS/Windowsの世界には、一連のコマンドを実行するための「バッチファイル」と呼ばれるものがありますが、これはメインフレームにおけるJCL (Job Control Language) に由来するんじゃないかと思います。DOS/Windowsの世界のバッチファイルによる処理は、必ずしもバッチ処理とは限らず、ユーザとの対話を伴うものもままあります。
バッチ処理を実現する方法は、様々です。どのような言語でも記述することができます。バッチ処理を書くときは、実行時にエラーが発生した場合、実行前の状態に戻すように実装することがあります。エラーを検出した後、オペレータによって単純に再実行すれば良いと便利だからです。
バッチ処理では、定型的なパターンがあるので、定型的パターンをカバーするフレームワークを用いることがあります。
こんなところかな...
投稿2015/04/26 22:43
総合スコア973
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
バッチ処理の認識としてはそんなに間違っていないと思います。
よく利用されるのがシステムの日次処理や月次処理などで、サーバ上で決まった時間に実行されるようスケジューリングされて、データのメンテナンスや集計などを行います。
求められる機能としては、
0. 指定された時間に自動実行する
0. ユーザの入力を必要とせず動作する
0. 終了時に実行結果が判るようにする(終了コードやメッセージをログに出力するなど)
あたりが基本的なところではないでしょうか。
処理内容や実現手段などは様々です。いろいろな技術を組み合わせても目的を達すればよいと思います。
私が関わった物で言うと、unix系サーバの日次処理用にシェルスクリプトを書いたり、Windows系サーバのデータメンテナンス用にc言語でプログラムを何本か書いて、それをBATファイルで順番に呼び出す物を作ったり、月次でエラーログ内のエラーを発生件数別に統計をとるためのExcelマクロなんかも作りました。
なので、実現手段については向き・不向きの点で定番はあるものの特に決まりはなく、求められる機能を実現できる手段を模索することになると思います。
こんな感じの回答でよろしいでしょうか。
投稿2015/04/26 17:26
総合スコア3041
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/04/26 23:15
2015/04/27 15:37