Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Hybris电子商务中创建产品数据模型_Java_E Commerce_Data Modeling_Datamodel_Hybris - Fatal编程技术网

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

Java 在Hybris电子商务中创建产品数据模型,java,e-commerce,data-modeling,datamodel,hybris,Java,E Commerce,Data Modeling,Datamodel,Hybris,我正在评估不同的电子商务平台。作为这项工作的一部分,我正在评估我们目前的产品结构如何适应平台。对于IBM这样的供应商来说,这很容易,因为他们在web上公开了所有的资料。我对Hybris电子商务越来越感兴趣。然而,他们没有这样的材料。他们有一个我可以访问的私人wiki,但即使在他们的数据模型上也没有任何资料 Hybris的销售代表坚持认为他们的产品非常灵活,可以创建任何数据模型。我相信他们,但仍然有一些不应该跨越的界限,例如GUI和报告显示某些数据,OOB订单管理当然依赖于某些数据。为了充分利用O

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

Hybris的销售代表坚持认为他们的产品非常灵活,可以创建任何数据模型。我相信他们,但仍然有一些不应该跨越的界限,例如GUI和报告显示某些数据,OOB订单管理当然依赖于某些数据。为了充分利用OOB特性,我创建的数据模型必须遵循Hybris的数据模型。然而,Hybris不允许我查看他们的数据模型,所以我处于一种鸡和蛋的情况

现在我的问题是:您是否有在Hybris上建模产品结构的经验?您是如何做到这一点的?感谢大家的帮助!1!


干杯

Hybris为您选择启用的每个扩展提供了一个基本数据模型。此数据模型具有您可能期望的电子商务平台、产品、类别、分类等的所有内容

通常情况下,人们不会期望从此数据模型中删除任何内容,而是仅使用特定于应用程序的新类型和属性对其进行扩展。任何您不希望使用的现成项目或属性都无法填充它们

我的建议是从wiki下载并安装最新版本的Hybris,然后启动它(我建议使用本地MySQL数据库,因为默认的HSQLDB可能会有点慢)。设置很简单-您应该能够在Hybris wiki上找到一个指南(查看开发人员跟踪)

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


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

Hybris数据模型,或者说类型系统非常灵活。在过去的4年里,我一直在Hybris上工作,从来没有遇到过这样的情况:只要考虑建模,它就会失败。 类型系统是Hybris ORM,其中所有Java对象都以XML格式定义,同时映射到数据库表和列。支持所有java数据类型,也支持类型集合。类型系统独立于数据库的选择,即使在数据库发生更改时,items.xml也不会发生任何更改(或极少的额外配置)。例外情况是CLOB,它需要特定于DB供应商或等效的DB列数据类型配置,同样在相同的items.xml中

就Hybris关系而言,关联建模也很简单

  • 1:1->建模为Object2作为Object1的属性
  • 1:n或n:1->由具有源和目标属性的关系项建模
  • n:m->由具有源和目标属性的关系项建模,并位于单独的DB表下
  • 现在回到产品,产品有两个层次结构,可能会进入多层次结构。两个基本层次结构是产品和产品变体

    让我们为服装产品建模,可能有4种产品:

  • 产品本身就是SKU:BaseProduct
  • 产品有颜色变体:BaseProduct->ColorVariant
  • 产品具有尺寸变量:BaseProduct->SizeVariant
  • 产品具有颜色和尺寸变体:BaseProduct->ColorVariant->SizeVariant
  • 所有产品属性将保留为BaseProduct,而变体将仅保留颜色、大小和成本等不同属性

    根据产品外推变体类型,产品变体层次结构路径将增长,简单且重复最少或没有重复

    对于建模BaseProduct,唯一必须的属性是product code,其余属性都有,但可选,因此非常方便。这有助于通过工作流运行扩展过程,并有助于非常灵活的基本实现,包括对特定需求的添加范围

    通过服务层服务和加速器对GUI的开箱即用支持是值得称赞的,即使添加了定制属性的负载,也足以满足从项目到模型再到数据转换的需求。实现对从模型到数据填充的数据和数据段具有完全控制权

    根据Jasper报告从报告驾驶舱驱动报告。灵活的搜索查询是通过连接和联合定义的,甚至可以选择为报表属性值填充执行小型java代码

    在我看来,Hybris很好地涵盖了建模、转换、GUI和报告