使用magento apis进行电子商务网站

时间:2012-09-28 12:57:38

标签: magento e-commerce

我是magento的初学者,正在使用magento创建网站。我注意到magento有很多api,它揭示了创建电子商务网站所需的所有功能。所以,我想使用magento的apis来获取数据,但是单独开发UI而不依赖于magento。我发现很多引用通过magento主题开发网站,但不是那些在单独的MVC中开发UI并且纯粹使用magento作为服务层的引用。我的方法有任何问题/问题吗?

编辑:我已经在apis中获得了很多关于db性能问题的清晰度以及外部缓存如何缓解这个问题,但我仍然不理解magento作为服务层的不足之处(即通过使用为网站提供支持) magento的apis),还有其他任何问题吗?

4 个答案:

答案 0 :(得分:2)

Magento API很慢,尝试运行网站会遇到严重的性能问题。

由于EAV模型的复杂性,您可能会发现仅通过API管理产品很困难。

您对使用Magento自己的前端有什么特别的担忧吗?一开始这是令人生畏的,但一旦你理解了布局系统,它实际上非常强大和可定制。

答案 1 :(得分:2)

以下是我们如何克服Magento API中的缓慢问题:

  1. 在J2EE中创建了一个Web服务提供者,Spring MVC充当Magento和最终用户之间的代理。
  2. J2EE Web服务提供程序几乎暴露了Magento所拥有的所有API,但也支持带有REST的JSON以及SOAP& RPC。
  3. J2EE Web服务提供程序使用基于文档的数据库(MongoDB)在MongoDB中存储产品目录的快照。
  4. J2EE Web服务提供程序使用本机MongoDB缓存来快速提供数据,而无需运行任何昂贵的SQL查询。
  5. 为了避免脏缓存问题,我们在Magento Admin中创建了一个钩子,以便在Magento中数据发生变化时将数据推送到MongoDB。
  6. 这对某些人来说听起来有些过分,但我们已经能够在没有任何缓慢的情况下实现相当高的吞吐量。

答案 2 :(得分:1)

从技术上讲,只能通过API运行网站。

您可能遇到的问题是实际问题,而不是花时间尝试学习所有API调用,您可以学习如何在Magento中实现当前的UI。

这种方法的优势在于您还可以更好地了解Magento如何在内部工作,从而使您能够利用其功能满足您独特的业务需求。

另一个问题是,当使用API​​时,您对处理/计算事物的处理方式的控制能力会有所降低,与在Magento本身工作时相比,可以对细节进行大量控制。

答案 3 :(得分:1)

通过SOAP和XMLRPC访问Magento的API时,我经常会看到“会话过期”问题。我的所有调用都需要异常处理以避免停止执行。我认为,在API之上构建所有内容时,单独会产生噩梦。

在开始编码之前,您将获得的最佳答案是Load Test API。广泛记录测试并查找错误。如果您在正常的基础上看到错误,应该回答您的问题。即使您发现文档说可以执行您正在尝试的操作,您仍然需要调整API以便在运行存储所需的负载下正常工作。

在将数小时投入开发之前,了解你的反对意见会很好。