Great Migrations Incremental Upgrade Cookbook
Stages 0: Source Complete, Ready to Translate 1: Translate Complete, Ready to Assess – Prototype Translations – Optimize type inference, minimize late bindings 2: Build Complete, Ready for Reengineering – Prototype Translations 3: Reengineering Complete, Ready for Testing – Structural Matters: Integration, Consolidation, Simplification – COM API replacements 4: Verification Complete, Ready for Cut-Over – White box testing and debugging – Optimization
Prototype Translations COM Binary API 1 COM Binary API 2 COM Binary API 3 Code gmStudio.NET Project Code Stub Code API 1 Stub Code API 2 Stub Code API 3 Source Project
Prototype Translations.NET Project Code Stub Code API COM Binary API Code Source Project Code Source Project Code.NET Project Inter-dependent VB6 Projects Stand-alone.NET Projects gmStudio
Integrated Prototype Translations gmStudio Code Source Project Code Source Project COM Code.NET Project Code.NET Project Stub Code.NET Project Stub Code.NET Project COM
gmStudio Code Source Project Code Source Project COM Code.NET Project Code.NET Project Upgrade.NET COM Upgrade.NET Integrated, Upgraded Translations
Opportunities: Integrated Build Replace stub API files with assemblies (IHC) Consolidate shared code files Deal with circular references Deal with weak typing Other Build Standards
Opportunities: Re-engineering COM Replacements Win32 Replacements Dynamic Code Rework Complex Collections Dictionary-Dictionary Language Issues Other Coding Standards
Next Steps Current Results – VB6/ASP Opportunities – Integrated Build (VB6 only) – Integrated Build (VB6/ASP) – Re-Engineering (VB6 only) – Re-Engineering (VB6/ASP) – Verification Support