The Intershop Commerce Platform is designed to be adaptable to the specific needs of your organization and your customers. It is a combination of Software as a Service (SaaS) and Platform as a Service (PaaS) that can be customized by an Intershop implementation partner or Intershop Professional Services.
However, this model also brings some restrictions regarding possible customizations compared to the classic on-premises model. This guide explains the recommended ways to customize the Intershop Commerce Platform. It is targeted to developers and architects who want to extend and modify Intershop functionalities.
Important Note
The best customization? No customization!
Intershop is a feature-rich product that already contains a lot of configuration options. So please always check first if you can stick to the standard. Check the back office, the Knowledge Base and contact Intershop Support. If a customization is really necessary, it still makes sense to contact Intershop. If your feature wish is standard-worthy, it is also an option that Intershop builds it as part of the standard product.
Term | Description |
---|---|
CAPI | The cartridge API (CAPI) is the API for implementing, enhancing or customizing functionality within an Intershop Commerce Management application server. The CAPI consists of Java interfaces and classes which are contained in cartridges. |
ICM | Intershop Commerce Management |
IOM | Intershop Order Management |
ISML | Intershop Markup Language |
PWA | Progressive Web App |
The architecture of the Intershop Commerce Platform follows the composable commerce principles. It consists of loosely coupled apps and services (aka Packaged Business Capabilities) connected through APIs. Examples are Intershop Commerce Management, Intershop Order Managment, Intershop Search and Recommendations (SPARQUE.AI), Customer Engagement Center, and AI/BI Data Hub.
As a customer-facing touchpoint, the Intershop Progressive Web App (PWA) is already provided, but any other touchpoint (Voice, IoT, Mixed Reality) can also be connected using the Intershop REST API.
Additionally, integration of backend systems like ERP and CRM is very typical and several integration options exist, such as the Intershop Integration Hub.
The components of the Intershop Commerce Platform get continuously improved. The goal is to deploy updates and upgrades as soon as possible to keep client installations on the most current version of the different apps and services. To allow a smooth update process, Intershop keeps the APIs stable and also supports older versions of APIs (see Cookbook - REST API Versioning).
For implementation partners, this means that it is necessary to carefully follow the customization rules described in this document in order to minimize necessary update efforts.
Also see Concept - Continuous Releases.
The Intershop Commerce Platform already includes a ready-to-use frontend blueprint. It is a Progressive Web App (PWA) based on Angular. However, you can also use any other frontend technology like React, Vue.js or Frontastic. The frontend is decoupled and only uses the Intershop REST API.
The Intershop PWA is provided as source code. This means that anything can be customized. The customer or implementation partner basically owns a copy of the PWA and is responsible for it. Intershop guarantees that this project version of the PWA will also run with newer versions of Intershop because Intershop keeps the REST APIs stable and also supports older versions of the REST APIs.
Also see:
Hosting and operation of the server side rendering (SSR) part of the Intershop PWA is also provided as a service by Intershop.
Alternatively to the PWA, the classic inSPIRED responsive storefront based on pipelines and ISML can still be used when migrating on-premises to the Intershop Commerce Platform. It will be maintained on a functional "as-is" basis. That is, no functional enhancements will be made, only bug fixing of critical and serious issues. Technical enhancements and 3rd party updates are are subject to restriction in terms of commensurability and are decided on a case-by-case basis.
Usage of the PWA is strongly recommended.
Additional customer-focused touchpoints (Voice, IoT, Mixed Reality) can be connected easily using the Intershop inbound REST API, see Overview - Intershop REST API Documentation.
The following example shows how to connect Microsoft Cortana:
https://tech.intershop.com/headless-with-intershop/
The Intershop Integration Hub is a cloud-based low-code integration platform provided as a service (iPaaS). It allows the integration of typical systems of record such as CRM, PIM, or ERP without the need for deep customization within ICM or IOM.
File-based interfaces are a simple and robust method of asynchronous data exchange. Systems integrated in this way are decoupled from each other, and file formats can be transformed with relative ease using external ETL tools. If a file fails to import or export, or if a system is unavailable, the process can easily be repeated.
File-based interfaces are particularly good for transferring large quantities of data, a task for which REST APIs are often not well suited. Therefore, the question of data volume should be considered when choosing the integration method.
Intershop Commerce Management provides import and export functionality for most business objects. The usual file format is XML. During import, the system validates the data format and checks the consistency of the data. Again, this option allows high-speed import and export of very large quantities of data. This is particularly important for tasks, such as importing price lists with millions of products and prices. Import and export processes can be initiated easily via the back office; however, they are usually integrated into automated processes. To enable this, Intershop provides a REST API for job handling and batch processes.
For details refer to Reference - Jobs REST API 1.0.0.
To simplify data transport processes, ICM also includes an integrated transport framework that enables automated upload and download of data files via HTTP, HTTPS, FTP, SFTP, and e-mail.
For details refer to Guide - Transport Framework.
The customization of import/export functionality inside of ICM is not recommended. Necessary transformations should take place outside.
Product data can be exported in various formats at specified times using the Product Data Feeds function. This can be used to integrate print and online marketing platforms as well as external search engines and dynamic pricing services. The business user can define the product range, select the target system, and schedule the export times. A range of formats is supported as standard, including Google Sitemap, Google Shopping, RSS, and Feed Dynamix.
Intershop uses Managed Service APIs to efficiently integrate external (micro)services while accommodating the companies' own organizational structures (countries, brands, etc). Examples are the integration of:
Payment service providers
ERP systems (orders, inventories)
CRM systems (customers, customer segments, quotes)
Tax service providers
Product recommendations
Search
E-mail marketing
Address verification services
The Managed Service API is a Java API where a service adapter needs to be developed that implements the Java interface of the service. More details can be found here:
Concept - Managed Service Framework.
Managed Service APIs are highly granular and, therefore, ideal for integrating microservices. For example, stock information can be provided by an inventory microservice that is integrated with the platform via a Managed Service API.
The following list shows the available interfaces:
Note
The implementation of a Managed Service Adapter requires the development of an Intershop custom cartridge that runs as part of the application server. The code of the Managed Service Adapter shall only reference the API of the Managed Service Java Interface, but no other internal APIs to minimize dependencies.
Intershop Commerce Platform supports the concept of custom attributes. Additional attributes can be added using Intershop Commerce Management, XML import, or the management REST APIs.
To retrieve custom attributes, here is an example from the product endpoint:
/categories/<cat_ID>/products/<sku>?attrs=<att1>,...,<attN>
Also see Reference - Product and Category REST API 1.6.0.
Additional microservices are a recommended approach to customize and extend the Intershop Commerce Platform. Microservices can provide additional REST APIs or handle certain business events.
Custom microservices must be operated by the Intershop partner or customer on a separate infrastructure (e.g., separate Azure subscription or even a different Cloud or data center).
If it is necessary to execute an action after some activity has been completed on the Intershop Commerce Platform, events are a good solution.
Intershop already supports certain business events as part of the business tracking framework, e.g., Basket View, Basket Add Product, Basket Remove Product, User Login, User Logout, Order Creation, Address Change, Create Wishlist, Add Product to Wishlist, Remove Product from Wishlist.
These events can be published to an event hub like Azure Event Grid and from there be subscribed by different event consumers, e.g., microservices, Logic Apps, or serverless functions.
Intershop Commerce Management is internally well componentized and has a module concept (Intershop Cartridges) for customization and extension. For more information, see Overview - Development Artifacts.
Intershop Order Management is intended to be configured and customized by Intershop implementation partners. For more information, see Overview - IOM Customization.
The following table gives an overview of the different customization options and recommendations on their usage.
Level | Customization Options | Usage |
---|---|---|
0 |
| Highly recommended |
1 |
| Recommended. These options will be extended in short-term. |
2 | ICM
| Can still be safely used, but will be replaced successively by level 1 and 0 customization options. The support period for level 2 customization is the same as for Intershop Commerce Management (5 years). |
3 | ICM
| Should be discussed with Intershop before starting the customization in order to minimize future update/upgrade efforts. For "Custom Persistent Objects" the replication and deployment process must be considered. Database changes require a downtime during deployment. |
4 | ICM
| Forbidden |
The performance of a digital commerce solution is a major criteria for its market acceptance. The Intershop platform is continuously being optimized and carefully tested in this regard. However, any badly architected or implemented customization can seriously affect the performance of the overall system. Therefore, it is strongly recommended to follow the Intershop performance guides: