知識マップ: VB6 / Access業務アプリの延命と移行 ── 残す・包む・置き換えるの判断表
記事「VB6 / Access業務アプリの延命と移行 ── 残す・包む・置き換えるの判断表」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
VB6とAccessという2大レガシー資産を、残す・包む・置き換えるという3択の判断枠組みで整理する記事です。VB6は32bit専用でランタイムはWOW64の中でのみ動作し、AccessのデータエンジンであるACEもOfficeのビット数と一致させる必要があるため、Office 2019/Microsoft 365以降の既定64bit化はActiveXコントロールとの非互換を招きます。共有フォルダー上での.accdb複数人利用はファイル破損のリスクを伴い、バックエンドとフロントエンドの分割やSQL Serverへのリンクテーブル化がその軽減策になります。置き換えを選ぶ場合も、データ移行の検証と業務ロジックの棚卸しを済ませたうえでストラングラーパターンによる段階移行を進めることが実務的だとしています。
flowchart LR
accTitle: VB6/Access業務アプリの延命と移行の知識マップ
accDescr: VB6が32bit専用でWOW64上でのみ動作すること、AccessのACEがOfficeのビット数に縛られ64bit化したOfficeがActiveXと非互換になること、共有フォルダーでの複数人利用がファイル破損リスクを伴いフロントエンド/バックエンド分割とSQL Serverへのリンクテーブル化がその対策になること、残す・包む・置き換えるの判断枠組みと段階移行の関係を示す図
vb6["Visual Basic 6.0(VB6)"]
ace["Access Database Engine(ACE)"]
keep_wrap_replace_decision["残す・包む・置き換えるの判断"]
vb6_runtime["VB6ランタイム"]
wow64["WOW64"]
bitness_match_requirement["bitness一致要件"]
activex["ActiveX"]
office_64bit_default["Officeの既定64bit化"]
ocx["OCX"]
access_database_file["Accessデータベースファイル"]
vba["VBA(Visual Basic for Applications)"]
shared_folder_multiuser_risk["共有フォルダーでの複数人同時利用リスク"]
access_file_corruption["Accessファイルの破損"]
frontend_backend_split["フロントエンド/バックエンドの分割"]
sql_server_upsizing["SQL Serverへのアップサイズ"]
com_localserver["COM LocalServer(別プロセスCOMサーバー)"]
business_logic_inventory["業務ロジックの棚卸し"]
strangler_pattern_migration["ストラングラーパターンによる段階移行"]
data_migration_verification["データ移行の検証"]
com["COM(コンポーネントオブジェクトモデル)"]
dotnet[".NET(Core以降)"]
vb6 -->|"前提とする"| vb6_runtime
vb6_runtime -.->|"前提とする"| wow64
vb6 -.->|"前提とする"| bitness_match_requirement
ace -->|"前提とする"| bitness_match_requirement
activex -->|"前提とする"| bitness_match_requirement
office_64bit_default -.->|"両立しない"| activex
ocx -->|"実装を担う"| activex
access_database_file -.->|"前提とする"| ace
vba -.->|"に保存される"| access_database_file
shared_folder_multiuser_risk -->|"前提とする"| access_database_file
shared_folder_multiuser_risk -.->|"原因になり得る"| access_file_corruption
frontend_backend_split -->|"軽減する"| access_file_corruption
sql_server_upsizing -->|"軽減する"| access_file_corruption
frontend_backend_split -->|"より先に行うべき"| sql_server_upsizing
com_localserver -.->|"推奨される対応"| bitness_match_requirement
business_logic_inventory -->|"より先に行うべき"| strangler_pattern_migration
keep_wrap_replace_decision -->|"前提とする"| business_logic_inventory
data_migration_verification -->|"より先に行うべき"| sql_server_upsizing
vb6 -->|"利用する"| com
dotnet -.->|"利用する"| com_localserver
keep_wrap_replace_decision -->|"推奨される対応"| bitness_match_requirement
keep_wrap_replace_decision -->|"推奨される対応"| shared_folder_multiuser_risk
概念間の関係(全22件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- Visual Basic 6.0(VB6)はVB6ランタイムを前提とします。
- VB6ランタイムはWOW64を前提とします。
- Visual Basic 6.0(VB6)はbitness一致要件を前提とします。
- Access Database Engine(ACE)はbitness一致要件を前提とします。
- ActiveXはbitness一致要件を前提とします。
- Officeの既定64bit化はActiveXと両立しません。
- OCXはActiveXの実装を担います。
- AccessデータベースファイルはAccess Database Engine(ACE)を前提とします。
- VBA(Visual Basic for Applications)はAccessデータベースファイルに保存されます。
- 共有フォルダーでの複数人同時利用リスクはAccessデータベースファイルを前提とします。
- 共有フォルダーでの複数人同時利用リスクはAccessファイルの破損の原因になることがあります。
- フロントエンド/バックエンドの分割はAccessファイルの破損を軽減します。
- SQL ServerへのアップサイズはAccessファイルの破損を軽減します。
- フロントエンド/バックエンドの分割はSQL Serverへのアップサイズより先に行うべきです。
- COM LocalServer(別プロセスCOMサーバー)はbitness一致要件に対する本記事の推奨です。
- 業務ロジックの棚卸しはストラングラーパターンによる段階移行より先に行うべきです。
- 残す・包む・置き換えるの判断は業務ロジックの棚卸しを前提とします。
- データ移行の検証はSQL Serverへのアップサイズより先に行うべきです。
- Visual Basic 6.0(VB6)はCOM(コンポーネントオブジェクトモデル)を利用します。
- .NET(Core以降)はCOM LocalServer(別プロセスCOMサーバー)を利用します。
- 残す・包む・置き換えるの判断はbitness一致要件に対する本記事の推奨です。
- 残す・包む・置き換えるの判断は共有フォルダーでの複数人同時利用リスクに対する本記事の推奨です。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。