The integration of non-Adobe Commerce solution is a common scenario for CIF. Third-party solutions with different APIs and schemas get connected via an integration layer.
The overall architecture is as follows:
The purpose of this integration layer is to map 3rd-party APIs and schemas against the supported Adobe Commerce GraphQL APIs and schemas outside of the Experience Manager. Thanks to this encapsulation, the integration logic, and systems can get updated without changing code inside the Experience Manager.
As the Experience Manager retrieves data on-demand, real-time APIs for product catalog are required.
If no real-time APIs are available, an external product cache with APIs should be used for the integration. Example Adobe Commerce Open Source.
There is no need to implement the complete GraphQL schema, just the objects of the schema to enable the desired use-cases.
CIF extends the Experience Manager with real-time product catalog access and product experience management tools. This seamless integration enables authors to access commerce data using embedded UIs whenever needed without leaving the content context.
The integrations of product catalog APIs are required to unlock these use-cases.
AEM CIF Core Components retrieve and exchange data via the CIF supported Adobe Commerce APIs. To reuse components, the respective APIs must be implemented.
The recommendation for performance critical client-side components is to communicate directly with the third-party solution to avoid latency.
Adobe recommends that you use Adobe Developer Runtime for the integration layer. It is included in the CIF add-on for third parties. As it works with a microservice-like approach, it is suited well to integrate easily multiple solutions.
The reference implementation is a great starting point to build the integration to your commerce solution. Although it supports GraphQL, it can also be integrated with any other type of API such as REST.
This integration layer is not required if a third-party layer is available (for example, Mulesoft) or the integration gets built on top of the third-party solution.
Connectors provide a good starting for projects. They come with a commerce solution-specific connection and default API mapping. These connectors are built by third parties and not maintained by Adobe. Reach out to the respective partner for information.
While connectors help projects to accelerate the commerce integration, they are not plug-n-play. Enterprise commerce solutions are heavily customized and require a custom integration. Good knowledge of the commerce platform, Adobe Commerce GraphQL schemas, and Adobe I/O Runtime is required.