Accelerator是Spartacus发布之前,SAP Commerce Cloud使用的Storefront实现。Accelerator是一个开箱即用的web实现模板,是Commerce平台的一部分,以源代码的方式交付给客户。客户通过一个叫做module generator的工具,基于Accelerator 模板代码生成自己的Storefront实现。Accelerator这种同Commerce平台的紧耦合关系,以及基于源代码级别的二次开发方式,给Commerce项目实施的可升级性带来很大的挑战。例如,当客户发现新版本的Accelerator能满足自己新的业务需求时,希望升级Accelerator. 然而由于Accelerator是Commerce平台的一部分,所以必须先升级整个Commerce,再使用module generator基于高版本的Accelerator代码生成自定义实现,再把基于低版本Accelerator模板而进行的二次开发,逐一手动迁移到高版本Accelerator生成的自定义实现中去。当Commerce的二次开发达到一定规模量时,这种手动升级的方式很挑战。

Accelerator具有的这些缺陷,在Spartacus问世之后都迎刃而解。
Accelerator通过源代码的方式提供了一个Storefront的开发模板,而Spartacus则以库的方式,提供了一个轻型的Storefront开发框架。我们新建一个Angular应用,导入对Spartacus库的依赖,当我们需要升级Spartacus时,只需要更新Angular应用的package.json里Spartacus库文件的版本号即可,因此从Spartacus从可升级性上来说是一个巨大的飞跃。
Spartacus采用API的方式同Commerce交互,这使得Spartacus可以同Commerce分开部署,分别进行升级,比如目前已经发布的Spartacus 3.0,支持从Commerce 1808开始及其之后的所有版本。
Spartacus采用Angular开发,编译之后生成JavaScript作为其运行时语言,这样一来,使用Spartacus的二次开发人员,不再需要过去开发Accelerator那样具备前端JSP和后端Java的全栈开发技术栈。
Accelerator的可扩展性,是通过牺牲可升级性为代价换来的。同Accelerator只有源代码级别的修改这一单一的扩展方式相比,Spartacus实现扩展性的手段更加多元化

(1) Spartacus的模块之一,ConfigModule,将业务逻辑和页面布局以及样式,通过配置的方式暴露出来,二次开发人员通过调整配置,可以更改Spartacus默认的行为和页面布局以及样式。
(2) Spartacus的页面布局由不同的Angular Component组成,这些Angular Component同Commerce的CMS Component具有一一对应关系。Spartacus允许二次开发人员增强甚至开发新的Angular Component,去替换Spartacus发布时使用的默认Component,以次来实现客户的页面定制化需求。
(3) 借助Angular强大的依赖注入机制,Spartacus允许开发人员像Commerce后台开发人员使用Java Spring框架那样,开发自己的service实现,通过Angular的Dependency Injection机制,注入自开发的service,从而达到定制化Spartacus的运行流程和逻辑的需求。

更多Jerry的原创文章,尽在:“汪子熙”:

SAP Commerce Accelerator和SAP Spartacus的技术对比相关推荐

  1. SAP Hybris Accelerator和SAP Spartacus的比较

    Spartacus: A replacement for Accelerator templates Uses modern web technologies and frameworks It's ...

  2. SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成

    SAP Customer Data Cloud Integration Spartacus 3.2 版可用. SAP Customer Data Cloud 允许您启用自定义注册和登录,还可以管理用户 ...

  3. SAP Commerce Cloud如何针对Spartacus进行安装

    如下图所示: network底部有1.1 MB transferred over network和5.1 MB resources loaded by the page. 这两个大小有何区别? 有中文 ...

  4. SAP Commerce Accelerator从2005升级到2011的步骤

    官网链接 In order to upgrade B2B Accelerator, you also need to upgrade Platform, commercewebservices, an ...

  5. 选择 SAP Spartacus 作为 SAP Commerce Cloud Storefront 实现框架的五个理由

    原文:Five Reasons to Move to a Project Spartacus JavaScript Storefront 如果您已经阅读了 SAP Commerce Cloud Pro ...

  6. SAP Commerce Cloud 项目 Spartacus 入门

    原文地址 What is Spartacus? Spartacus 是一个免费的开源 JavaScript Web 应用程序,它于 2019 年 5 月发布了 1.0 版本,并且每隔几周就会继续发布新 ...

  7. SAP Commerce Cloud 架构概述

    SAP Commerce Cloud Architecture 尽管我们在"SAP Commerce Cloud 入门"一文中介绍了 SAP Commerce Cloud 的一些高 ...

  8. SAP Commerce(SAP Hybris)学习资料汇总

    版本号:v1.06 2020年11月24日 所有的架构图在这个单独的帖子里. 导航目录 SAP官方帮助文档 configuration 如何运行 Filters 容器化支持 Installer-Rec ...

  9. SAP Commerce Cloud CMS page 和 page template 的概念

    CMS pages are laid out according to their page template. CMS 页面根据其template被布局. 在 SAP Commerce Accele ...

最新文章

  1. 10-flutter 使用http包请求和网络指示器
  2. 华夏名网:云主机的高性能和低价格可以兼得
  3. 网络推广专员如何通过社交能力扩宽外链渠道助力网络推广?
  4. python适合零基础学习吗-零基础能学好Python吗?哪些人更适合学习?
  5. Elasticsearch原理与调优
  6. c语言插入排序_还有这种操作?C语言插入排序算法,一点就透
  7. c语言中二维数组的结构体,怎么才能把结构体里面的二维数组打印出来?
  8. noi 8780 拦截导弹
  9. java.lang.IllegalArgumentException: requirement failed: indices should be one-based and in ascending
  10. 【Android】蓝牙开发——经典蓝牙:配对与解除配对 实现配对或连接时不弹出配对框
  11. java支持scss_Java的SASS实现?
  12. 向量 模(module) 范数(norm)
  13. 修复使用vimplus后,修改终端字体为Droid Sans Mono Nerd Font的时候虽然已经安装了但是找不到的情况
  14. 计算机存储有哪些类型,存储主要分为哪些类型
  15. Mac上最强大好用的的右键工具「超级右键」(1)
  16. 第十三章:摄像头接口介绍
  17. 2016年上半年信息系统项目管理师真题之上午题小虎趣味解答第26-30题
  18. Blender笔记:修复权重案例
  19. XD如何将喜欢的组件加入资源
  20. 哲学视频笔记--李小龙的精神境界2

热门文章

  1. Web API系列(三)统一异常处理
  2. HDU(1572),最短路,DFS
  3. SectionIndexer中的getSectionForPosition()与getPositionForSection()解惑
  4. 读书笔记:软件人才-管理的艺术
  5. Kosaraju算法(发现强连通分图算法)
  6. Scanner读取记事本文件内容为空的解决办法
  7. 雅虎网站页面性能优化的34条黄金守则 收藏
  8. C#不为人知的秘密-缓冲区溢出
  9. Groove 2007 恢复用户配置文件(grv)文件 提示过旧,解决方法
  10. sonar 6.2 安装配置properties文件