SAP Commerce Accelerator和SAP Spartacus的技术对比
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的技术对比相关推荐
- SAP Hybris Accelerator和SAP Spartacus的比较
Spartacus: A replacement for Accelerator templates Uses modern web technologies and frameworks It's ...
- SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成
SAP Customer Data Cloud Integration Spartacus 3.2 版可用. SAP Customer Data Cloud 允许您启用自定义注册和登录,还可以管理用户 ...
- SAP Commerce Cloud如何针对Spartacus进行安装
如下图所示: network底部有1.1 MB transferred over network和5.1 MB resources loaded by the page. 这两个大小有何区别? 有中文 ...
- SAP Commerce Accelerator从2005升级到2011的步骤
官网链接 In order to upgrade B2B Accelerator, you also need to upgrade Platform, commercewebservices, an ...
- 选择 SAP Spartacus 作为 SAP Commerce Cloud Storefront 实现框架的五个理由
原文:Five Reasons to Move to a Project Spartacus JavaScript Storefront 如果您已经阅读了 SAP Commerce Cloud Pro ...
- SAP Commerce Cloud 项目 Spartacus 入门
原文地址 What is Spartacus? Spartacus 是一个免费的开源 JavaScript Web 应用程序,它于 2019 年 5 月发布了 1.0 版本,并且每隔几周就会继续发布新 ...
- SAP Commerce Cloud 架构概述
SAP Commerce Cloud Architecture 尽管我们在"SAP Commerce Cloud 入门"一文中介绍了 SAP Commerce Cloud 的一些高 ...
- SAP Commerce(SAP Hybris)学习资料汇总
版本号:v1.06 2020年11月24日 所有的架构图在这个单独的帖子里. 导航目录 SAP官方帮助文档 configuration 如何运行 Filters 容器化支持 Installer-Rec ...
- SAP Commerce Cloud CMS page 和 page template 的概念
CMS pages are laid out according to their page template. CMS 页面根据其template被布局. 在 SAP Commerce Accele ...
最新文章
- 10-flutter 使用http包请求和网络指示器
- 华夏名网:云主机的高性能和低价格可以兼得
- 网络推广专员如何通过社交能力扩宽外链渠道助力网络推广?
- python适合零基础学习吗-零基础能学好Python吗?哪些人更适合学习?
- Elasticsearch原理与调优
- c语言插入排序_还有这种操作?C语言插入排序算法,一点就透
- c语言中二维数组的结构体,怎么才能把结构体里面的二维数组打印出来?
- noi 8780 拦截导弹
- java.lang.IllegalArgumentException: requirement failed: indices should be one-based and in ascending
- 【Android】蓝牙开发——经典蓝牙:配对与解除配对 实现配对或连接时不弹出配对框
- java支持scss_Java的SASS实现?
- 向量 模(module) 范数(norm)
- 修复使用vimplus后,修改终端字体为Droid Sans Mono Nerd Font的时候虽然已经安装了但是找不到的情况
- 计算机存储有哪些类型,存储主要分为哪些类型
- Mac上最强大好用的的右键工具「超级右键」(1)
- 第十三章:摄像头接口介绍
- 2016年上半年信息系统项目管理师真题之上午题小虎趣味解答第26-30题
- Blender笔记:修复权重案例
- XD如何将喜欢的组件加入资源
- 哲学视频笔记--李小龙的精神境界2
热门文章
- Web API系列(三)统一异常处理
- HDU(1572),最短路,DFS
- SectionIndexer中的getSectionForPosition()与getPositionForSection()解惑
- 读书笔记:软件人才-管理的艺术
- Kosaraju算法(发现强连通分图算法)
- Scanner读取记事本文件内容为空的解决办法
- 雅虎网站页面性能优化的34条黄金守则 收藏
- C#不为人知的秘密-缓冲区溢出
- Groove 2007 恢复用户配置文件(grv)文件 提示过旧,解决方法
- sonar 6.2 安装配置properties文件