21 June 2014

Hybris Data Hub


Up until now you could only exchange data with the Hybris e-commerce platform using the Hybris impex format. To communicate with external datasources (product, order, customer data...) you needed to add an ETL tool or write your own data converter.
With the upcoming 5.2 release Hybris is filling this gap with the Data Hub. The Data Hub performs asynchronous import and export of data as provided by communicating systems. It can be installed on a system separate from the Hybris e-commerce system if desired.
The Data Hub processes all data with a common strategy:

  1. Data are communicated through a Spring integration channel
    • Message or batch driven
  2. Data are stored in a raw (source) data model: a database where data are kept as CLOBs in schema-less XML-like records whose structure is close to the structure of the external source data.
    • Only an integration key is mandatory for a record
  3. Data are transformed and stored Canonical model: an implementation neutral, logical business data model that contains the master data
    • Data model structure is defined in XML
    • Easy to query with little hybris knowledge
    • Specify data transformation process
      • dependencies (e.g. process categoy taxonomy before records)
      • m-n mapping of records using grouping handlers
      • Field mapping using composition rules
      • Spring Expression Language (SpEL) can be used for custom transformations
  4. Transform data to target system format and transfer them
    • The Hybris Commerce DataHub adapter transforms the model to impex data an communicates it to the Hybris Commerce System.
Validation takes place at all stages.
Anouncements for upcoming releases (5.3...):
  • Management and monitoring cockpit
  • Ready made extensions  for specific integrations (e.g. SAP ERP) 
A separate license will be needed for this module. I understand that the development has to be payed for. Still, for me, such functionality should be in the base license of an e-commerce product. That would lead to widespread adaption and generate a more lively ecosystem of handlers and adapter for specific integrations.