Visual Basic 6.0(VB6)を使い続けるリスク・移行課題、ご存知ですか?
いまだに多くの企業で使われているVB6。継続して使用するリスクについて解説します。
Visual Basic(以下 VB)はマイクロソフトが開発したプログラミング言語で、1990年代に普及していたクライアントサーバーシステムの構築に多用されました。しかし、Webシステムが時代の主流となり、1998年に言語仕様を大幅変更してリリースされたVisual Basic 6.0(VB6)が最終バージョンとなっています。現在のVisual Basic .NET(VB.NET)は名称こそ似ているものの、中身はまったく異なるものです。
本記事ではVB6で開発された業務システムを使用し続けるリスクや、移行の課題とその解決策をお伝えします。
見過ごせない!「Visual Basic 6.0(VB6)」の継続リスク
VB6で開発された業務システムは、「開発環境」「実行環境」の両面でリスクを抱えているため、継続使用は推奨できません。どのようなリスクがあるのか、詳しくご紹介します。
開発環境のリスク
業務システムを利用するうえで、仕様変更や機能追加といった改修は日常的に発生します。しかし、VB6で開発された業務システムの改修が必要になっても、次のような理由から、安全な開発環境を整備することは困難です。
- VB6の統合開発環境(IDE)は、2008年4月8日でマイクロソフトの延長サポートが終了しています。
- その後リリースされたWindows 7以降のOSでは、統合開発環境の動作保証はありません。Windows XPでは統合開発環境が動作することが確認されていましたが、2014年4月9日 にOSのサポートが終了したため、使用にはセキュリティリスクが伴うようになりました。
- VB6の開発支援ツールとしてサードパーティが提供していた表計算、入力支援、帳票レポート支援などのコンポーネントも、次々にサポート停止を迎えています。
- VB6の技術者は減少し、保守要員の確保がますます難しくなります。
実行環境のリスク
VB6で開発された業務システムは、次の理由から、クライアント側アプリケーションの実行環境(ランタイム)にも不安があるでしょう。
- マイクロソフトは、現状Windows 7/8/10の有効期間内はランタイムをサポートすることを表明していますが、今後いつまでサポートされるかは定かではありません。
- サードパーティ製のコンポーネントに実装されているActiveXコントロールは、Windows 7以降では動作保証されていないケースがあります。今、動作しているからといって安心できません。
困った!VBマイグレーションの課題
VB6からの移行を検討する際にもっとも有力な手段は、後継言語であるVB.NETへのマイグレーションです。しかし、VB6とVB.NETは言語としての仕様が異なっており、互換性はほとんどありません。単純な変換ができないため、多くの問題が発生します。
アップグレードウィザードでの最新版への移行は不可能
マイクロソフトはかつてVB6のアプリケーションをVB.NETに移行するアップグレードウィザードを提供していましたが、近年では提供をやめています。最後に当該機能が組み込まれたVisual Studio 2008も、2018年4月10日に延長サポートが終了しました。現在、VB.NETの最新版ではアップグレードウィザードを使った移行は不可能です。ウィザードを使用してアップグレードする場合、一度VB6からVB.NET 2008にアップグレードして、さらにVB.NETの最新版に変換するという2段階が必要なのです。
プログラム生成・実行時に大量のエラーが発生
アップグレードウィザードによるコード変換では、プログラムの生成時や実行時にしばしば大量のエラーが発生します。システムの規模やコーディング内容にもよりますが、一般的な業務システムでは数万~数十万件のエラーが発生するケースも珍しくはありません。通常こうしたエラーはVB6およびVB.NETに習熟した技術者が手作業で修正する必要があります。対応できる要員は限られ、原因の調査や修正に多大な工数がかかります。
サードパーティ製品への対応の手間が膨大
VBのマイグレーションにおける最大の問題が、サードパーティ製品への対応です。VB6のアプリケーションの多くに、表計算、入力支援、帳票レポート支援などのサードパーティ製品が実装されています。しかし、VB6向けに提供されていた旧来製品のActiveXコントロールと、後継製品の.NETコントロールには互換性はなく、一般的には移行ツールも提供されていません。アップグレードウィザードを使用しても自動的に変換されないため、ほとんどの場合ソースコードの修正が必須です。それぞれの製品に対する深い知識と、膨大な手作業が必要となります。
ここが違う!シーイーシーのVBマイグレーションサービス
こうした課題を持つ企業に向けて、シーイーシーでは、VB6で構築されたシステムをVB.NETに移行するマイグレーションサービスを提供しています。独自の「.NETシステム変換ツール」を活用し、現行システムに蓄積された業務ノウハウを失わずに、戦略的投資が可能なシステムへと再生します。
現行 | マイグレーション後 | |
---|---|---|
PCクライアント | VB 6.0 サードパーティOCX(ActiveX版) VB 6.0ランタイム windows 7 | VB .NET(C# .NET) サードパーティコンポーネント(.NET版) .NET Framework windows 10 |
DBサーバー | Oracle Database,SQL Server など | Oracle Database,SQL Server など |
シーイーシーのVBマイグレーションの特長
1.独自の「VB.NETシステム変換ツール」
マイクロソフト製の移行ツールに加えて、シーイーシーが独自に開発した「VB.NETシステム変換ツール」を活用し、平均変換率90%以上という高い変換率を実現します。
VB.NETコントロールに準拠したソースコードに変換するため、高い可読性、保守性を維持できます。
■ 手作業によるシステム移行の軽減
2.豊富なサードパーティ製品の移行経験
シーイーシーは、サードパーティ製コンポーネントの移行実績も豊富です。ActiveXコントロールからの変換で発生する「VB.NETコントロールへのデザイン移行」にもスムーズに対応し、変換ツールによる「VB.NET用コントロールに対応したコード修正」を実現します。VB.NET対応製品への変換はもちろんのこと、ベンダーからVB.NET対応製品が提供されていない場合には、同等機能のコンポーネントに変換します。また、ご要望に応じてサードパーティ製品の使用を廃止し、VB.NET標準コンポーネントへの移行にも対応します。
3.データベース変更、言語変更、Web化にも柔軟に対応
VB.NETへのコード変換だけでなく、データベースのバージョンアップや、Oracle DatabaseからSQL Serverなどへのデータベース変更、SQL変換も対応可能です。
また、VB.NETへの移行だけでなく、C#.NETへの移行や、ASP.NETへの移行によるWeb化などにも対応します。
4.品質を重視したアプローチでリスクを低減
システムのマイグレーションを成功させる鍵は、非互換機能を正確に把握することです。非互換機能を把握できていなければ、テストフェーズで予想外の結果を招きます。シーイーシーでは、調査・分析を重視したアプローチにより、潜在する移行リスクを可視化し、最適な対策を早期に実施します。
また、VBマイグレーションでは基本的に「ロジックの変わらないプログラムを変換」するため、効率的にテストを進め、効率的にバグを発見する必要があります。VBマイグレーションの特性を踏まえた品質保証プロセスにより、低リスク、高品質なマイグレーションを実現します。
5.便利なワンストップ/トータルソリューション
アセスメントから、設計・開発・テスト・導入、運用・保守に至るまで、すべての移行プロセスにワンストップで対応します。
最適なインフラ環境の構築・セキュリティ対策・アプリケーション改修・データ移行など、マイグレーションにまつわるお客様のご要望に、トータルにお応えします。
サービス提供の流れ
移行診断は無料で行います。本格的に着手する前に概算見積をご確認いただけるので安心です。
無料診断 | ナレッジベースでの移行診断サービスです。 ヒアリングシート、ソースコードをご提供いただき、ソース資産に対しての影響度合いを特定し、「移行インパクトの分析」「移行方式のご提案」「移行費用・期間の算出」を実施いたします。 現行システムの移行インパクトを可視化し、最適な移行プランを提案いたします。 | |
---|---|---|
調査分析・POC | 対象システムの詳細調査を実施します。 ソース資産に対して、調査・分析・パターン設計を行い、適切な対策を計画段階で打つことを重視しています。 また、必要に応じてパイロット変換を行います。 | |
お見積り | 本格対応のお見積りを提示いたします。 | |
本格対応 | 自動変換 | マイクロソフト社製移行ツール・独自に開発したVB.NETシステム変換ツールを利用し、自動変換を実施いたします。 |
手動変換 | 自動変換不可部分(非互換によるエラー/ワーニング、API差し替えによるプログラム修正など)や帳票フォーム、現行サードパーティOCX同等機能への手動変換を実施いたします。 | |
動作確認 | 新旧システム画面の動作確認(疎通確認)を実施いたします。 |
VB6で構築された業務システムは広く普及しましたが、開発環境のサポート終了から10年以上の年月が経過し、今後の使用の継続には多大なリスクを伴います。シーイーシーは独自ツールを開発して、信頼性の高いVBマイグレーションサービスを提供しています。VB6のマイグレーションでお困りの企業の方は、どうぞお気軽にお問い合わせください。
VB.NETへの移行に関してはこちらの記事でも詳しく紹介しています。
VB.NETへの移行に成功した事例の資料ダウンロードはこちら
相談会も随時開催しています。
関連サービス情報
成長戦略としてのマイグレーション
-プロジェクト成功のポイント-
事例でひも解くマイグレーション
老朽化した既存システム(レガシーシステム)の維持管理・運用は、限界寸前!解決策として注目されている「マイグレーション(migration)」を実現させるための具体的な「成功事例」「失敗事例」をご紹介。内容
- ビジネスを推進していくなかで浮かび上がった2つの課題
- マイグレーションを成長戦略の一環として定めた2つの方針
- ゴール到達のための優先順位を定め、ロードマップを描く
- IT刷新の手段としてマイグレーションを選択した経緯
その他マイグレーションを検討したいシステム