这是Jerry 2021年的第 21 篇文章,也是汪子熙公众号总共第 292 篇原创文章。

最近一段时间, Jerry 陆续把自己在 SAP Commerce Cloud (电商云) 新一代前台页面开发的日常工作中遇到的一些问题和心得,写成了文章:

  • 从一个实际的例子出发,谈谈SAP Commerce Cloud电商云的UI自定义开发

  • SAP Commerce Cloud (电商云) UI 的懒加载功能

  • SAP CRM Fiori 应用和 SAP Commerce Cloud (电商云) UI 如何通过调整CSS来改变UI显示风格

  • SAP 产品一脉相承的 UI 增强思路,在 SAP Commerce Cloud (电商云) UI 增强实现中的体现

有朋友在文章留言,询问是否可能在本地搭一个 SAP 电商云的运行环境,来学习基于 SAP Spartacus 的新一代电商云前台 ( SAP Spartacus ) 的设计。

这个愿望当然是可以实现的。SAP Commerce Cloud (电商云) 的部署方式非常灵活:不仅能托管在 SAP 自己的基础设施 (infrastructure) 上,也能架设在第三方公有云上。当然,也仍然支持采用以前传统的 Hybris On-Premises 本地部署方式。

实际上,SAP Spartacus 的帮助网站上,给出了如何在本地搭建 SAP Commerce Cloud 前后台运行环境的具体步骤:

https://sap.github.io/spartacus-docs/building-the-spartacus-storefront-from-libraries/

Jerry 自己试过,只要按照网页里描述的步骤一步步操作,如果一切顺利的话,一个小时之内,即可完成 SAP 电商云前后台的搭建,得到一个能够正常运行的环境。

首先从 SAP Software Center 网站下载 SAP Commerce Cloud 的安装包,我选择的是 2011版本:

https://launchpad.support.sap.com/#/softwarecenter/template/products/_APP=00200682500000001943&_EVENT=NEXT&HEADER=Y&FUNCTIONBAR=Y&EVENT=TREE&NE=NAVIGATE&ENR=67837800100800007216&V=MAINT&TA=ACTUAL/SAP%20COMMERCE

2105 版本的在这里。

将下载到本地的安装包解压,按照下列文档介绍的步骤,在 installer/recipes 文件夹内基于 cx 拷贝一个新的文件夹 cx-for-spa 出来,从而新建了一个基于 Spartacus 的安装 recipes.

https://sap.github.io/spartacus-docs/installing-sap-commerce-cloud-2011/

将该 recipes 目录内的 build.gradle 文件内,extensions 列表区域的 spartacussampledata 的注释去掉,从而让该 recipes 启用对 SAP Spartacus 的支持。

接下来是 SAP Commerce 安装的老三样了。进入文件夹:

C:\Code\H2011\installer

依次执行下列三个命令:

  • ./install.sh -r cx-for-spa
  • ./install.sh -r cx-for-spa initialize
  • ./install.sh -r cx-for-spa start

cx-for-spa recipe里启用的 spartacussampledata extension,里面包含了很多测试数据。在上面第二条命令,进行 Commerce 平台 initialization 时,会将这些测试数据导入 SAP Commerce 的数据库。

安装完毕后,浏览器里使用 localhost 的主机名,检查本地安装的 SAP Commerce,其 Admin Console,Backoffice 和 基于 JSP 的 Accelerator Storefront 是否能够正常打开:

  • Admin Console: https://localhost:9002
  • Backoffice: https://localhost:9002/backoffice
  • Accelerator Storefront: https://localhost:9002/yacceleratorstorefront/?site=electronics

这三个 url 打开的界面外观依次如下三个截图所示:

上图就是基于 JSP 技术的 SAP Commerce 传统的 Accelerator Storefront,按照 SAP 官网的说法,Accelerator Storefront 终究将会被 SAP Commerce 新一代的 Spartacus UI 所取代。

