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的原創文章,盡在:"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2736601/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SAP Commerce Cloud Storefront 框架選型:Accelerator 還是 Spartacus?Cloud框架
- SAP 電商雲 Spartacus UI 和 Accelerator UI 裡的 ASM 模組UIASM
- SAP 電商雲 Accelerator 和 Spartacus UI 的工作機制差異UI
- SAP 電商雲 Spartacus UI Angular UI 和 Accelerator JSP UI 的混合使用UIAngularJS
- 如何在 SAP Commerce Cloud Portal 構建和部署 SAP Spartacus StorefrontCloud
- SAP Commerce Cloud Accelerator 的響應式 Theme 介紹Cloud
- SAP Commerce Cloud 專案 Spartacus 入門Cloud
- SAP Hybris Commerce的JSP tag和SAP BSP tag的比較JS
- SAP Commerce Cloud Spartacus UI 修改 primary color 的方法CloudUI
- 將您的基於 Accelerator 的 SAP 電商雲 Storefront 遷移到 Spartacus Storefront
- SAP Commerce Cloud Spartacus UI 的購物車 Cart 功能CloudUI
- SAP Commerce Cloud Spartacus UI 的高階 reducer 設計CloudUI
- SAP Commerce Cloud B2C Accelerator 架構設計概述Cloud架構
- 選擇 SAP Spartacus 作為 SAP Commerce Cloud Storefront 實現框架的五個理由Cloud框架
- SAP Spartacus 裡 對 isPlatformBrowser API 的使用PlatformAPI
- SAP Commerce Cloud Spartacus UI footer 區域的設計模型CloudUI模型
- SAP Spartacus B2B OrgUnit 和 OrgUser 的路由對映差異比較路由
- SAP Commerce Cloud Spartacus UI 的 ActionClass 資料結構設計CloudUI資料結構
- SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的整合CloudUI
- SAP Commerce Cloud SmartEdit 開啟 Spartacus home page 的網路請求Cloud
- SAP Spartacus Definition of Done
- SAP Spartacus Session affinitySession
- SAP Spartacus 的 git flow 和釋出流程Git
- SAP Spartacus 的 CSS 架構CSS架構
- SAP Spartacus的page請求
- 「SAP技術」SAP不夠嚴謹?
- SAP整合技術(十三)SAP Cloud IntegrationCloud
- SAP介面技術
- 關於 SAP Spartacus 和 SmartEdit 整合的問題
- SAP ABAP和Hybris Commerce的Sample資料
- SAP Spartacus Reference App StructureAPPStruct
- SAP的技術戰略
- 「SAP技術」SAP MM MPN物料的採購初探
- SAP Spartacus 中的 HTTP URL parametersHTTP
- SAP Spartacus NgExpressEngineDecorator 的工作原理Express
- SAP Commerce(原Hybris)的訂單處理框架和SAP CRM One Order框架框架
- SAP顧問的人脈比技術更為重要
- SAP Spartacus 和 CDC 整合的 HTTP 請求明細HTTP