見出し画像

はじめての設計をやり抜くための本【設計編】第3章外部設計の手法⑦バッチ設計/⑧帳票設計

■バッチ設計

バッチはサーバープログラムのように常駐しておらず、時間になると手動での起動によって実行されるプログラム。サーバープログラムでリアルタイムに処理を行うのは時間や負荷がかかる処理を夜間など他の処理の負荷が低い時間帯に実行する。
多数のバッチプログラムを決まった順番と時間帯に実行する必要がある場合にはバッチを決められた順番と時間帯に応じて起動/実行するジョブスケジュール管理を導入することもある。

バッチ設計での主な項目
・実行タイミング
・実行制御、ジョブ制御
・トランザクション
・リカバリー

●注意点
バッチ設計で難しいのはパフォーマンスと例外処理である。またバッチは決められた時間帯の中で大量のデータを処理するためパフォーマンスを十分考慮する必要がある。
バッチで処理する内容
・大量のDB操作
・多量のファイル操作
・非常に時間のかかる計算処理
のいずれかである。
DB処理はSQLの記述の仕方でパフォーマンスが大きく異なる。プログラミング言語はどの言語でも大きく影響はしない。

DBを操作するバッチのトランザクションスコープは、パフォーマンスと例外処理に影響がある。トランザクションスコープが大きすぎると数千件、数万件の処理を実行してもコミットされないので、仮にバッチ処理が途中でダウンした場合、全てロールバックされてしまう。決められた時間帯の中で終わらないバッチになる。逆にトランザクションスコープが小さすぎるとパフォーマンスが悪くなる。

DB操作ではコミット時にDBが更新される。コミットの回数が多いと、DBの更新も多数実行される。数百件、数千件など決まった件数を処理したタイミングでコミットすると負荷も少ない。


帳票設計のイメージ

■帳票設計

各種レポートや書面などの帳票の出力を設計する。
[帳票の種類]
・入力を目的にした帳票
・出力を目的にした帳票(伝票、レポート、分析結果)

それぞれの種類ごとに出力内容、出力形式、出力方法、出力頻度が異なる。
[出力方法の例]
・Webから帳票のPDFファイルをダウンロード
・WebのHTMLページに帳票の画像ファイルを表示
・画面からの指示でプリンタから印刷する。

帳票に関するその他機能
帳票には出力形式の管理やPDFファイルや画像ファイルの作成、実際にプリンタからの印刷といった、Javaなどのプログラミング言語の標準APIでは提供されていない機能が必要になる。帳票を作成するためのパッケージ製品も販売されているので利用してもいい。


第3章外部設計の手法⑦バッチ設計/⑧帳票設計について記載しました。
次回は⑨データベース論理設計について記載します。


この記事が気に入ったらサポートをしてみませんか?