前回の記事において、「IBM i(AS/400)」のアプリケーション資産を不健康のまま近代化する危険性と、その対処のための健康診断項目の整理、解析ツールを用いた具体的な健康診断の例を挙げさせていただいた。
今回はその結果を受けてのアプリケーション資産の健康改善、ダイエット方法を解説する。
不要な贅肉は健康を害さず落とそう
不要な資産のうち比較的簡単に特定できるものに、非稼働オブジェクトが挙げられる。「IBM i」OSでは、オブジェクトの最終稼働日情報と稼働日数が記録されているため、使用されていないオブジェクトの特定が簡単なためである。
だが、単純に廃止して削除することはできない。例えばプログラムオブジェクトのある条件において、呼びだされる子プログラムであったり、ファイルであったりする場合があるからである。廃止に伴う影響を分析、その他のオブジェクトに問題が無いことを確認して初めて削除が可能となる。贅肉のみを落とすつもりが必要な栄養素も欠乏し健康を害すのと同様にシステムのスリム化も用心が必要なのである。
それでは、不要な資産の例を挙げてみよう。
- (1)一定期間、非稼働である資産…プログラム、ファイル、その他のオブジェクト
- (2)プログラムソースコードの中で使われていない箇所
- (3)ファイルフィールドで使用されていないもの
- (4)別名で中身が同じ設定の資産
- (5)別の資産で包括できる資産
(2)以降に関しては、資産の廃止や削除の影響が前述の(1)よりもさらに大きいため、難易度が高い。
同じような持ち物は整理しよう
新規プログラムを開発する際、既存のプログラムをコピー、新しい仕様を満たすロジックに一部を変更するという手法を取ることも多いと思う。開発スピードが非常に速く済むというメリットがあるが、元のロジックがそのままのルーティンは共通化できる可能性もあり、冗長資産となっている。
それでは、このような冗長資産の例を挙げてみよう。
- (6)外部、内部ルーティンの構成が80%以上同じプログラム群
- (7)複数のプログラムで用いられている同じコーディングの内部ルーティン
- (8)アクセスファイル群とその処理(入出力、更新など)が一致しているプログラム
- (9)同一ファイルに対するプログラム内部に記述されたフィールド変数
- (10)複数のファイルに存在する同じ内容の関連フィールド群(例:製品コードと製品名)
これらは、不要資産より抽出は難しいものもあり、削除にあたっての影響調査も必須である。