This document is a guide to help customers to plan migration and of course later on to do the actual migration.
These are three possible strategies for a migration:
Even though these strategies differs in their methodology an overall migration strategy will be always a mixture of all those. Certain features cannot be reused from one version to another if the underlying model has changes dramatically. For instance Enfinity Suite 6.4 compared to Intershop 7.0. The content model has changed too much as it would be possible to reuse the old model. In this case it is necessary to do a feature migration if content is used. The same applies to lot of other functional areas like promotion, basket handling and order handling if migrating from Enfinity Suite 6.4 to Intershop 7.0
A platform migration can be useful if the application is highly customized. Therefore only the core platform is used, which implies that as much as possible is reused from the existing functionality. This kind of migration is only recommended if most of the pipelines from the demo application PrimeTech were rewritten and not inherited from the B2C channel.
A migration of features is useful if the application is close to standard and many custom-built features are now part of Intershop 7's standard feature set. In addition, it is recommended that a feature migration is done after a platform migration as a 2nd phase.
A blue print or green field migration can be done if an overhaul of the entire site is planned at the same time. This may be necessary if business decided to change business flows substantially or to introduce other 3rd party systems into the IT infrastructure at the same time.
DBInit is using database preparers to create channels, preferences, import users, catalogs and products etc. These preparers have slightly changed as the concept of applications has been introduced in IS7. See com.intershop.component.organization.dbinit.preparer.ApplicationPreparer
, for instance.
Please use the API Checker to find out what else has changed.
See also:
Title | Product Version | Product To Version |
---|---|---|
Concept - DBMigrate and DBInit | 7.10 | 7.10 |
Concept - DBPrepare (valid to 7.10) | 7.10.14.0 | 7.10 |
Cookbook - DBInit | 7.10 | 7.10 |
Cookbook - DBMigrate | 7.10 | 7.10.16.0 |
Cookbook - DBPrepare | 11.0 |
The same as for DBInit applies to DBMigrate.
See also:
Title | Product Version | Product To Version |
---|---|---|
Concept - DBMigrate and DBInit | 7.10 | 7.10 |
Concept - DBPrepare (valid to 7.10) | 7.10.14.0 | 7.10 |
Cookbook - DBInit | 7.10 | 7.10 |
Cookbook - DBMigrate | 7.10 | 7.10.16.0 |
Cookbook - DBPrepare | 11.0 |
DBExtract extracts structural information as well as content information from an given DB.
The following ANT build targets are supported:
cd C:\eserver1\tools\misc C:\eserver1\bin\environment.bat ant -f dbextract.xml
This build script contains all targets to analyze and compare database schemas created by the DBInit process.
The comparison of two schemas is processed in several steps:
The result of analysis and comparison are stored in result/xml. The HTML-transformed comparison XML file is stored under result/html.
The queries defined in the queries.xml file are optimized to compare Enfinity Suite 6 schemas in different versions. It ignores differences belonging to the data replication environment.
C:\eserver1\tools\dbdelta\standard\config\dbdelta.properties
cd C:\eserver1\tools\dbdelta\standard C:\eserver1\bin\environment.bat ant
The API Checker is used to find violations of the Intershop APIs as well as custom APIs. But it allows also to compare, for instance, ES6 APIs with IS7 APIs. The API Checker is located in %IS_HOME%/tools/api_checker. To execute it, please open an ANT build shell and go to %IS_HOME%/tools/api_checker/build.
The following ANT build targets are supported:
Change properties %IS_HOME%/tools/api_checker/config/api_checker.properties key apichecker.api.packages
to add com.intershop.*.dbinit.perparer
to check the DBInit Preparer as well.
A DiffReport compares two versions of Enfinity Suite/Intershop. These are the artifacts which are considered:
Example DiffReport between Intershop 7.2.1.0.136 and Intershop 7.3.2.0.233
It lists:
DiffReports are available upon request!
3rd Party ETL Tools
Estimating a migration project is always complicated. Many things need to be considered:
A good rule of thumb is 25% of the original customization for a major step (like ES6.x to IS7.y) and 10% for a minor step (IS7.x to IS7.y). In case of a 1.000 men days project it would be roughly 250 days for a migration from Enfinity Suite 6.x to Intershop 7.y for instance.
If nothing else stated Intershop provides so called DBMigrate scripts to migrate data. Exceptions are major version steps like from Enfinity Suite 6.x to Intershop 7.x. In those cases it is necessary to cater for migrating data yourself. Within the Intershop 7 family it's enough to execute DBMigrate except for one version from Intershop 7.0 to Intershop 7.1. In 7.1 Intershop introduced a so called ViewContext which is used instead of Context Object Relation (COR). For this it is necessary to migrate data and code.
All the tasks for code migration are in order. Up until migration step Java and having a compiling code base it's impossible to work in parallel on it.
The recommended way to migrate an environment is to either install the new instance on new hardware or one the same existing hardware pointing either to a new schema or the existing schema.
The proposed strategy for going live would be:
With Intershop 7.4 a new concept for build, test and deploy was introduced. Intershop has decided to use Gradle as the build tool. With Gradle it is possible to release just certain components like a new Backoffice or a feature like a new or updated payment provider. This new tool may have influences on these processes: