Blog

Migration for WebSphere Commerce V7

In terms of installation, nothing new, but there are tools for migrating Marketing Campaigns… In V7, should definitely go with Management Center to take advantage of latest Marketing features.

The migration tool for V7 is improved from previous versions.

It is now based entirely on ANT scripts and custom ANT tasks, so it allows customizations.

Overview

In previous versions, wizards only did part of the task (about 60-70%)

In V7, migration buiilt on ANT, allows customization

Migration Challenge

Easier to migration 5.6.1 due to no FEPs!

FEPs created headaches due to different combinations of features enabled

Different db schemas, different states of enablement

WCIM tool

More robust, built on ANT task

Client/server architecture

Wizard is the client to provide graphic support

Graphic support built with Swing components

Clients communicate with server through RMI calls

Server invokes ANT builds throught the WCIMANT class

WCIMANT

Specialized ANT launcher to simplify and check user input for command line

Interface

WCIM framework

Client (wizard)   — RMI calls —>   WCserver   — invokes –>   WCIMANT (ant builds)

How WCIM took works

3 ANT tasks retrieve list of features to be migrated

tiers: application server, database server, web server

Loop through each tier, migrate features one by one

Can add new tier to add to loop

Regardless of features, BASE code is traditional command/server stuff treated as Feature

Difference, BASE is always first to be migrated

Other features can be added to build

Order of features is not guaranteed, only BASE is always migrated first!

WCIMANT Framework

WCIMANT-> migration/xml/build.xml -> first, migrate base code

-> migration/xml/db.xml

-> migration/xml/features/<featurename>/db/<from>

-> migration/xml/app.xml

-> migration/xml/ws.xml

Database Migration Best Practices (Most Important Tier)

Have to have WC v7 installed first before migration

Instance to migrate must be in working state

Backup db before migration

Restore backup image to another db

Consider using different database name for the backup

Not required to be installed on same machine as instance to be migrated

Review migration log

Database Migration Using Wizard

Two stages:

First stage, test run!: do not have shutdown WC instance

Migrate production data: must shut down WC instance first!

Steps

Launch wizard

Choose toolkit or server

Select test run

Select commerce version and instance xml

Select dbms and appropriate user/password

Database Migration using ANT script

wcim_ant.sh /wcim_ant.bat  (replaces migratedb tool)

-instanceName <instanceName>

-tier db

-action actionType

-from version {561 | 60}

Steps:

Test run:  -action check

Prod mig:  -action migrate

Most of database migration tasks are implemented as subclass of WCIMDBTask

WCIMDBTask subclass of ANT task SQLExec

WCIMSQLExecTask changes behavior of SQLExec

Commits automatically unless autocommit parameter is false

Supports schema name different from user id

Resolves SQL script files automatically given filename and optionally

Release Number

Application and web server migration

Migrate ONLY if database migration completed successfully

Process required once for every WC instance to be migrated

Steps:  (x done, o new)

x launch wizard

x select toolkit / server

x select if test run

x select commerce version and instance xml

x select DBMS type

o select web server type and location of WC install dir

o input web server info

Application and web migration using ANT scripts

Backup app first!

wcim_ant -instance instname -tier app -action backup -from version {561|60}

Migrate the application

-tier app -action migrate

Migrate the web server

When migration to remote machine

creates ear file and zip file of instance,

copy from old machine to new machine

Notes on migrating web server

Maybe backed up remotely

Migration with Feature Packs

Reuse the database part of iFeature enablement scripts

Reuse updateDB scripts from V6 to migrate to an intermediate database before migrating v7

1 Bring the db to the latest fixpack

2 Enable ALL iFeatures in the database by calling the database part of the iFeature enablement script

**** all db schema identical by this point

3 Migrate the database to v7

4 Bring the database to the latest fixpack level by calling update DB in V7

If iFeature is customized, then iFeature customizer must provide own migration script

If new features or components, then feature owner must provide migration scripts

Order of scripts not guaranteed!

Can build dependencies using prereq.xml

After migrating BASE component, for all iFeatures:

.component files removed from EAR

Remove records from SITE table

Migration scripts for features

Writing prereq.xml

From which previous version of feature can I migrate?

Which version of BASE does it require?

Which version of other features is required?

Example:

<Prereq>

<Components>

<Component name=”XXX” version=”1″ release=”0″ modification=”0″ fixpack=”*”

Referencing properties

<WC>/migration/config/WCIMUserProperties.properties

will be copied to

<WC>/logs/WCIM/<old_instance>/WCIMUserProperties.properties

Custom ANT Tasks

<WC>/migration/xml/common.xml <- put new tasks here

Can be invoked without initializing them