ブログ

【事例紹介】古いVB6.0システムを作り替えて将来性のあるシステムに!

スタッフブログ

2023.05.09

皆様、こんにちは!
広報担当の鎌倉です。

この度は、弊社システム開発部社員が行った基幹業務システムのマイグレーション(作り替え)事例をご紹介いたします!

 

基幹業務システムの開発者によるサポートを継続できなくなった

20年ほど前にとあるシステムエンジニアに基幹業務システムを独自開発していただき、サポートを行ってもらっていたとあるお客様。
ところが、開発者が廃業となり、サポートを継続できなくなったとのこと。

新しくサポートをお願いできる先を探していたところで、アイクラフトにご相談をいただきました!
また、サーバーも古くオンプレミスサーバーのため、クラウドサーバーへのリプレースについても併せて進めていくことになりました。

 

サポート実施にあたり

今ある基幹業務システムはVB6.0という古いプログラミング言語で作られていました。

VB6.0とは

VB(Visual Basic)は、Microsoftが開発、提供していたプログラミング言語です。
最初のバージョンであるVBが発売されたのは1991年で、VB6.0は1998年に登場しました。

現在でも、VB6.0で開発されたシステムは、まだまだ多くの企業で動作をしています。
ですが、VB6.0とその統合開発環境(IDE)のサポートは2008年に終了しています。
さらに、サードパーティ製のVB6.0に関する開発支援ツールもほとんどがサポート期限切れになっているようです。

サポートが全面的に終了しているVB6.0で作られたシステムは、日々の機能追加や修正を行っていくことすらリスクが生じます。

 

VB6.0を使い続けるリスク

サポートが終了しているVB6.0を使い続けるリスクについて、2つご紹介いたします。

  • セキュリティのリスク
    VB6.0統合開発環境のサポートが切れていることもあり、今後新たな脆弱性が発見されたとしても、Microsoftからセキュリティ更新プログラムが提供されることはありません。
    つまり、VB6.0を使用したシステムを使い続けたり、開発環境を使ってアプリケーションを修正したりすること自体がセキュリティリスクを増やすことにつながります。
    (情報漏洩、不正アクセスなど)
  • セキュリティイメージ

  • 仕様に関するリスク
    VB6.0は1998年にリリースされたこともあり、古い仕様も多く残っております。
    古い仕様の中には、「すでに使われていない技術」や「現在ではメジャーではない技術」を使っての開発継続というリスクがあります。
    今後アイクラフトでサポートを行っていくことになっても、VB6.0という仕様を理解している人でなければ、サポートを行うことができません。

これらのリスクから、まずはVB6.0をVB.NETというVBの後継となるプログラミング言語に変換し、
将来性のあるシステムへとバージョンアップを行うことになりました!

 

担当者がぶつかった壁

この案件については、弊社システム開発部社員である中川さんがヒアリングから納品まで担当しました。
その中でも、難しかった部分や苦労した部分について伺ってみました。

作業中の中川さん

新しい言語「VB.NET」への書き換え作業

VB.NETはVBの後継となる言語とはいえ、VB6.0とは全く異なる言語になっているためそのまま変換することは不可能です。
Visual Studio Codeを使用すると、ある程度自動的にコードを置き換えてくれますが、大量のエラーが発生します。
発生したエラーを手作業で修正していくことが、一番大変だった作業と話しておられました。

作業中の手元

VB6.0の特殊な仕様

先述にて、仕様に関するリスクについて触れた通り、VB6.0には、古い仕様が多く残っており、最新の言語では再現できないものも現れてきました。
例えば、表形式のデータを表示する際、以前のシステムではAxMSFlexGridというグリッドコントロールでグリッド線を表示させていました。
※グリッドコントロールとは、表形式のデータを表示させるためのユーザーインターフェースコントロールの一種です。

AxMSFlexGridはVB6.0およびそれ以前のバージョンで使用されていた古い技術のため、DB.NETで利用しようとすると、動作が不安定になってしまいます。
そのため、新しくDetaGridViewというグリッドコントロールに置き換えたところ、DB.NETでもVB6.0と同様の見た目でグリッド線を表示させることができました。

このように、いかにお客様が使う際、ストレスを感じさせずに今まで通り便利にシステムを使ってもらえるように開発するかという点が難しかったと話されました。

 

バージョンアップの効果

VB.NETへの書き換えを行ったことでWindows11にも対応できるようになりました。
VB6.0では、Windows11の動作はサポートされていません。
将来性のあるシステムに進化したと言えます!

お客様の業務がより効率化できるよう、VB.NETへの言語書き換えに合わせて、何か所か機能の改修についても行いました。
これからは、アイクラフトにてお客様のシステムをサポートしていきます。
現在、少しでもソフトウェア開発周りのお悩みがあるお客様はお気軽に以下リンクよりお問い合わせくださいませ!

 
また、初めに検討していたオンプレミスサーバーからクラウドサーバーへのリプレースも行ったことで、
そのサーバーを置いていた社内のスペースを有効活用することができるようになり、遠隔での保守も容易に行えるようになりました!

弊社ではソフトウェア開発サービス以外にも、サーバ保守、運用などを行っている『iSTAFF24』サービスがございます。
ご興味のある方は以下リンクより是非ご覧ください!

スタッフブログの関連記事