レガシー・マイグレーションのノウハウ&ドゥハウ。 計画時サービスからメインサービスまでシステムズの業務をご案内。

システムズのマイグレーションコラム

【3分解説】VBマイグレーション、簡単そうで実は難しい

長年、VB6.0等のVisual Basicで開発され、最前線で活躍してきたシステムも、MicrosoftによるOSのサポート終了の度にバージョンアップを余儀なくされています。
システム担当者は、その都度 .NET製品に実装されているアップグレードウィザードでバージョンアップを試みます。が、出来あがった変換結果には相当数のエラーとワーニングが発生しており、もう担当者個人で発生したエラーを全て潰していくのは困難です。
VBマイグレーションは、そんなVB6.0アプリシステムの移行問題を解決します。

Vol.20 VB6製アプリケーション移行の注意点 (その2)

2017.09.11

前回ご紹介したように、VB6.0からVB .NET2010以降、最新の2017への移行に関しては、サードパーティ製品のアップグレードが大きな問題となります。

実現が困難なコントロールの変換

図のように、VB6.0でよく使われていたActiveXコンポーネントなども.NETには対応していません。XXXX for WindowsFormsは、.NET Frameworkの新技術をベースに作られた新しいコントロールであるため、旧来のActiveXとの間に互換性がありません。移行ツールも用意されていないため、VB.NETへの移行にあたっては新規にアプリケーションを開発するしか方法はない、というのが実情です。

実現が困難なコントロールの変換

こうしたことから、企業の中には、ライセンス費用が削減できる.NETネイティブコントロールの変換を希望するケースも目立っています。しかし、一部機能は簡単に実現できない場合があります。例えば、InputManのNumberTextBoxは、数値のみの入力制限と表示フォーマットを実現する機能で、「Space」の押下で電卓が表示されますが、この機能は.NET標準コントロールでは実現が困難となっています。

独自変換手法で品質を確保

このように、アップグレードウィザードに依存した移行にはリスクが伴います。実際に企業が運用しているVB6製プログラムを変換すると、数万件、中には数十万件レベルのエラーが発生します。

システムズでは、抽出されたエラーを変換パターンごとにグループ化し、パターン化した問題点それぞれに対し、どのような変換が必要なのかという「変換設計(移行設計)」を行っています。さらに、特定の機能に絞って変換方法が正しいのかの確認のテストを実施した上で、独自の変換ツールを使って機械的に自動変換を行います。テスト手法についても、通常の単体・結合試験と比較すると、当社の比較検証試験では、テスト工数を大幅に削減しながら品質確保を実現しています。

当社は、ActiveXコンポーネント変更も含めた変換設計を実施、これまで多くのVB変換移行サービスを提供してきました。ある企業の作業管理システムの事例では、マイクロソフトのアップグレードウィザード後のエラー数が12,500件に及びましたが、そのうち5,600件をツールで変換し、短期間でのVBモダナイゼーションを実現しています。

↓↓ システムズのVBマイグレーションに関する、Webページはこちらをご覧ください ↓↓

【 Windowsレガシーモダナイゼーション|VBマイグレーション 】

コラム一覧へ戻る
pagetop