「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>移行・マイグレーション]] --移行・コンバージョン方式 --[[各種、技術毎の移行性]] --[[移行見積もりの概要]] * 目次 [#f5e7fb50] #contents *概要 [#te26bb9d] 本ページでは、主にプログラム / ソース コードの移行・コンバージョンの作業範囲を扱います。 *詳細 [#f433f3a7] ここでは、移行・コンバージョン方式の種別として、「便宜上」以下の用語を使用します。 **環境移行 [#i5a3ef90] **環境移行 [#yd1a0946] 本ページでは、環境移行を、 「プログラムはそのまま利用できるが、プラットフォーム、ミドルなどが変更される場合」 とする。 プログラム / ソース コードの修正作業は発生しないが、~ サーバなどの構築作業が発生するので、DBMSの移行(データ移行、再構築)などは比較的作業量が多くなる。 -例: [[XP → Vista、 7>Windows, IE移行]]、[[IIS5.x、6.0 → IIS7.0>IISバージョンアップ(ASP移行)]]など。 **ポーティング移行 [#r4582ff9] **ポーティング移行 [#ue626a7c] 本ページでは、ポーティング移行を、 「いくらか手修正が必要になるプラットフォーム移植」 とする。 条件付コンパイルや[[ツール / ライブラリ>http://www.xlsoft.com/jp/products/mks/index.html]]、[[ソース互換性サブシステム>http://technet.microsoft.com/ja-jp/library/cc835573.aspx]]を使用することで移植性を向上させることもあるが、~ プラットフォーム間でAPIのI/Fや挙動に差異がある場合は、[[ポーティング(移植)>http://e-words.jp/w/E3839DE383BCE38386E382A3E383B3E382B0.html]]が必要になる。 -例: --Win16 → Win32 --x86 → x64 --UNIX / Linux → Windows --.NET Framework → .NET Standard、.NET Core **コンバージョン移行 [#se942713] **コンバージョン移行 [#r6c521b6] 本ページでは、コンバージョン移行を 「コンバージョン ツールを使ってソース コードをコンバージョンする場合」 とする。 ※ 「[[VB6.0からVB(.NET)へのコンバージョン]]」などが代表的。 ***手修正無しのコンバージョン移行 [#a40642b8] ***手修正無しのコンバージョン移行 [#f08bc58d] 本ページでは、手修正無しのコンバージョン移行を、 「コンバージョン ツールを使用してソース コードをコンバージョンし、そのままビルド、リリースできる場合」 とする(ただしテストは必要)。 開発ツール(ランタイム)のアップグレード(バージョンアップ)をする場合などに多い。 ただし、 -バージョンアップに伴う後方互換の打ち切り(予告)によるエラー(ワーニング)落とし -変数スコープ変更への対応 --(関数単位から、コード ブロック単位のスコープへ変更) --(修正量は少なくても、修正の際に必要な母体理解作業に工数がかかることがあるので注意が必要) などにより、若干のプログラム修正が必要になることもある。 -例: [[.NETバージョンアップ]]、[[VC++バージョンアップ]]など。 ***手修正有りのコンバージョン移行 [#f5fdb025] ***手修正有りのコンバージョン移行 [#ie63f591] 本ページでは、手修正有りのコンバージョン移行を 「コンバージョン ツールだけでは対応しきれない部分があり、その部分の手修正が必要になる場合」 とする。 開発ツール(ランタイム)の -アップグレード、 -バージョンアップ、 -コード コンバージョン などの内、 使用する3rdパーティ製コンポーネントの -「サポート期間切れ」や、 -「当該プラットフォーム上でのサポート無し」 による代替品の利用により、ライブラリのI/O、I/F変更が発生するため、修正の範囲が非常に大きくなることがあるので注意が必要。 -例:[[VB6.0からVB(.NET)へのコンバージョン]]、[[ASP.NET 1.1 → ASP.NET 2.0>.NETバージョンアップ#yed2a894]]など。 **その他の移行 [#y0e3f44e] ***開発ツール、ランタイム移行 [#p0a01994] ***開発ツール、ランタイム移行 [#w0ee9d3d] 開発ツール、ランタイムのアップグレード、バージョンアップなどが発生する。 -基本的には、上記の[[コンバージョン移行>#se942713]]と同等だが、ライブラリの変更のみの場合など、手修正のみの(コンバージョンを伴わない)場合もある。 -アップグレード、バージョンアップでないケース、例えば「.NET Framework → .NET Standard、.NET Core」は[[ポーティング移行>#r4582ff9]]に相当する。 ***再構築 [#n5d112e6] ***再構築 [#g6a9b269] 本ページでは、再構築を、 「母体システムの仕様を基にしてシステムを作り直す場合」 とする(本ページでは扱わない)。 例えば、 -COBOL → Java -.NET → Java -Access(VBA) → .NET(VB) 等の移行を行う場合。 *参考 [#p4d22609] マイクロソフト製品のサポートの提供について -[[マイクロソフト サポート ライフサイクル ポリシー>http://support.microsoft.com/lifecycle/?LN=ja]] --[[マイクロソフト プロダクト サポート ライフサイクル検索>http://support.microsoft.com/lifecycle/search/default.aspx]] ---[[マイクロソフト プロダクト サポート ライフサイクル検索(Visual Studio)>http://support.microsoft.com/lifecycle/search/default.aspx?sort=PN&alpha=Visual+Studio&Filter=FilterNO]] ---[[マイクロソフト プロダクト サポート ライフサイクル検索(.NET Framework)>http://support.microsoft.com/lifecycle/search/default.aspx?sort=PN&alpha=.NET+Framework&Filter=FilterNO]] -[[プロダクト サポート ライフサイクル - 製品一覧>http://support.microsoft.com/gp/lifeselect?LN=ja]] --[[Visual Basic 6.0>http://support.microsoft.com/lifecycle/?p1=2971]] --[[.NET Visual Studio 6.0>http://support.microsoft.com/lifecycle/?p1=3042]] --[[Visual Studio .NET 2003>http://support.microsoft.com/lifecycle/?p1=3040]] --[[すべての 開発ツール...>http://support.microsoft.com/lifecycle/?c1=501]] -[[サポート対象サービス パック(開発ツール)>http://support.microsoft.com/gp/lifesupsps#Developer_Tools]] -[[.NET Framework のサポート概要>http://msdn.microsoft.com/ja-jp/netframework/cc807061.aspx]] -[[Windows Vista、Windows Server 2008、およびWindows 7におけるVisual Basic 6.0のサポートについて>http://msdn.microsoft.com/ja-jp/vbasic/cc707268.aspx]] ---- Tags: [[:移行]]