https://sap.github.io/spartacus-docs/spartacus-faq/

下面进行 SAP Spartacus 的安装。

https://sap.github.io/spartacus-docs/building-the-spartacus-storefront-from-libraries/

步骤和 SAP Commerce 的安装流程相比简单了不少,一个命令就能搞定。不过要注意,安装之前,确保下面罗列的三个工具,在本地具有文档内规定的版本号:

  • Angular CLI
  • Node.js
  • Yarn

首先 ng new samplestore, 创建一个名为 samplestore 的 Angular 应用:

进入创建好的 samplestore 目录,使用下面的命令行,能够安装默认支持 B2C 功能的 Spartacus Storefront:

ng add @spartacus/schematics

如果想支持 B2B 功能,待上面的命令行成功执行完毕后,再执行下面的命令行:

ng add @spartacus/organization

所有的命令行成功执行完毕后,打开 app.module.ts 文件,将配置节点 backend.occ.baseUrl 字段指定为我们本地安装的 SAP Commerce 实例即可:

https://localhost:9002

还记得之前 Jerry 的文章:Jerry在2020 SAP全球技术大会的分享:SAP Spartacus技术介绍的文字版 里介绍的一点:SAP Spartacus 100% 的 API 驱动特性么?

SAP Spartacus 正是通过这个配置好的 https://localhost:9002/occ/v2 endpoint, 调用 Angular 提供的 HTTP 库,消费本地安装的 SAP Commerce 提供的 Restful API, 将数据呈现在用 Angular 开发而成的 Spartacus 单页面应用里。

ng serve 命令启用这个安装好的 Angular 应用,在 Chrome 开发者工具 Network 标签里,能观察到 SAP Spartacus 的 Restful API 调用。

如果大家在搭建 SAP Commerce Cloud 前后台运行环境时遇到问题,欢迎留言讨论。

感谢阅读。

更多阅读

  • 从产品展示页面谈谈Hybris的特有概念和设计结构

  • 从产品展示页面谈谈Hybris系列之二: DTO, Converter和Populator

  • Hybris Enterprise Commerce Platform 服务层的设计与实现

  • 从一个实际的例子出发,谈谈SAP Commerce Cloud电商云的UI自定义开发

  • SAP Commerce Cloud (电商云) UI 的懒加载功能

  • SAP CRM Fiori 应用和 SAP Commerce Cloud (电商云) UI 如何通过调整CSS来改变UI显示风格

  • SAP 产品一脉相承的 UI 增强思路,在 SAP Commerce Cloud (电商云) UI 增强实现中的体现

  • Jerry在2020 SAP全球技术大会的分享:SAP Spartacus技术介绍的文字版

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

