dbSheetClient継承編(1)

今回からのテーマ「継承」には、2つの側面があります。
1つは「システムの継承」、そして、もう一つは「開発技術の継承」です。
いずれも、「2025年の崖」の課題である「レガシーシステム」や「IT人材不足」と関連します。
まず、dbSheetClientで開発したシステムについて、継承という観点から書いてみます。

レガシーシステムとは
経済産業省の「DXレポート」で、やり玉に挙がっている「レガシーシステム」とは、どんなシステムのことでしょうか。
一言でいうと、時代遅れのシステムです。
専用ハードウエア上で稼働するシステムで、近い将来、メーカーが製造を中止する可能性がある。
あるいは、廃れつつあるプログラム言語で開発されていて、内容を理解できる技術者がいなくなってきている。
サポートできる人が少なくなってきている影響は、システムの維持管理コスト上昇や改善レスポンス遅延として顕在化してきます。
「レガシーシステム」を抱える企業では、時代の波に乗るためのIT投資が減退し、しだいに競争力を失っていくことでしょう。

短命化するシステム&サービス
一世を風靡したサービスも、時代の流れに遅れると、後から現れたサービスを前に雲散霧消してしまいます。
筆者が在籍していた会社で利用していたモバイルセキュリティシステムも、某大手メーカーから突然のサービス提供終了の知らせが届き、急遽後継システムを選定しなければならなくなりました。
その後のユーザーへの対応も含めて混乱が続いたことを思い出します。
パソコンのOSとしてメジャーなWindows 10 は、大型アップデートが年に2回あります。
1年半以上アップデートしないと、サポートが受けられなくなります。
この変化の激しい時代には、あらゆるシステムもサービスも、常にアップデートしていかないと生き残れません。

汎用データベースである優位性
先の見えない時代に、真に継承すべき資産はデータです。
データさえ再利用できる形で残っていれば、「あとはどうとでもなる」と開き直るしかありません(笑)
この考えは、前述した「デヂエ」で構築したシステムをdbSheetClientに移行した時の経験からきています。
「デヂエ」では、CSVファイルを経由しなければならず、データ移行に苦労しましたが^^;
dbSheetClientは、アプリケーションサーバー(dbSheetClientサーバー)上で稼働します。
そして、情報(データ)は、データベースサーバーに格納されます。
システム管理のしやすさから独自データベースで稼働させている製品は、長い目で見ると、ブラックボックス化して「レガシーシステム」になってしまうリスクを孕んでいます。
それに対して、dbSheetClientはMicrosoftのSQLやOracle、DB2など、すぐに終焉を迎える可能性が低いメジャーなデータベースにデータが蓄積されます。
この「汎用データベースにデータが蓄積される」仕組みは、システム継承に大変有利だと思います。

テーブル設計が継承の要
dbSheetClientで開発する業務システムを「プロジェクト」と呼びます。
「プロジェクト」開発時に最も重要な点は、データを格納するテーブルの設計です。
テーブルの数をなるべく少なく抑えること、そして単独でも活用できるテーブル構成にしておくことです。
つまり、テーブル設計に当たっては、「システムの継承」を意識することが大切です。
システム開発初心者の筆者が、最初からこんなことに気が回るわけはなく、数々の痛い目に遭ったことは内緒にしておきますが(笑)
「システムの継承」について、もう少し続けます。
次回は、システムを継承する上で、ドキュメントをどう残すべきかについて書いてみます。

皆さん本日もお疲れ様でした!
おやすみなさい(挙手)