This post is currently in a preview version and will be further updated in the near future
The [InfoSet] LegacyToWindows Migration series is a collection of various information resources on migrating from Legacy to Windows. In this blog, mapping sets are presented.
A mapping set is a formal description of how a code conversion can be implemented, especially when manual pre- and/or post-processing is required. These formal descriptions can also be used in conjunction with a structured migration project approach, such as the Legacy-To-Windows Migration Project Blueprint.
Mapping sets describe how to convert from the left side (migration source) to the right side (migration destination). This specification can refer to different levels: Code statements, activity substitutions, remodeling, to name a few examples.
The mapping set can be divided into the following components:
|The left side||What is addressed from the migration source|
|The pre-work||Preparatory steps intended for conversion|
|The conversion||How the code conversion is to be performed|
|The post-work||final work steps that are needed after the code conversion is done|
|The right side||The migration target that is to be achieved as a result|
In case a formal documentation has to be created during the planning and implementation of a Legacy-To-Windows migration, the following pattern can be used for example
|Source Description||If needed, pre-work steps||integration within the conversion step||If needed, post-work steps||expected result description|
Some examples are given below
The mapping set is derived from a code conversion problem and describes the way it is handled. Also, it may be that a code conversion can be implemented in different ways, but implementation standards should be followed.
Based on existing mapping sets, a prototypical Legacy-to-Windows migration can be prepared by
- Alignment of the preparatory inventory activities
- Definition of the migration prototype
- Identifying possible code conversion issues that are not yet known.
Defined work descriptions in the pre-processing and post-processing part can be used afterward for effort estimations and migration planning.
For better representation, the examples are presented in a transposed form
As this NuGet package is not available in a Windows compatible version, a remodeling will be done
|LEFT||* Microsoft.Activities.Extensions * Add to Dictionary Activity|
|PRE||* replace by an Assign Activity|
|CONVERSION||XAML Conversion with conversion tool|
Mapping sets describe mappings of code conversions and the steps necessary to perform them
Furthermore, mapping sets can be used for this purpose:
- Code conversion problem analysis & prediction
- Documentation & Code Standards Definitions
- Effort estimation & migration planning
The mapping sets provide a way to formally define code conversions.
For questions on your specific case or migration topic open a new topic and get individual support.