一小时内在本地搭建 SAP Commerce Cloud(电商云)的前后台运行环境相关推荐

  1. SAP Commerce Cloud ( 电商云 ) 路由路径的自定义配置与开发

    这是Jerry 2021年的第 24 篇文章,也是汪子熙公众号总共第 295 篇原创文章. 最近看到 SAP天天事 公众号发布的一篇文章: 基于 SAP Commerce Cloud,老娘舅构建的餐饮 ...

  2. SAP 产品一脉相承的 UI 增强思路,在 SAP Commerce Cloud(电商云) UI 增强实现中的体现

    本文首先快速回顾几种 SAP 产品中的 UI 增强思路,然后具体介绍该思路是如何在 SAP Commerce Cloud(电商云) UI 增强中贯彻实施的. Jerry 之前的文章:Jerry 在 2 ...

  3. SAP CRM Fiori 应用和 SAP Commerce Cloud (电商云) UI 如何通过调整 CSS 来改变UI显示风格

    这是Jerry 2021年的第 19 篇文章,也是汪子熙公众号总共第 290 篇原创文章. 本文分别针对 SAP CRM Fiori 应用和 SAP Commerce Cloud (电商云) UI,介 ...

  4. SAP Commerce Cloud (电商云) UI 的懒加载功能

    最近工作中处理了 SAP Commerce Cloud (电商云) UI 的一个懒加载 (Lazy Load) 功能的问题,这里把自己学到的东西做个记录. UI 懒加载,有时又称惰性加载,延迟加载,是 ...

  5. 从一个实际的例子出发,谈谈SAP Commerce Cloud电商云的UI自定义开发

    昨天 Jerry 读到了 SAP天天事 公众号上发布的一篇文章:多家知名企业选择 SAP Commerce Cloud 为客户提供卓越购物体验. SAP 日前宣布,锦江国际旗下的全球酒店供应链平台锦江 ...

  6. SAP Commerce Cloud UI 的用户会话管理

    这是 Jerry 2021 年的第 51 篇文章,也是汪子熙公众号总共第 328 篇原创文章. 如无特殊说明,本公众号介绍的 SAP Commerce Cloud UI,均指新一代基于 Spartac ...

  7. SAP Commerce Cloud UI(Spartacus Storefront) 的用户会话管理

    这是 Jerry 2021 年的第 51 篇文章,也是汪子熙公众号总共第 328 篇原创文章. 如无特殊说明,本公众号介绍的 SAP Commerce Cloud UI,均指新一代基于 Spartac ...

  8. SAP ABAP 业务开关和 SAP 电商云的 Feature Level

    这是 Jerry 2021 年的第 72 篇文章,也是汪子熙公众号总共第 349 篇原创文章. 基于 ABAP 技术栈的 SAP 产品,客户可以通过安装 Enhancement Package(增强包 ...

  9. 本地启动 SAP Commerce Cloud(Hybris) 产生的五个 Java 进程

    五个 Java 进程: 第一个 目录:c:\Code\H2011\installer\ 命令行: "C:\Program Files\SapMachine\JDK\11\bin\java.e ...

最新文章

  1. mysql 5.6 online ddl_mysql5.6的online ddl功能测试
  2. ubuntu 14.04 LTS 右键菜单解压压缩包时出错
  3. dsp28335读地址c语言写法,dsp 28335 教程 附录4 dsp的c语言.ppt
  4. script标签属性用type还是language?
  5. click 在网页测试手机模式下无效,不能执行。调成非手机模式即可
  6. 安装和启动mysql
  7. 负载均衡原理与实践详解 第三篇 服务器负载均衡的基本概念-网络基础
  8. 空调开28度,一晚上会消耗多少电?空调耗电量与什么有关?
  9. DES加密/解密类。
  10. 改变浏览器窗口的大小和位置
  11. 明小子动力上传拿webshell.zip
  12. 51单片机驱动继电器模块点灯
  13. 粗识计算机--Java学习Day01
  14. [无视][mark]退役记
  15. PayPal和Payssion有什么差别?
  16. C语言求两个时间的时差
  17. 苹果手机充电孔变松了_用iPhone 12的MagSafe无线充电器给安卓充电?苹果:你想多了|充电器|手机|安卓手机|iphone...
  18. 全志V853开发板移植基于 LVGL 的 2048 小游戏
  19. 2020-9-4 明日方舟抽卡模拟器修改
  20. 达梦单机到DSC集群DMHS部署

热门文章

  1. lamp架构-访问控制-禁止php解析、屏蔽curl命令访问
  2. 10 个最佳的 Node.js 的 MVC 框架
  3. 《信息存储与管理(第二版):数字信息的存储、管理和保护》—— 2.12 闪存盘简介...
  4. Android接入百度自动更新SDK
  5. PL/SQL - 03
  6. IIS企业案例系列之七:发布Exchange OWA之SSL桥接模式
  7. 2.Strings and Console Output(字符串与输出)
  8. webservice用cxf发布SOAP
  9. JMS学习七(ActiveMQ之Topic的持久订阅)
  10. Java对象的创建过程:类的初始化与实例化