非手続き言語(SQL)を連続化させることでバッチ処理を実現
SQL Sequencer (SQLS)

概要

SQLSequencer(以下「SQLS」)は、予め順番に並べた複数のSQL文を順次実行する仕組みです。

当社は2000年創業以来一貫して基幹業務システムを構築してきましたが、画面処理を伴わないプログラム(以下「バッチ処理」)の標準化をどうするかの思考過程で生まれたものです。原型は2005年当時に開発し、実際に利用して大きな成果を実感しています。以来、当社においてほとんどすべてのバッチプログラミングはしていません。SQLSに与える実行制御XMLのみの記述で処理を行っています。

SQLSを利用すると大変安価に確実に業務システムを構築できることを実際のシステム構築を通じて実感しています。
必要知識はDB設計技術とSQL文のみです。通常のプログラミングする場合ですと、この他に言語知識、オブジェクト指向知識、ログ出力などの標準化ルールも別途必要になります。

この様にSQLSは必要最小限の知識でシステム構築に着手できますので、教育を最小限にしてシステム構築業務に参画できることになります。なおかつ生産性が高く、品質のバラツキを少なくできます。業務システム構築の一番重要な知識はDB設計ですが、空いた工数をそちらに振り向けることができます。

当社がSQLSを用いてシステム構築する対象はこれまで汎用コンピュータ、オフコンで行われてきた領域です。例えば購買管理、販売管理、在庫管理などの基幹業務です。
そんな活用にあって、処理速度についても問題を感じておりません。SQLSを実行するDB管理システム(以下「DBMS」)とハードウエアの進展はすさまじく、10年程度以前の汎用コンピュータと比べても数倍の速度で実行してくれます。またDBMSは、ネットワーク分散も安定しており、複数のコンピュータからの分散処理環境も実現してくれます。SQLSはDBMSの安定とハード進歩を最大限活用する仕組みなのです。

当社ではSQLSによるバッチ処理のほか、画面プログラムの自動生成、JOBの実行管理システムの整備にも同時に取り組んでいます。SQLSと組み合わせて劇的なコストダウンを実現しています。一度SQLSをご評価頂き、その効果を実感してください。

SQL Sequencer (SQLS)動作説明図

機能範囲

SQLS概要説明 (PDF)

1.SQLを順次実行
SQLを順番に記述します。実行結果によって分岐することも可能ですのでSQLの組み合わせがひとつのプログラムの様な振る舞いをします。
2.SQLを外部パラメータの文字列で置換する
予め定められたSQLを実行するだけでなく、実行時にSQLの内容を変化させたい場合があります。例えば検索条件を変化させたり、UPDATE文に合計値を入れるなどです。外部パラメータによるSQLの置換などにより処理の汎用化をもたらします。
3.実行結果で条件分岐
SQLの実行結果によって処理を分岐させたい場合があります。例えばSELECT文でレコードの件数を取得し、0件の場合は、処理を中断するなどの場合などがあります。 また分岐は、前のSQLに戻ることも可能なので、あたかもプログラムの様に振る舞います。
4.エラー処理
DBMSが出力するエラーによって分岐することも可能です。キー値の重複、排他競合などの検出も可能です。検出後の分岐も行えます。
5.CSV作成が自由に行える
データの出力結果をCSVで受け取りたいケースは結構あります。SQLSでは検索結果をCSVにする機能をご用意しています。
6.LOG出力
実行結果を必要十分な内容でログ出力しています。
7.風神レポートとの連携
SQLSはDB操作を自由に行い、結果をCSV、固定長ファイルに出力することが可能です。そのCSVファイルを風神レポートと接続することで、非常に簡単にそして安価に、本格的な帳票出力することが可能になります。
8.COBOLコンバートに最適
現在でも多くのシステムはCOBOL系言語で構築されていると思います。COBOLはビジネスシステムを構築する上で非常に便利でしたが、RDBの発達、分散系OSの発展により経済性の面では不利になっていると思われます。COBOLは抽出、集計、マッチング、並び替えなどの処理をファイル連携で行いますが、この処理はSQLの順次実行で代替可能です。
実施事例「COBOL(500本)の機能をSQLSequencerに変換」(PDF)