Migrating a legacy WebSphere Commerce store

From WebSphere Commerce Version 7 and Version 8, to HCL Commerce Version 9, a new store paradigm was introduced in concert with other architectural changes that were made to modernize HCL Commerce. In this new paradigm, the storefront is separated into a micro service, independent from the Transaction server and Search server on which it relies. This architecture increases security, scalability, flexibility in server topology, and improves the ease of development and deployment of stores and store customizations.

HCL Commerce Remote Store server architecture

Within the new paradigm of HCL Commerce Version 9, the Aurora starter store remains supported. A store based on this design can be deployed on a separate Commerce Remote Store server, also known as the crs-app Docker container. This Store server consists of a lightweight JVM that separates the storefront presentation layer from the search and transactional backbone of HCL Commerce. The Store server persists user sessions with cookies, and handles security through the web channel (that is, between the store and the user over HTTP and HTTPS protocols). All store transactions, search queries, and user authentications are done through REST services with the Transaction server and Search server. The Store server has no direct database access.

For more information on the Commerce Remote Store architecture, see Store architecture.

The HCL Commerce development environment separates all customized storefront assets into a single web application archive. This separation of custom files from the provided defaults allows for a simplified lifecycle, where changes become easier to implement as incremental improvements to HCL Commerce are released by HCL.

For more information on how to customize the Aurora JSP or reference React-based stores, see Creating your custom store.

Migrated local store

Stores that were implemented for use with WebSphere Commerce Version 7 and Version 8 are not designed to be run separately on the Commerce Remote Store server. This is due to their legacy dependencies on the Transaction server.

As a result, any stores that are migrated from Version 7 or Version 8, are deployed within the Transaction server, where they serve live traffic. Since migrated stores are local to the Transaction server in the Version 9 deployment model, they are referred to as local stores.

Important: It is highly recommended to re-implement any migrated store JSPs and custom code to work with the Commerce Remote Store server model. This process will increase security, scalability, and future migration ability.

When migrating a local store, the existing store project is exported from your WebSphere Commerce Version 7 or Version 8 Developer environment, and imported into your HCL Commerce development environment. Then, some modifications are required for compatibility with HCL Commerce Version 9. Once migration is complete, the store is packaged and deployed within your custom Transaction server docker container to serve site users in your live production environment.

A general overview is as follows:
Note: The following links are to the WebSphere Commerce version 7, Feature Pack 6 migration documentation flow. If you are migrating from a later Feature Pack, or version of WebSphere Commerce, locate the respective topics for your particular migration.
  1. Migrate and modify your store JSP and configuration files.
  2. Migrate your Struts definitions and configurations to Struts 2.
  3. Package and deploy your store within your production Transaction server docker container.

You can also explore this migration flow in a more detailed tutorial format. See Tutorial: Migrating a WebSphere Commerce store.