Microsoftが開発し、その汎用性の高さから多くの開発環境に採用されてきたプログラミング言語のVB(Visual Basic)。
現行のVB.netではなく、VB6を使い続ける企業は少なくありませんが、大きなリスクを抱えている運用体制であるとも言えます。
今回はVB6の運用に伴うリスクや、VB.netへの移行(VBマイグレーション)についてご紹介していきます。
またベトナムオフショア開発でコスト削減に成功した実績も紹介します。
なぜVB6の継続運用が問題なのか
サーバーシステムの構築やアプリケーション開発に幾度となく使用されてきたVB6.0ですが、すでに統合開発環境(IDE)のサポートは終了しています。
サポートの終了したプログラミング言語を使い続けることとしては、以下の3つの課題が挙げられます。
エンジニアの減少
1つは、VB6を使用することができるエンジニアを見つけるのが年々難しくなるという問題です。
エンジニアの数は日本でも増加傾向にあるとは言え、若手エンジニアの多くはVB.netのような現行のプログラミング言語にしか対応していません。
10年以上も前にサポートを終了した言語に造詣があるエンジニアはベテランしかいないわけですが、彼らを見つけるためのコストは大きくなるばかりです。
安定した維持管理を継続するには、難しい環境になってくるのです。
セキュリティリスクの増大
また、サポート終了ずみのプログラミング言語にはセキュリティサポートが提供されないため、社内システムの脆弱性は高まるばかりです。
また、老朽化したシステムの運用によるセキュリティグレードの低下に伴い、サイバー攻撃の脅威はそれに反比例するように高まりを見せています。
サイバー攻撃は一度行われると、会社の情報漏洩やサーバー、サービスの停止など、社内のあらゆる機能に甚大な被害をもたらす可能性があります。
また、社員のプライバシーの侵害や、取引のあるクライアントや関連会社の情報漏洩につながる可能性もあり、そうなると会社経営にも大きな影響を与えます。
システムのアップデートの必要性は、セキュリティの面においても重要な地位を占めるのです。
アプリケーションの互換性
VB6に互換性があったサードパーティのソフトも、徐々にサポート対応を終了している点も見逃せません。
多くのアプリはVB.netへの移行を完了しており、VB6で予期せぬエラーが発生しても、アップデートなどの恩恵を受けることができないというわけです。
従来の業務フローに不可欠なアプリなどであった場合、こういったエラーの発生は業務そのものに大きな損失をもたらしかねません。
このようにVB6.0の継続運用は、今後も多くの面でパフォーマンスの低下が見込まれているのです。
VB.netへの移行(VBマイグレーション)が進むVB6
VB6の運用コスト増大に伴い、徐々に進められているのがVB.netへのVBマイグレーションです。
マイグレーションとは
マイグレーションは、システムを新たにフルスクラッチで組み上げるのではなく、既存のシステムをそのままに最新の環境へとアップデートを行う作業です。
VB6の場合、最新のVBシリーズであるVB.netへのVBマイグレーションが一般的で、移行ツールを用いた効率的なアップデートが進められています。
マイグレーションの場合、現行のシステムを用いた業務フローをそのまま新しい環境においても継続して運用することができます。
費用を最小限に抑えることができるだけでなく、新たな業務フローを検討・実施するための時間を削減することも可能です。
既存のノウハウを失うことなく、速やかな移行作業も実現しやすいということで、好まれているアプローチです。
システムエラーへの備えを万全に
VB6からVB.netへのVBマイグレーションを検討する上で、事前に考慮しておきたいのがシステムエラーの問題です。
大部分の移行作業はツールによって自動的に行うことができますが、予期せぬエラーやシステムの改変を迫られるケースもあるため、手動による変換作業も発生します。
また、現在運用しているアプリケーションが、VB.netの環境に対応しているかどうかも確認が必要です。
サードパーティ製アプリの場合、VB6とVB.netへの移行に際し、その製品のVB.net対応バージョンを新たに用意しなければならないケースもあります。
このように、VB.netへのVBマイグレーションをスムーズに行う上では、事前の移行準備をしっかりと整えておく必要があります。
システムのどの範囲までマイグレーション可能で、実行するのか、現在運用しているアプリは新しい環境でも動作するのかなど検討し、想定外のエラーを最小限にとどめましょう。
Visual Basicマイグレーション移行注意点
- 0からVisual Studio 2017へ直接アップグレード不可
- 0でのサードパーティとVisual Studio 2017のサードパーティの仕様に互換がない
- 見積工数と実際の工数が異なる
(動作確認のみ20~30%)
ONETECHのVB.NETマイグレーション実績
ONETECHではベトナムオフショア開発でVB .NETマイグレーションに対応しております。オフショア開発のメリットは、マイグレーションを進める上で壁となる、エンジニア不足やコストを克服できることです。
とくに機能開発ではなく新言語への書き換えなどは理解コストを抑えることができ効率よく低コストで対応可能です。
弊社では製造業界、水産業界、運輸業界、医療界などさまざまな業界の基幹システムのマイグレーションを受けております。
下記では一例をご紹介します。
Visual Basicマイグレーションの実績
- VisualBasic2017への変換
- 規模:430KLOC以上
- 対象
- WindowFormアプリケーション
- データベース:Oracle9i → Oracle19c
- サイズ:51人月
- 対応期間:7ヶ月
- 作業範囲
- マイグレーション
結合テスト仕様書(動作テスト)は顧客から提出より動作確認実施
クライアントの 現行の製造・在庫・販売管理システムについてVB6から.Netへの移行を行いWindows10での 動作を可能としました。VB6.0での継続には様々なリスクをマイグレーションすることで解消しました。
オフショアでの開発実績
業界 | システム名 | システム概要 | 規模 (人月) |
ステップ数 (KLOC) |
環境 | |
事例1 | 製造業界 | 製造業 基幹システム |
製造業向け 生産管理 営業管理 会計管理 |
51 人月 |
430 KLOC |
WindowsXP → Windows10 64bit Oracle 9i →Oracle19c |
事例2 | 医療業界 | 歯科予約 アプリケーション |
歯科クリニック患者予約管理 | 13 人月 |
120 KLOC |
Windows XP → Windows10 64bit PostGresSQL Cloud |
事例3 | 運送業界 | 運送業 基幹システム |
運送業向け 車両管理 営業管理 会計管理 |
159 人月 |
1048
KLOC |
Windows XP → Windows7 32bit Oracle 10g →Oracle19c (AWS) |
下記のページもご覧ください。
オフショア開発を利用した場合の費用感
オフショア開発を利用することで日本国内のベンダーと比較すると最大50%程度(当社実績)のコストダウンが実現できまさす。
業界 | システム名 | システム概要 | 規模 (人月) |
ステップ数 (KLOC) |
環境 | |
事例1 | 製造業界 | 製造業 基幹システム |
製造業向け生産管理営業管理会計管理 | 51 人月 |
430 KLOC |
WindowsXP → Windows10 64bit Oracle 9i →Oracle19c |
事例2 | 医療業界 | 歯科予約 アプリケーション |
歯科クリニック患者予約管理 | 13 人月 |
120 KLOC |
Windows XP → Windows10 64bit PostGresSQL Cloud |
事例3 | 運送業界 | 運送業 基幹システム |
運送業向け 車両管理 営業管理 会計管理 |
159 人月 |
1048 KLOC |
Windows XP → Windows7 32bit Oracle 10g →Oracle19c (AWS) |
ご興味いただけましたらお気軽に見積依頼をください。ソフトウェアのプログラムのコード行数と
利用しているライブラリの情報を教えていただけましたらすぐに概算見積もりを提示可能です。
おわりに
VB6の運用には大きなリスクとコストが伴うようになっており、その負担は年々大きくなってきています。
そのためVB.netへのVBマイグレーションが必須となっており、そのための備えを今からしっかりと検討しておく必要があるでしょう。