「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>FrontPage]] * 目次 [#z62342bf] #contents *概要 [#qff4d3d0] 本ページでは、主にプログラム / ソース コードの移行・コンバージョンの作業範囲を扱います。 *各種、技術毎の移行性 [#d8cdc495] **アプリケーションの移行 [#m7f469e0] ***ネイティブ・アプリケーション [#uf495d5e] -[[VC++バージョンアップ]] ***[[Visual Basicアプリケーション>#fd870ce6]] [#i2e6c44b] ***[[.NETアプリケーション>#yedda23d]] [#ra282ebc] **[[データプロバイダ]] [#b785ab7e] -移行に関連のある、[[データプロバイダ]]。 -使用している[[データプロバイダ]]とサポート状況を確認してください。 ***ADO.NETデータプロバイダ [#pd6f2106] -[[ADO.NETデータプロバイダ]] -[[クロスDB対応]] ***[[ADO.NET以外のデータプロバイダ]] [#b374bde6] **プラットフォーム・サーバ [#k873bd9a] ***プラットフォーム [#e05d038f] -[[64bit対応]] -[[Windows, IE移行]] -[[IEバージョンアップ情報]] ***[[シェル(スクリプト)>シェル(スクリプト)の移行]] [#k6744401] ***サーバ [#p50c887d] -[[サーバ更改(バージョン・アップ移行)]] -[[Active Directory(移行)]] -[[SQL Server のアップグレードと移行]] **[[Visual Basic関連>Visual Basic]] [#fd870ce6] ***[[VB6の保守]] [#gc60a39a] ***[[IISバージョンアップ(ASP移行)]] [#x5cb7b35] ***[[VB6.0からVB(.NET)へのコンバージョン>#obfa7481]] [#i6de723d] ***[[Office VBAアプリケーション移行>VBA移行]] [#icdf571b] -Excelバージョンアップ -[[Accessバージョンアップ]] **[[.NET Framework関連>.NET開発]] [#yedda23d] ***[[VB6.0からVB(.NET)へのコンバージョン]] [#obfa7481] ***[[.NETバージョンアップ]] [#gfc9cd8b] ***[[ASP.NET の Modernization]] [#u99f28ff] -[[ASP.NET MVC の Modernization]] -[[ASP.NET Web Forms の Modernization]] ***[[データプロバイダ>#pd6f2106]] [#ueb10148] **[[.NET Core]]関連 [#c06bf824] ***[[.NETのクロスプラットフォーム対応]] [#x422fff6] -[[.NET Standardへの移行]] -[[.NET Coreへの移行]] -[[ASP.NET Coreへの移行]] -[[.NET 5への移行]] ***[[.NET Coreバージョンアップ]] [#u750e1e2] *その他、 [#c2578ff0] **移行のトピック [#td4eeb1e] ***仮想化 [#j5c2bfb6] -[[P2V]] -[[ターミナルサービス系への移行]] ***プロダクト [#yf9e4fee] -[[OSバージョンアップ時のプロダクトの対応]]~ ※ Windowsのバージョンアップ時のOffice側の対応など。 **保守、延命 [#f5fc6cce] ***[[VB6の保守>#gc60a39a]] [#x026f2db] ***[[サポート切れOSの延命処置]] [#y8a28680] *移行・コンバージョン方式 [#f41475cc] ここでは、~ 移行・コンバージョン方式の種別として、~ 「便宜上」以下の用語を使用します。 **環境移行 [#yd1a0946] 本ページでは、環境移行を、 「プログラムはそのまま利用できるが、プラットフォーム、ミドルなどが変更される場合」 とする。 プログラム / ソース コードの修正作業は発生しないが、~ サーバなどの構築作業が発生するので、DBMSの移行(データ移行、再構築)などは比較的作業量が多くなる。 -例: [[XP → Vista、 7>Windows, IE移行]]、[[IIS5.x、6.0 → IIS7.0>IISバージョンアップ(ASP移行)]]など。 **ポーティング移行 [#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 **コンバージョン移行 [#r6c521b6] 本ページでは、コンバージョン移行を 「コンバージョン ツールを使ってソース コードをコンバージョンする場合」 とする。 ※ 「[[VB6.0からVB(.NET)へのコンバージョン]]」などが代表的。 ***手修正無しのコンバージョン移行 [#f08bc58d] 本ページでは、手修正無しのコンバージョン移行を、 「コンバージョン ツールを使用してソース コードをコンバージョンし、そのままビルド、リリースできる場合」 とする(ただしテストは必要)。 開発ツール(ランタイム)のアップグレード(バージョンアップ)をする場合などに多い。 ただし、 -バージョンアップに伴う後方互換の打ち切り(予告)によるエラー(ワーニング)落とし -変数スコープ変更への対応 --(関数単位から、コード ブロック単位のスコープへ変更) --(修正量は少なくても、修正の際に必要な母体理解作業に工数がかかることがあるので注意が必要) などにより、若干のプログラム修正が必要になることもある。 -例: [[.NETバージョンアップ]]、[[VC++バージョンアップ]]など。 ***手修正有りのコンバージョン移行 [#ie63f591] 本ページでは、手修正有りのコンバージョン移行を、 「コンバージョン ツールだけでは対応しきれない部分があり、その部分の手修正が必要になる場合」 とする。 開発ツール(ランタイム)の -アップグレード、 -バージョンアップ、 -コード コンバージョン などの内、 使用する3rdパーティ製コンポーネントの -「サポート期間切れ」や、 -「当該プラットフォーム上でのサポート無し」 による代替品の利用により、ライブラリのI/O、I/F変更が発生するため、~ 修正の範囲が非常に大きくなることがあるので注意が必要。 -例:[[VB6.0からVB(.NET)へのコンバージョン]]、[[ASP.NET 1.1 → ASP.NET 2.0>.NETバージョンアップ#yed2a894]]など。 ***開発ツール(ランタイム)のアップグレード、バージョンアップ [#w0ee9d3d] 上記の[[コンバージョン移行>#r6c521b6]]と同等に考える。~ ライブラリの変更のみの場合など、手修正のみの(コンバージョンを伴わない)場合もある。 マイクロソフト製品のサポートの提供については、下記を参照下さい。 -[[マイクロソフト サポート ライフサイクル ポリシー>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]] ***再構築 [#g6a9b269] 本ページでは、再構築を、 「母体システムの仕様を基にしてシステムを作り直す場合」 とする(本ページでは扱わない)。 *移行見積もりの概要 [#ze0be0ea] 以下、 以下、見積もり(移行見積もり)の概要について説明します。 -[[環境移行>#yd1a0946]] -[[ポーティング移行>#ue626a7c]] -[[コンバージョン移行>#r6c521b6]] の見積もり(移行見積もり)の概要について説明します。 **前提条件 [#ad436a2e] 説明の前提条件として以下のデータを使用します。 -工程別の工数比率を、~ 「設計 : 開発 : テスト = 3 : 4 : 3」~ >と仮定する。 -開発工程の工数比率を、 --「プログラミング : 単体・結合テスト = 3 : 1」 --または、「プログラミング : 単体・結合テスト = 2 : 2」 >と仮定する。 **[[移行性評価作業の作業内容]] [#d4b28da6] ***[[プログラムの移行性評価作業>移行性評価作業の作業内容#hc692dc2]] [#v22d0aa0] -[[環境移行>#yd1a0946]] -[[ポーティング移行>#ue626a7c]] -[[コンバージョン移行>#r6c521b6]] ***[[環境の移行性評価作業>移行性評価作業の作業内容#n68383c9]] [#fcba70ba] **移行工数作業 [#kca25f4a] ***環境移行作業 [#t7812433] 移行前環境を元に、移行後環境を構築する環境構築作業。 ***手修正作業 [#z1bacb75] プログラム、ソースコードの改修作業。 -[[ポーティング移行>#ue626a7c]] -[[手修正有りのコンバージョン移行>#ie63f591]] **テスト工数 [#h9ea8a7d] ***[[移行時のテスト工程の工数]] [#v9cbb98d] ***[[異種環境への移行時のテスト・ポリシー]] [#x9355163] **ポイント [#xa7760e2] -移行見積もりの際は、上記の工数を忘れずに積み上げてください。 -これらの作業工数を事前に算出するためには、[[移行性評価作業>#d4b28da6]]が重要になります。 -また、手修正作業の際、[[母体理解(リバースエンジニアリング)>リエンジ用途でリバース・ツールを利用]]的な作業工数が追加で必要になることもあります。 *参考 [#w89f022d] -Windows Server 2003のサポート切れにどう対応すべきか(前編):~ WS2003移行で泣かないための基礎知識と仮想化、パッケージ購入、スクラッチ開発のメリット/デメリット - @IT~ http://www.atmarkit.co.jp/ait/articles/1508/11/news012.html ---- Tags: [[:移行]]