基幹系DBMSのバージョンでは,情報系DBMSとレプリケーションできない。そんな問題にぶつかった私は解決策を考えた。最も簡単なのは基幹系DBMSをバージョンアップすること。しかし残念ながらそれはできなかった。

 前回お話したように,新国際システムはメインフレームで構築した大規模基幹システムである。それもようやく安定稼働したところだ。システムの変更など許されるはずもない。

 さらに判明したのは,情報系システムの要件(制約)とともに,実は以下のような新国際システムに関する制約も提示されていた。それは,原則として新国際システムの変更や性能的な影響を与えることは許容しない,というものだった。

  • (1)既存の業務プログラムの変更は一切許容できない
  • (2)業務プログラムの変更可能性があるものは,既存の各種定義や設定の変更などいかなる作業も許容できない
  • (3)既存バッチ処理のジョブ構成の変更は不可。ただしジョブの追加や基幹業務に直接関係しないジョブの変更は許容する
  • (4)夜間バッチ時間帯は処理がピークになるので,新たな処理の追加は原則禁止
  • (5)日中のオンライン処理のレスポンスを悪化させる処理の追加は不可
  • (6)上記の要件に対応するために,運用時間の変更やシステム停止作業の追加は許容できない
  • (7)そのほか,新国際システムへの影響は最小限にとどめる

 当初考えたレプリケーション方式であれば,いずれの制約も問題にはならない。レプリケーション方式は,定義変更は必要となるが,既存プログラムの変更は不要。強いて言えば,夜間バッチのピーク時にバックグラウンド処理としてレプリケーション機能が動作するので,(4)の制約には一部抵触しそうである。それでも影響は極めて小さく,お客様も許容してくれるだろう。

バージョンアップの壁

 DBMSのバージョンアップとなると,(2)の「業務プログラムの変更の可能性があるものは許容できない」に抵触する。既存の業務プログラムの変更の可能性はゼロではない。少なくとも業務プログラムのテストは必要となる。さらに(6)の「システム停止の追加は許容できない」も,バージョンアップ作業を考えると厳しい条件だ。

 それ以前に,DBMSのバージョンアップとなると,それなりの大作業となる。他部門のシステムの要件のために実施するようなものではない。

 どうしたものか。これだけの制約の中では答えが出せない。「基幹系のDBMSのバージョンアップが必要です。しかしそれに伴う作業を実施すると,ご提示いただいた制約に抵触します。どうぞご検討ください」。こんな風に報告するしかないのだろうか。

この案件は計画倒れ?

 そもそも今回の要件は,販売企画部門から顧客情報の提供が可能かどうか検討依頼があったものであり,検討結果として「不可」ということも有り得る。そのように私が報告すれば済むし,福田課長が販売企画部門にそのように説明してくれればいい。

 システム部門も安定稼働している新国際システムに手を加えることには,あまり前向きではない。情報系の案件そのものにも,あまり肯定的ではないように感じた。上記のような報告であっても了解してくれるだろう。

 しかし,おそらく販売企画部門にとっては新規ビジネスの拡大のために顧客情報を必要としている。今回の情報系システムの構築が,企業全体の方向性を変えることも有り得る。そう考えると,何とかしてバージョンアップ以外の方式で解決策を導き出したい。

 さて,どうしよう。


宮治 徹(みやじ とおる)
日本IBM アプリケーション・サービス シニアITアーキテクト
1988年に日本IBM入社。主として通信メディア系の大規模SIプロジェクトのSEを歴任。現在はインフォメーション・マネージメント部に所属し,データベース関連を中心としたアーキテクト活動を手掛けている。