Unit 07-03(STAGE 07 の 3 / 8)

夜間処理が必要な場合

学習状況:未着手

このユニットの結論

夜間処理(一括処理、バッチ)は、その日のデータがそろったあとで、たまったデータをまとめて処理し、翌朝の業務に間に合わせる仕組みです。

夜間処理を設計するときは、「いつ始められ、いつまでに終わっていなければならないか」という時間の枠と、「失敗したら翌朝の業務はどうなるか」をセットで決めます。

1. 何の話か

このユニットは、まとめて処理する連携の話です。

朝に分析の画面を開くと、前日までの実績が集計されている。こうした「朝には前日分がそろっている」状態の裏では、多くの場合、夜の間に一括処理が動いています。

2. なぜ必要か

夜間処理の設計があいまいだと、

ということが起きます。夜間処理は目に見えないため、失敗に気づかれにくいのです。

3. このユニットで分かること

4. 一括処理とは何か

一括処理は、データが生まれるたびに渡すのではなく、決めた時刻に、たまったデータをまとめて処理する方法です。その場でやり取りする API(07-02)と対になる方法です。

夜にまとめる理由には、一般的に次のようなものがあります。

5. 時間の枠

夜間処理には、「この時刻より前には始められない」と「この時刻までには終わっていなければならない」の2つの境目があります。

境目 何で決まるか(一般的な説明)
始められる時刻 日中の入力の締め、元になるデータの到着、前の処理の終わり
終わっていなければならない時刻 翌朝、そのデータを使う業務が始まる時刻、相手のシステムが受け取る時刻

この2つの間が、夜間処理に使える枠です。枠の中に、どの処理を、どの順番で置くかを決めます。処理が増えたり、データが増えたりすると、枠に収まらなくなることがあります。そのため、稼働の直後だけでなく、データが増えた先の量でも収まるかを、テストで確かめておきます。枠と、枠を守れなかったときの扱いは、非機能要件(REQ-003)として決めておきます。

CASE FACTFROZEN正本に記載されたアステリア案件の事実

アステリア案件に関係する記載

  • 約36本のシステム連携。正本で個別に定義されているのは IF-01〜IF-12
  • IF-08 新基幹 → BI、IF-09 FIN-CORE → BI
  • SYS-06 システム連携基盤、SYS-11 監視・ログ基盤。IF-12 連携基盤 → 監視・ログ

アステリア案件のどの連携が夜間の一括処理で動くか、処理の時刻・順番・時間の枠は、正本に記載がありません。未確定 分析の連携(IF-08・IF-09)も、方式やタイミングは正本に記載がありません。このユニットの例は教材上の例です。

6. 失敗したときに決めておくこと

人が見ていない時間に動くので、失敗したときの扱いを作る段階で決めておきます。

7. 翌朝の業務への影響

夜間処理が失敗すると、影響は翌朝、業務の側に出ます。これも事前に決めておきます。

「朝のデータは必ずそろっている」という前提で業務を組むと、そろわなかった日に、古いデータのまま判断が進んでしまいます。

8. THINK — 1件の誤りで全部止めるか

(教材上の例)社員の所属の変更を、夜間にまとめて別のシステムへ渡す処理を設計しています。担当者から次の提案がありました。

「1件でもおかしなデータがあったら、安全のために全体を止めて、朝に人が確かめてから流し直すことにしましょう。」

問題

この決め方でよいでしょうか。

判断例を開く

判断

データの性質と、翌朝の業務への影響を確かめてから決めます。

確認すること:

  • 1件を除いて残りを進めても、業務上おかしなことにならないか(その1件がほかのデータの前提になっていないか)
  • 全体を止めたとき、翌朝どの業務が、どれだけ困るか
  • 除いた1件を、誰がいつ直し、どうやって流し直すか
  • 除いたこと・止めたことを、誰がどうやって知るか

「全部止める」も「1件だけ除く」も、それぞれに困ることがあります。処理ごとに、どちらにするかと、その後の扱いを決めて記録します。

9. よくある失敗

10. 成果物との接続

11. AI WORKFLOW — 夜間処理の決めごとの抜けを探させる

指示例:

「次の夜間処理の一覧について、処理ごとに、①始められる条件、②終わっていなければならない時刻、③失敗したときに全体を止めるか一部を除くか、④再開のしかた、⑤知らせる先、⑥結果を使う業務、のうち記載がない項目を挙げてください。空欄を推測で埋めないでください。」

REVIEW — AIの結果を確認する

  • AIが、時刻や再開のしかたを一般的な例で埋めていないか
  • 「結果を使う業務」を、業務の担当に確かめたか
  • 別の設計書で決まっている項目を、空欄としていないか

人間が判断すること

  • 処理ごとに、失敗したとき全体を止めるか、一部を除いて進めるか
  • 前日分がそろっていない朝に、業務を始めるか待つか。その判断をする人
  • 夜間処理の枠を守れないとき、処理を見直すか、枠を見直すか

判断演習

(教材上の例)前日の実績を集計し、朝に分析の画面で見せる夜間処理があります。この処理が失敗した日に、分析の画面を使う人が「今日のデータは前日分がそろっていない」とすぐに分かるようにしたいと考えています。

どんな仕組みや決めごとが必要か、2つ以上挙げてください。

あなたの記録あなたの考え。事実ではありません

判断ノート

既定では保存しないため、ページを離れると消えます。

このユニットで覚えてほしいこと

夜間処理は、始められる時刻と終わっていなければならない時刻の間の枠で動く、目に見えない連携です。

失敗したときに、誰がどう気づき、どこから再開し、翌朝の業務をどうするかを、作る段階で決めておきます。

次に読むもの

本文で参照している成果物:ARC-004 システム連携一覧、REQ-003 非機能要件一覧、OPS-002 監視・アラート一覧、OPS-003 運用手順書

関連成果物:未確定(baselineに対応表なし)

関連危機演習:未確定(baselineに対応表なし)

学習状況

状態:未着手