在Hybris电子商务上创建产品数据模型

时间:2012-11-09 08:56:29

标签: java e-commerce data-modeling datamodel hybris

我正在评估不同的电子商务平台。作为这项工作的一部分,我正在评估我们目前的产品结构如何适合平台。对于像IBM这样的供应商来说,这很简单,因为他们在网上公开了所有材料。我对Hybris电子商务越来越感兴趣。然而,它们没有任何可用的材料。他们有一个我可以访问的私人wiki,但即使他们的数据模型没有任何材料。

Hybris的代表继续坚持认为他们的产品非常灵活,可以创建任何数据模型。我相信它们但是仍然存在不应该跨越的界限,例如GUI和报告显示某些数据,OOB订单管理肯定依赖于某些数据。为了充分利用OOB功能,我创建的数据模型必须遵循Hybris的数据模型。然而,Hybris不允许我看到他们的数据模型,所以我处于鸡和鸡蛋的情况。

  

现在我的问题是:您是否有在Hybris上建模产品结构的经验,您是如何接近这一点的?所有帮助表示赞赏!1!

干杯!

2 个答案:

答案 0 :(得分:11)

Hybris数据模型或者说TYPE SYSTEM非常灵活。我一直在为Hybris工作4年,并且从未遇到过只要涉及建模就会失败的情况。 Type System是Hybris ORM,其中所有Java对象都以XML格式定义,同时映射到数据库表和列。支持所有java数据类型,也支持类型集合。类型系统独立于数据库的选择,即使在数据库更改时,也几乎没有任何更改(或非常小的额外配置)到items.xml。异常将是CLOB,它将需要DB供应商特定或等效的DB列数据类型配置,再次在相同的items.xml中。

建模关联在Hybris关系方面也很简单

  1. 1:1 - >建模为Object2作为Object1的属性
  2. 1:n或n:1 - >由具有源和目标属性的关系项建模
  3. n:m - >由具有Source和Target属性的Relation项建模,并在单独的DB表
  4. 下建模

    现在回到产品,产品有两个层次结构,可能会进入多层次结构。 2个基本层次结构是Product& Co.产品变体。

    让我们为服装设计产品,可能有4种产品:

    1. 产品本身是SKU:BaseProduct
    2. 产品有颜色变体:BaseProduct - > ColorVariant
    3. 产品有尺寸变体:BaseProduct - > SizeVariant
    4. 产品有颜色和尺寸变体:BaseProduct - > ColorVariant - > SizeVariant
    5. 所有产品属性都将保留BaseProduct,Variants将只保留不同的属性,如颜色,大小和成本。

      根据产品推断变体的类型,Product-Variant层次结构路径将增长,简单,最小或不重复。

      对于BaseProduct的建模,唯一的属性是产品代码,其余的是可选的,非常方便。这有助于通过工作流程运行浓缩过程,并有助于实现非常灵活的基础实施,并增加了特定要求的范围。

      开箱即用支持GUI通过服务层服务和加速器是值得称道的,即使添加了大量自定义属性,同样也足以满足它从ITEM驱动到MODEL然后数据转换。实施完全控制要从模型到数据填充的数据和数据段。

      根据Jasper报告,报告由报告驾驶舱驱动。使用JOINS和UNIONS定义灵活的搜索查询,甚至可以选择为报告属性值填充执行小的Java代码。

      建模,转换,GUI和报告,在我看来,Hybris都非常清楚。

答案 1 :(得分:3)

Hybris开箱即用,为您选择启用的每个分机提供基本数据模型。此数据模型包含您对电子商务平台,产品,类别,分类等所有​​期望的所有内容。

通常,人们不希望从此数据模型中删除任何内容,而只是使用特定于您的应用程序的新类型和属性来扩展它。您不想使用的任何开箱即用的项目或属性都不能填充它们。

我的建议是从wiki下载并安装最新版本的Hybris并启动它(我建议使用本地MySQL数据库,因为默认的HSQLDB可能有点慢)。设置很简单 - 你应该能够找到关于Hybris维基的指南(看看开发人员的踪迹)。

完成此操作后,请查看各种驾驶舱,了解如何设置演示店面。 HMC(http://localhost:9001/hmc/hybris)应该让您对数据模型有一个良好的印象,因为它的组织与下面的数据模型紧密相关。

我建议您尽可能使用标准的Hybris类型,因为它可以让您使用提供各种业务用户界面的标准驾驶舱。