What's new for developers

Learn about the new features and functions HCL Commerce offers developers.

This section describes the new additions and changes within only the initial HCL Commerce Version 9.0.0.0 release. For more information about new additions and changes for HCL Commerce Version 9 that are available through update packages, see: For more information about update packages, including how HCL Commerce releases update packages, see Maintenance.

HCL Commerce Version 9 employs a modern technology stack for developers to make customization of the brand and business user experience more efficient and cost effective. The use of JQuery and JPA technologies helps development teams deliver custom code or implement integrations faster. Runtime RESTful APIs can wrap existing logic with customized logic so that developers can extend (or further enhance) the default capabilities without having to learn the implementation behind these features. These improvements decrease the time required to learn how to customize HCL Commerce .

Additionally, the externalized customizations (xC) programming model makes it possible to separate integration logic from business logic so it is easier to maintain customizations and use HCL provided enhancements.

HCL Commerce Developer

Get a quick start on developing your HCL Commerce storefronts with HCL Commerce Developer Enterprise or Professional.

  • Create, test, and deploy an HCL Commerce site under the test environment and workspaces that are provided by Rational Application Developer (RAD) for WebSphere.
  • Build and extend HCL Commerce functionality. A single toolkit is used to customize all servers. HCL Commerce Developer is fully compliant with the new distributed servers included in HCL Commerce Version 9.
  • A new tool, HCL Commerce Build (WCB) tool, packages custom code developed in HCL Commerce Developer.
  • Customize HCL Management Center for HCL Commerce.

New informationLearn more...

Distributed servers

HCL Commerce is modularizing into loosely coupled components. In this release, the Store server and Search server are decoupled from the larger HCL Commerce server, now called the Transaction server. This separation is along well-defined service interfaces that allow for better horizontal scaling of your e-commerce system.

HCL Commerce Version 9 evolves the traditional architecture into a microservices architecture with separate servers as Docker images. In this version, the Transaction server is separated into five major functional servers:
Transaction server
Runs the transactional business logic and APIs that serve other HCL Commerce servers. The Transaction server container where all transactional operations run. For instance, the server is used for completing the following operations:
  • Processing transactions from your storefront.
  • Processing REST calls from the store, and, if needed, routing calls between servers.
  • Hosting all business user and administrative tools.
  • Processing database and utility operations, such as to load data or rebuild the search index.
Utility server
A WebSphere Application Server-based server that runs application administration utilities. Unlike the other servers, the Utility server does not exist in the development environment.
Search server
A WebSphere Application Server Liberty-based server that provides search engine capabilities for front end applications.
Customization server
A WebSphere Application Server Liberty-based server that runs custom business logic in the form of xC extensions for supported components.
Store Server
A WebSphere Application Server Liberty-based server that runs the storefront for all stores. It includes all custom storefront assets, such as JSP pages and widgets.
The separation of servers allows developers to work in parallel with fewer dependencies.

New informationLearn more...

Continuous integration and continuous delivery (CI/CD)

Using continuous integration and delivery, you can deliver features, fixes, and updates as they are developed. Individual enhancements are delivered in an ongoing manner, making adoption easier for your users. The deployment process for features, fixes and updates, in fact for any changes, is exactly the same. In all of these cases you simply redeploy entire images instead of writing different deployment logic for installation, fixes, features, and updates. You can use the same pipeline for everything.

New informationLearn more...

Externalized Customization (xC)

Externalized customization is a new programming pattern that introduces a separation between the core application components and your customizations. By using this new pattern HCL Commerce can deliver innovation more quickly. More importantly, the new programming pattern allows you to deploy innovation more quickly. Developers create customization code external to HCL Commerce. When the business logic is called that you customized, there is a reference to fetch the customized instruction instead of running the HCL provided code. This isolation of customization also improves security, and the stability of your application, the e-commerce store.

New informationExtending HCL Commerce with xC extension points

HCL Commerce Search

The architectural changes in HCL Commerce Version 9 mean that most Search services run in a dedicated Docker container, while a few functions are still done in the Transaction server. Because you have one development workspace for all containers, you can assemble and test all your code in one place. However it is important to know where the code will run once the Docker containers are assembled.
  • Inside the Search Docker container
    • Search service EAR
    • Configuration customizations
    • Managed Solr core configurations, including the solrconfig.xml, schema.xml, and wc-data-config.xml files
    • Runtime configuration, including the wc-component.xml and wc-search.xml files
    • The WebSphere Application Server Liberty profile
  • Outside the Search Docker container
    • Index data
    • Preprocess configurations, which reside inside the Transaction server
    • Utilities. Functions such as setting up the Search index were managed in previous releases by command-line utilities (for instance, SetupSearchIndex.sh). You now control these services using REST calls

This architecture is designed to make developing and managing Search much faster and easier. In terms of features, the most significant change in HCL Commerce Version 9 is that you can now add custom postprocessing commands to existing REST services. This ability replaces the BOD/data bean based approach of previous releases with a single, consistent control point for your custom code. You can add custom index fields, as described in Adding custom index fields in REST responses.

In addition, you can now add your own request handlers easily. With these changes, REST becomes the default interface for Search control, configuration, customization and extensions.

New informationSearch customization for server containers

Enterprise JavaBeans to the Java Persistence API

All HCL Commerce data beans now follow Java Persistence API. By moving from EJB to JPA, HCL Commerce can use a lighter web container. WebSphere Application Server Liberty replaces WebSphere Application Server for the Store, Search and Customization servers. The use of the Data Service Layer (DSL) is deprecated, use JPA entities instead.

If you created custom EJB beans, convert from EJB to JPA using the migration tool. For more information, see Migrating IBM Websphere Commerce Version 8 EJB entity beans to Java Persistence API.

In HCL Commerce Version 9, the EJB session bean is upgraded to 3.x. You do not need to migrate stateless session EJB beans to JPA.

New informationJava Persistence API.

Db2 version 11

In previous versions, support was provided for the Derby database within the development environment. In HCL Commerce Version 9, both the development environment and the runtime environment support Db2 version 11.

New informationInstalling the IBM Db2 database.

Oracle

Oracle Database version 12c Release 2 and Oracle Database 19c

In HCL Commerce Version 9, both the development environment and the runtime environment support Oracle Database 12c Release 2, and Oracle Database 19c.

New informationInstalling and configuring Oracle Database.

Aurora starter store

The Aurora starter store is rewritten to use JQuery. In addition to all the existing features that are supported in the Dojo version of the Aurora starter store, the jQuery version supports the following additional capabilities:

  • Store pages load a minimal number of JavaScript and CSS files, as a build script is provided that merges the code from all the files and then generates fewer files, with all its contents combined and minified. This performance strategy improves the web browser's page load time for store pages.
  • A store function is available to control whether dynamic E-Marketing Spots are loaded either server-side with the page, or loaded after the initial page load is complete, to better support Content Delivery Network (CDN) caching.
  • Interactions in the category page are implemented using full page loads, rather than using AJAX. This strategy simplifies page coding and removes the complexity of handling the web browser's back, forward, and bookmark features.

In HCL Commerce Version 9 the Store server uses the Rest tag to retrieve data. In previous versions, the getData tag was used.

The Store server uses Spring MVC, instead of Struts. For more information, see Spring MVC and store controller customization.

New informationjQuery Aurora starter store.