トラブルを起こさないバッチ処理開発
はじめに
皆さんはバッチ処理についてどのように認識されていますか。画面系の開発と比べ、バッチ処理は「地味でつまらない」というイメージがあるかもしれません。または、「画面機能に比べて単純で簡単」とお考えの方も多いかもしれません。
ですが、バッチ処理こそがシステムの基幹部と言って差支えないでしょう。
画面系のプログラムの主な役割は「正しいデータをシステムに入力すること」と言えます。つまり、入力項目値の妥当性や項目間の妥当性を検証し、システム的に正しいデータをデータベースに入力することです。もちろん、参照系の画面では正しいデータを表示すること、という目的もありますが。
一方、バッチ処理の主な役割は「データをフローさせること」です。例えば、受注データから出荷データを作成したり、入出庫データから会計仕訳データを作成したりすることで、ビジネスフローの上流から下流へデータを流すことです。その過程で、データを様々に検証し、加工し、次のプロセスへデータを渡します。ビジネスロジックの中核がバッチ処理に実装されているわけです。
昨今では、Web系やモバイル系の開発技術の変化が目覚ましく、多くの開発者がその技術習得に励んでいます。ですが、業務系システムにおいてバッチ処理開発のスキルは非常に重要なものです。しかし、バッチ処理の開発スキルを身に付けた技術者は、意外と少ないようです。それが故に、開発・運用時に重大なトラブルを引き起こすことがあります。
本コラムでは、「トラブルを起こさないバッチ処理開発」をコンセプトに開発上のポイントを提供したいと思います。


