Why would a CMS exists in your application landscape
Content management system has its own space in the landscape. There is a difference between an Enterprise content management system(ECMS) and a web content management system(WCMS).
Let us first list the features of enterprise CMS:
- Content creation and aggregation
- Authoring
- workflow and approval
- Managing and Archiving
- content distribution
- Archiving and version control
- single repository of content.
The web content management exists in the landscape for a different reason:
- Provide the POS (website) with content to display on its pages.
- helps target and display content based on customer segmentation
- converted a generic content to a channel specific content (HTML etc.)
- Supports the web process with web centric content.
However this does not mean the WCMS will not have all the functionality that the ECMS has. They do exists in some form on a WCMS to create and manage content, should ECMS does not exists in the landscape. But I would question the level of maturity of those functionality on an eCommerce platform whose primal necessity is to power the e-commerce function.
Getting both to work with each other
Having made the case for both to exist in the landscape, the next obvious challange is to get them to integrate.
There are two integration patterns which has in the past worked well for me:
Option 1: Content produced in the ECMS and migrated into the Hybris PIM
As the content is produced (for product description or otherwise) the content is transferred to the Hybris PIM as an overnight feed.
Once the content is in the PIM, the component controllers can lookup the relevant content from the PIM based on the appropriate tagging
Some major advantages for this pattern are:
1. Allows content to be created and consumed from multiple sources.
2. No latency in content display
3. No dependency on availability of content system to fulfill the call.
4. Synchronization issues sorted upfront. The Website has some content to show even if the synchronization fails.
Option 2: Content produced and served by the ECMS and Hybris does a page based request to content.
As the content is produced in the ECMS, we need a web adapter to retrieve the content real time.
The call to retrieve the content could either be done by the controller marked (1) or by a AJAX based call marked (2) by the loading page. The decision will be based on your latency and availability of the ECMS tool. Do forget to predict and manage the additional load on ECMS. The trick may be to create a simple Java/.net adapter on a open source server which can be easily clustered at low cost.
This pattern has its advantages:
- Single source of truth for content.
- Ease of publishing (straight from the source to consumer)
- Should work well for large and heavy content (rich media etc.)
- Low eCommerce tool cluster size as traffic is distributed
- No complex synchronization
Summary
While its possible for ECM and Hybris to co-exists, the decision should rely on why we want from both the application. However the challenges revolve around integration and the nature of content that is shared across the system. Connecting content across multiple system forms a formidable challenge and in some cases also needs updating the organisational business process to manage consistency.