在我工作的公司,我们有一个比较网站。我们的“产品”是我们从内部和外部来源比较的服务。
我的问题是,我们有一个后端CMS风格的管理系统,经理和产品管理员可以添加,删除和修改产品。
当一个新的第三方公司出现并希望成为我们服务的一部分时,我们基本上放弃了他们所有产品的api,并将它们保存在我们的数据库中,仅将定价和服务可用性委托给他们的api用于实时数据。
这样做的好处(也是我们这样做的唯一原因)是允许我们的产品管理团队明确地控制产品的佣金设置和可用性(即:我们可以关闭它,并防止它通过我们的api和we服务/站点显示)。
一个明显的缺点是,如果api上的新产品可用,或者即使我们期望的产品发生变化,我们也有更多的失败点无法覆盖,然而,我遇到的主要问题(以及这篇文章的原因)是,我们有一些新的集成,有很多产品,并将它们全部输入到我们的系统中,这是根本不可行的。
我的问题是,其他人是如何处理这种产品目录集成场景的?
谢谢,G
发布于 2015-11-13 00:17:25
如果我没理解错的话,你有两个不同的选择,外加一些混合动力车。
基于应用编程接口的解决方案:您假设您所有的合作伙伴都将拥有大致相似的api (产品、数量、功能、价格等)。然后,为每个合作伙伴创建一个转换器/适配器/反损坏层,将它们的对象导入到您的模型中。有时,你的伴侣可能需要在他们这边做一些工作。这可能是最简单但也是最危险的方式,因为您可能会遇到具有完全不同和不可转换模型的合作伙伴。例如,一些拍卖门户网站没有“物品”的概念(只有拍卖/描述)。可能没有“数量”之类的内容,而只有“合作伙伴商店中的可用性”。此外,价格可能不是固定的,但取决于当前的拍卖状态或受欢迎程度(机票)。因此,当您遇到这种模型时,可能无法将其插入到您的系统中。
类似爬虫的解决方案:您几乎完全忽略了合作伙伴的。相反,你只需废弃他们的网站,为你的客户提供全文搜索。这样你不会有任何兼容性问题,但你也不会有结构化数据(价格)
混合应用编程接口:您可以使用爬虫的方式,使用任何现有的来获取任何所需的结构化信息(价格等)。您可以使用机器学习方法从废弃数据中检索所需的信息,而不是使用api。
https://stackoverflow.com/questions/33564695
复制相似问题