知識マップ: VB6 / Access業務アプリの延命と移行 ── 残す・包む・置き換えるの判断表

記事「VB6 / Access業務アプリの延命と移行 ── 残す・包む・置き換えるの判断表」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

VB6とAccessという2大レガシー資産を、残す・包む・置き換えるという3択の判断枠組みで整理する記事です。VB6は32bit専用でランタイムはWOW64の中でのみ動作し、AccessのデータエンジンであるACEもOfficeのビット数と一致させる必要があるため、Office 2019/Microsoft 365以降の既定64bit化はActiveXコントロールとの非互換を招きます。共有フォルダー上での.accdb複数人利用はファイル破損のリスクを伴い、バックエンドとフロントエンドの分割やSQL Serverへのリンクテーブル化がその軽減策になります。置き換えを選ぶ場合も、データ移行の検証と業務ロジックの棚卸しを済ませたうえでストラングラーパターンによる段階移行を進めることが実務的だとしています。

VB6/Access業務アプリの延命と移行の知識マップVB6が32bit専用でWOW64上でのみ動作すること、AccessのACEがOfficeのビット数に縛られ64bit化したOfficeがActiveXと非互換になること、共有フォルダーでの複数人利用がファイル破損リスクを伴いフロントエンド/バックエンド分割とSQL Serverへのリンクテーブル化がその対策になること、残す・包む・置き換えるの判断枠組みと段階移行の関係を示す図前提とする前提とする前提とする前提とする前提とする両立しない実装を担う前提とするに保存される前提とする原因になり得る軽減する軽減するより先に行うべき推奨される対応より先に行うべき前提とするより先に行うべき利用する利用する推奨される対応推奨される対応Visual Basic 6.0(VB6)Access Database Engine(ACE)残す・包む・置き換えるの判断VB6ランタイムWOW64bitness一致要件ActiveXOfficeの既定64bit化OCXAccessデータベースファイルVBA(Visual Basic for Applications)共有フォルダーでの複数人同時利用リスクAccessファイルの破損フロントエンド/バックエンドの分割SQL ServerへのアップサイズCOM LocalServer(別プロセスCOMサーバー)業務ロジックの棚卸しストラングラーパターンによる段階移行データ移行の検証COM(コンポーネントオブジェクトモデル).NET(Core以降)

概念間の関係(全22件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

Visual Basic 6.0(VB6)
COMコンポーネントを型付きで呼び出せる、レガシーなVisual Basicの開発環境・言語。
Access Database Engine(ACE)
.mdb/.accdbファイルを読み書きするランタイムコンポーネントのこと。Jetの後継にあたる。
残す・包む・置き換えるの判断
レガシー資産を残すか、一部だけ包んで延命するか、置き換えるかを判断する3択の枠組みのこと。
VB6ランタイム
VB6アプリケーションの実行に必要なランタイムコンポーネント群のこと。同梱されるWindowsのサポート期間中は動作対象となる。
ActiveX
実務ではCOMベースのコントロールやその周辺資産をまとめて指す言葉として使われる技術群。特に.ocx形式のUIコントロールやIE/コンテナへ埋め込む部品を含むことが多い。
Officeの既定64bit化
Office 2019およびMicrosoft 365から、既定のインストールが64bit版に変わったことのこと。
OCX
ActiveXコントロールの実体を持つ.ocx形式のファイル。in-procの形態でホストプロセスに読み込まれる。
Accessデータベースファイル
Accessのデータを格納する.mdb(旧形式)または.accdb(2007以降)のファイルのこと。
VBA(Visual Basic for Applications)
Officeアプリケーションに組み込まれたBASIC系のマクロ言語で、ExcelやAccessなどからCOMコンポーネントを呼び出せる。
共有フォルダーでの複数人同時利用リスク
共有フォルダー上に置いた.accdbを複数人が同時に開く運用に伴う、破損・パフォーマンス低下のリスクのこと。
フロントエンド/バックエンドの分割
テーブルを持つバックエンドと、画面・クエリを持つフロントエンドにAccessデータベースを分割し、フロントエンドは各ユーザーの端末にコピーして配置する設計のこと。
SQL Serverへのアップサイズ
Accessのテーブルを SQL Server / Azure SQLへ移行し、Access側は元のテーブルをリンクテーブルとして参照する構成へ切り替えることのこと。
COM LocalServer(別プロセスCOMサーバー)
COMサーバーをEXEとして別プロセスで動かす形態。bitnessの壁を越えたり、クラッシュを隔離したりできる。レジストリのCLSID配下のLocalServer32キーにEXEパスを登録する。
業務ロジックの棚卸し
VB6のフォーム/モジュールやAccessのVBA/マクロ/クエリの中身を機能単位で洗い出し、単なる画面か業務ロジックとデータを抱えた境界面かを見分ける作業のこと。
データ移行の検証
オートナンバーの採番タイミングの違いなど、移行後にしか顕在化しない差分を、本番データの複製を使った往復テストで先に確かめることのこと。
.NET(Core以降)
.NET Frameworkの後継となる、クロスプラットフォーム対応の.NETランタイム(.NET 5以降)。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。