Upgrading To Latest Version of Hybris

SAP Hybris [CX] Commerce is always update and improving to stay ahead of the competition. The update/improvements/bugfix typically contain functional enhancements, tackle platform defects, architectural modifications, and security updates.

There are three types of upgrades to consider on Hybris platform:

  • Patch : is generally released by the platform to correct a defect introduced with a previous release.

  • Minor : Minor release is done for functional enhancements and limited architectural modifications.

  • Major : Major releases as the name suggests generally handles a significant amount of functional enhancement and major architectural modifications.


There is always a dilemma on what is the right approach to upgrade and when to perform the SAP Hybris upgrade. This is not an easy answer and a lot of weight has to be given to the following questions to start with:

  • Are the current features enough to support the business needs: This is probably the most important factor in terms of determining when to upgrade. It should be evaluated if the new features released are engaging for customers and potentially increase revenue. Some of the version 6 features are: SAP Hybris Marketing Integration, SAP Hybris Merchandising, SmartEdit, Promotions integration with Rule Engine Drools for greater flexibility, Yaas Connect and many more.

  • Platform Support: SAP Hybris platform versions reach their end-of-life approximately two years after the release. SAP Hybris stops supporting the platform and does not provide technical support under the initial license contract. This is again an important factor to keep the platform running smoothly.

  • JVM Support on SAP Hybris platform: SAP Hybris from time to time withdraw support from the platform for older Java version and only supports newer versions of Java. Java newer versions remain backward compatible. However, this will cause an issue with the technical support and running of the platform. This is another factor to think of an upgrade.

  • Patch fix to support better performance or General Performance improvements: Another reason to perform an upgrade will be to benefit from performance fixes to gain improvements on the performance.


TECHNICAL TASKS INVOLVED FOR THE UPGRADE

  • When upgrading a SAP Hybris Platform based system, different types of extensions determine whether and how to proceed (Suggested approach by SAP SAP Hybris):

  • Upgrade regular extensions (for example solrfacetsearch, Backoffice).

  • Template extensions are not to be upgraded (for example the Accelerator extensions). Typically these extensions are never modified directly and we clone extensions and treat those derived extensions as custom code

  • Reuse custom extensions

    • When we upgrade a system that has been using custom extensions derived from templates . They are moved along to the new system and should continue to work as long as they just depend regular SAP Hybris extensions, as those are guaranteed to stay compatible.
      The number of customization on the core platform will also impact the complexity of the upgrade.
      SAP Hybris does not recommend template extensions from a new SAP Hybris release because they don't guarantee their compatibility with their counterpart extensions from previous releases. Therefore, any new template extensions need to be reviewed in light with the existing features and the compatibility. It can be considered as a project to utilize these template extensions. However, template extensions may serve as Coding example for adopting new features during a manual migration of the custom template-based extensions

    • Source for cloning a new set of custom extensions in addition to the reused extensions.

  • An upgrade does require validating and assessing the following as well along with the functional areas:

    • Tomcat Upgrade

    • SOLR/Drools Infrastructure

    • Cockpit Implementation

    • Spring Framework Upgrade

    • Any external libraries compatibility

  • Upgrading the Data: Once we have upgraded the SAP Hybris system with the new version, we may need to adjust the existing data too so it can work seamlessly with the new version. Any impact on the existing data needs to be reviewed as part of the latest version of the release notes and it might require an import/export of the existing data. There are multiple scenarios that will require a SAP Hybris system update during the deployment; some of these are as follows:

    • New Composed Type Added/Existing Composed Types Modified: This can be classified into different types of changes on an existing type. Eg: Adding Deployment Tables to an existing type etc.

There are two representations of the Type System of the SAP Hybris Suite.

There is a file-based representation that is spread across in the various items.xml files of the SAP Hybris Commerce Suite extensions. This representation is not actively used by the SAP Hybris Commerce Suite at runtime. You can modify this representation at any time by modifying the items.xml file of an extension. However, modifications of the items.xml files only take effect after an initialization or an update of the SAP Hybris Commerce Suite.

CONCLUSION

SAP Hybris upgrades are important but in some cases very complex. It should be treated as a project where all the parties’ i.e. business, technical team, operations and QA team coordinate to make the project a success. It should be treated as a foundation release and implementing new features as part of the upgrade project should be avoided. It is very important to reduce the number of moving parts on the platform during the upgrade that can impact a successful upgrade. This is very important for major upgrades. It is suggested to have frequent upgrades and not leave a big gap between upgrades because a long gap between upgrades will make it more complex to manage.