开源项目 Spartacus 同 Commerce Cloud 交互的流程讲解
【摘要】 这是一张Spartacus同Commerce交互的示意图。我们首先看图的最右边。Spartacus同Commerce系统的通信,通过HTTP协议调用OCC API完成。Connector是HTTP调用的发起者,维护了静态的配置信息,即API的endpoint.比如,从Commerce系统读取产品主数据,读取的字段列表以url参数的形式出现在API endpoint里。这些字段列表可以在Con...
这是一张Spartacus同Commerce交互的示意图。我们首先看图的最右边。Spartacus同Commerce系统的通信,通过HTTP协议调用OCC API完成。Connector是HTTP调用的发起者,维护了静态的配置信息,即API的endpoint.
比如,从Commerce系统读取产品主数据,读取的字段列表以url参数的形式出现在API endpoint里。这些字段列表可以在Connector的静态配置点里进行配置。Connector并不会直接同Commerce交互,而是把请求转发给Adapter,具体通信由Adapter完成,Connector只负责调度Adapter. Spartacus发布的Adapter默认使用OCC Module,即Commerce标准的OCC Restful API,但是客户也可以实现自己的Adapter,连接Commerce之外的其他后台系统。
Connector将Adapter取回的数据交给NgRx的store结构统一管理,后者的复杂度被Façade层所隐藏,而Spartacus UI组件只会同Façade层交互,进行数据绑定和页面展示。这体现了关注点分离的设计原则。最后,因为UI组件和Commerce后台组件的数据模型存在差异,因此需要Converter,在数据从Commerce取回,准备呈现在UI之前,先要通过Converter转换成适合UI展示的结构;反之,在Spartacus提交数据准备写回Commerce时,也要先将数据通过Converter转换成OCC API接受的数据格式。
Connector 逻辑位于内存数据存储和后端 Commerce Cloud 服务器之间。 每个域都使用一个特定的 Connector 来解耦与后端系统的连接。 例如,产品连接器负责加载产品详细信息。
为了提供最佳的灵活性,连接到后端系统涉及三个实体:连接器(Connector)、适配器(Adapter)和转换器(Converter)。 但是请注意,当使用非 SAP Commerce Cloud 的其他第三方系统时,并非所有这三种实体都必须参与。
以上就是跨不同框架和技术堆栈的常见模式,尽管不同的上下文里可能会使用不同的名称(例如,Populator 或 Serializer器而不是 Converter)。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)