You should know that each new release of SAP Commerce includes the following:
- Functionality – Transform your business with new or enhanced features. You will also be receiving bug/security fixes and performance improvements
- Innovation – Use the new and enhanced features to bring innovation to your customers.
- Simplification – Replace custom code with out-of-the-box feature
- Integration – Integrate easily with key systems
- Support – Run on a fully supported version (product support generally ends 2 years after a version’s release)
- Deprecation – Code/features you may be relying on are part of deprecated code and you may want to move to the feature that replaces it, so you are no longer relying on deprecated code
Types of Upgrades
– Like for Like Upgrade
With a “like for like” upgrade the focus is on upgrading to the target version with the following considerations:
- all custom features that work in the source will work the same in the target version
- enable features that are available out of the box, or with minimal configuration
Extended Upgrade
An extended upgrade is a super-set of a “like for like” upgrade, in that it upgrades all desired features from the source version and then includes all desired features that are available in the target version. This type of upgrade can result in a target version that can be substantially different from the source version, depending on which features are added or removed during the process.
Functional Upgrade
A functional upgrade, in contrast to the other two kinds of upgrades, uses a template approach. The latest accelerator templates are used first to generate the custom extensions for the project. Afterwards, the custom business logic is carried over from the legacy code base into the new code base.
Depending on your solution architecture you might only be able to use one or two of the approaches available.
Non-Accelerator Based Solution
Before the Accelerators introduction a SAP Commerce deployed solution consisted of:
- Platform binaries (core + platform extensions) – the SAP Commerce product
- Custom code + configuration – code which was added during the implementation, which extended the standard product functionality with features specified to each implementation
- Database – business data and type system that was created after first initialization
Accelerator-Based Solution
Over the years various Accelerators (B2C, B2B, Telco, China, Financial, Travel, etc.) have been introduced to help provide a consistent foundation of code that would save many people days up-front, but it can result in more difficult upgrade projects. This is because as soon as you generate the Accelerator extensions and make a single change to the generated code, you’ve created custom code. Every additional change you make to the generated Accelerator extensions increases the level of customization. So, when it’s time to upgrade you must decide what is most important, as this will guide the approach to use:
- Upgrade the SAP Commerce platform binaries and perform technical migration of custom part (Technical Approach) – In this case, you’re interested in upgrading the platform binaries, likely to maintain support or take advantage of out of the box features. This is the fastest upgrade option, but you will only make changes to your custom code (including accelerator), that are required to keep your solution running correctly. This approach does result in increased technical debt because your custom code is modified as little as possible and will not be taking advantage of new features that may now make your customizations redundant. Some important features, like performance improvements, or security mechanisms, should be implemented anyway.
- Upgrade the SAP Commerce platform binaries and re-generate accelerator code in Target Version + port old features implemented in Source Version (Template Approach) – This option requires more work because while you are upgrading the platform binaries you are receiving e a fully upgraded Accelerator. However, your custom code in some places, might decrease because you might be able to rely on features included in SAP Commerce you previously needed customizations for.
Approaches
At a high level the following approaches can be used to make your code base, configuration, and database compatible with target binaries version:
- Technical Approach – The focus is on upgrading the SAP Commerce platform code and only executing required changes to the custom code, configuration, and data (if applicable) + implementation of really important fundamental features like Security. The results; the platform binaries is on the target version and custom part is compatible. Regardless if you’re solution was built using an accelerator or not, this custom code configuration and data will be technically migrated, with changes to allow it to build and run properly + cherry-picked important functionality (like security mechanisms).
- Template Approach – Another method worth considering is to upgrade accelerator based solution to the latest version. For this approach the target version of SAP Commerce is used as a base with the necessary accelerator(s) generated first, after which the custom functionalities from the source version are ported over one by one, as needed, to this target version. Now the platform and Accelerator code are on the target version. In this case you are only porting over legacy features/customizations that you need.
Conclusion
You now have a good idea of the phases and activities involved with an SAP Commerce upgrade. If you want more details on completing an upgrade please contact info@infocorperp.com