Open棟梁Project - マイクロソフト系技術情報 Wiki
本ページでは、主にプログラム / ソース コードの移行・コンバージョンの作業範囲を扱います。
ここでは移行・コンバージョン方式の種別として、便宜上以下の用語を使用します。
本ページでは、環境移行を、「プログラムはそのまま利用できるが、プラットフォーム、ミドルなどが変更される場合」とする。 プログラム / ソース コードの修正作業は発生しないが、サーバなどの構築作業が発生するので、DBMSの移行(データ移行、再構築)などは比較的作業量が多くなる。
例: [[XP → Vista、 7>]]、[[IIS5.x、6.0 → IIS7.0>]]など。
本ページでは、ポーティング移行を、「いくらか手修正が必要になるプラットフォーム移植」とする。 条件付コンパイルやツール / ライブラリ、ソース互換性サブシステムを使用することで移植性を向上させることもあるが、プラットフォーム間でAPIのI/Fや挙動に差異がある場合は、ポーティング(移植)が必要になる。
例:Win16 → Win32、x86 → x64、UNIX / Linux → Windowsなど。
本ページでは、コンバージョン移行を「コンバージョン ツールを使ってソース コードをコンバージョンする場合」とする。
本ページでは、手修正無しのコンバージョン移行を、「コンバージョン ツールを使用してソース コードをコンバージョンし、そのままビルド、リリースできる場合」とする(ただしテストは必要)。 開発ツール(ランタイム)のアップグレード(バージョンアップ)をする場合などに多い。
ただし、
バージョンアップに伴う後方互換の打ち切り(予告)によるエラー(ワーニング)落とし
変数スコープ変更への対応(関数単位から、コード ブロック単位のスコープへ変更) (修正量は少なくても、修正の際に必要な母体理解作業に工数がかかることがあるので注意が必要)
などにより、若干のプログラム修正が必要になることもある。
例: [[.NETバージョンアップ]]、[[VC++バージョンアップ]]など。
本ページでは、手修正有りのコンバージョン移行を、「コンバージョン ツールだけでは対応しきれない部分があり、その部分の手修正が必要になる場合」とする。
開発ツール(ランタイム)のアップグレード、バージョンアップ、コード コンバージョンなどの内、 使用する3rdパーティ製ライブラリの「サポート期間切れ」や、「当該プラットフォーム上でのサポート無し」 による代替品の利用により、ライブラリのI/O、I/F変更が発生するため、修正の範囲が非常に大きくなることがあるので注意が必要。
例:[[VB6.0 → VB(.NET)移行]]、[[ASP.NET 1.1 → ASP.NET 2.0]]など。
上記の3.のコンバージョン移行と同等に考える。 ライブラリの変更のみの場合など、手修正のみの(コンバージョンを伴わない)場合もある。
マイクロソフト製品のサポートの提供については、下記を参照下さい。
再構築
本ページでは、再構築を、「母体システムの仕様を基にしてシステムを作り直す場合」とする(本ページでは扱わない)。