Intershop Commerce as a Service (CaaS) is a combination of Software as a Service (SaaS) and Platform as a Service (PaaS) with a focus on customizable digital commerce for complex B2B scenarios. It has several advantages, for example, it removes the need for organizations to install and run applications in their own data centers.
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 Intershop CaaS. It is targeted to developers and architects who want to extend and modify Intershop functionalities.
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, then it still makes sense to contact Intershop.
If your feature wish is standard-worthy, then it is also an option that Intershop builds it as part of the standard product.
The architecture of Intershop CaaS is loosely coupled and consists of apps and services connected through APIs. There are larger application services (ICM, IOM, Solr, ERP, CRM,...) and smaller Microservices (Recurring Order Service, Inventory Service, Microsoft Connector Services,...).
In the picture below, the core CaaS components are shown in red and custom components are shown in blue. It is recommended to add new functionality as separate Microservice, but other customization options are also available.
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.
Intershop CaaS gets 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 Intershop components. To allow a smooth update process, Intershop keeps the APIs stable and also supports older versions of APIs (see Cookbook - REST API Versioning).
For CaaS 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.
Intershop CaaS 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 CaaS because Intershop keeps the REST APIs stable and also supports older versions of the REST APIs.
Hosting and operation of the PWA will be offered by Intershop as an additional service (front-end as a service) that will be integrated into the overall CaaS service. As the PWA is typically highly individualized, the costs depend on the infrastructure resources required and the operational effort. The latter depends, for example, on the factors of the number of deployments, number of incidents, etc.
Alternatively to the PWA, the classic inSPIRED responsive storefront based on pipelines and ISML can still be used. 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 under restriction on commensurability and are decided case-related. The support period for the inSPIRED responsive storefront is the same as for Intershop Commerce Management (5 years).
Additional customer-focused touchpoints (Voice, IoT, Mixed Reality) can be connected easily using the Intershop inbound REST API, see http://developer.cloud.intershop.com/.
The following example shows how to connect Microsoft Cortana:
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. The question of data volume should therefore be considered when choosing the integration method.
Intershop CaaS 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. To convert data to the Intershop-supported formats, we recommend using an ETL tool, such as Talend. 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 - Job Handling REST API.
To simplify data transport processes, Intershop CaaS 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 the CaaS core is not allowed. Necessary transformations have to 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:
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:
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.
As an extension to the Managed Service API, Intershop CaaS also provides outbound REST interfaces (Webhooks) for certain business scenarios. This allows the connection of 3rd party systems without the need to develop Intershop cartridges. Instead any Microservice, Serverless Function or iPaaS can be connected remotely.
An example is the order connector for Microsoft Dynamics. It is implemented as a separate Microservice and connected using the outbound REST API. A customization on ICM side is not necessary.
Intershop CaaS 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:
Additional Microservices are a recommended approach to customize and extend CaaS. Microservice 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). Operational efforts and infrastructure costs are independent of the CaaS subscription and pricing.
If it is necessary to execute an action after something has happened on the Intershop CaaS platform, then 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.
For an additional example of how the Customer subscribes/unsubscribes the newsletter-Event can be used to integrate the newsletter service Mailchimp, see How to connect Intershop with Mailchimp in 90 seconds.
Intershop Commerce Management is internally well componentized and has a module concept (Intershop Cartridges) for customization and extension. For mor information see Overview - Development Artifacts.
The usage of these concepts is still possible, but within some boundaries, see chapter "Customization Levels".
The following table gives an overview about the different customization options and shows what is recommended and what is not.
|Recommended, these options will be extended in short-term|
Can still be safely used, but will be successively replaced by level 1 and 0 customization options.
The support period for level 2 customization is the same as for Intershop Commerce Management (5 Years).
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.
The performance of a digital commerce solution is a major criteria for its market acceptance. The Intershop CaaS platform is continuously being optimised and carefully tested in this regard. However, any badly architected or implemented customization can seriously affect the performance of the overall system. It is therefore strongly recommended to follow the Intershop performance guides:
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Web site, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.